vp8dec: use is_alt_data option to prevent timestamp collisions
authorOleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
Wed, 4 Jan 2012 10:05:48 +0000 (11:05 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Tue, 10 Jan 2012 07:49:15 +0000 (08:49 +0100)
altref/invisible frames usually stored in container with same timestamp as
dependet frame. This make basevideodecoder to update timestamp for dependet
frame and couse TS colision on next frame:

                 ^- here is altref
time     : 1 2 3 4 5 6 7 8 9
webm ts  : 1   3 5 5   7   9
vp8dec ts: 1   3   7   7   9

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
ext/vp8/gstvp8dec.c

index e3a2fd9..68abfec 100644 (file)
@@ -495,6 +495,7 @@ gst_vp8_dec_handle_frame (GstBaseVideoDecoder * decoder, GstVideoFrame * frame)
     }
   } else {
     /* Invisible frame */
+    frame->decode_only = 1;
     gst_base_video_decoder_finish_frame (decoder, frame);
   }