|
|
@@ -1655,11 +1655,15 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index, |
|
|
|
if (timestamp < 0) |
|
|
|
timestamp = 0; |
|
|
|
|
|
|
|
if ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) { |
|
|
|
if (st->nb_index_entries) |
|
|
|
url_fseek(s->pb, st->index_entries[st->nb_index_entries-1].pos, SEEK_SET); |
|
|
|
while ((index = av_index_search_timestamp(st, timestamp, flags)) < 0) { |
|
|
|
matroska_clear_queue(matroska); |
|
|
|
if (matroska_parse_cluster(matroska) < 0) |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
matroska_clear_queue(matroska); |
|
|
|
if (index < 0) |
|
|
|