|
|
@@ -2101,6 +2101,8 @@ void ff_configure_buffers_for_index(AVFormatContext *s, int64_t time_tolerance) |
|
|
|
//We could use URLProtocol flags here but as many user applications do not use URLProtocols this would be unreliable |
|
|
|
const char *proto = avio_find_protocol_name(s->url); |
|
|
|
|
|
|
|
av_assert0(time_tolerance >= 0); |
|
|
|
|
|
|
|
if (!proto) { |
|
|
|
av_log(s, AV_LOG_INFO, |
|
|
|
"Protocol name not provided, cannot determine if input is local or " |
|
|
@@ -2128,7 +2130,7 @@ void ff_configure_buffers_for_index(AVFormatContext *s, int64_t time_tolerance) |
|
|
|
for (; i2 < st2->nb_index_entries; i2++) { |
|
|
|
AVIndexEntry *e2 = &st2->index_entries[i2]; |
|
|
|
int64_t e2_pts = av_rescale_q(e2->timestamp, st2->time_base, AV_TIME_BASE_Q); |
|
|
|
if (e2_pts - e1_pts < time_tolerance) |
|
|
|
if (e2_pts < e1_pts || e2_pts - (uint64_t)e1_pts < time_tolerance) |
|
|
|
continue; |
|
|
|
pos_delta = FFMAX(pos_delta, e1->pos - e2->pos); |
|
|
|
break; |
|
|
|