]> git.sesse.net Git - ffmpeg/commitdiff
matroskadec: support seek to non keyframes
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Feb 2013 20:34:35 +0000 (21:34 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Feb 2013 20:48:48 +0000 (21:48 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/matroskadec.c

index 1a15558fad4e65dd4a79dfade5ec5f37e06e633f..294e38c33b34c31aeedef5fdac1163c7316e99a4 100644 (file)
@@ -2418,9 +2418,14 @@ static int matroska_read_seek(AVFormatContext *s, int stream_index,
 
     avio_seek(s->pb, st->index_entries[index_min].pos, SEEK_SET);
     matroska->current_id = 0;
-    st->skip_to_keyframe =
-    matroska->skip_to_keyframe = !(flags & AVSEEK_FLAG_ANY);
-    matroska->skip_to_timecode = st->index_entries[index].timestamp;
+    if (flags & AVSEEK_FLAG_ANY) {
+        st->skip_to_keyframe = 0;
+        matroska->skip_to_timecode = timestamp;
+    } else {
+        st->skip_to_keyframe = 1;
+        matroska->skip_to_timecode = st->index_entries[index].timestamp;
+    }
+    matroska->skip_to_keyframe = 1;
     matroska->done = 0;
     matroska->num_levels = 0;
     ff_update_cur_dts(s, st, st->index_entries[index].timestamp);