gst-plugins-bad: vp8dec: use is_alt_data option to prevent timestamp collisions

Sebastian Dröge slomo at kemper.freedesktop.org
Mon Jan 9 23:49:23 PST 2012


Module: gst-plugins-bad
Branch: master
Commit: 3d34779e2401598ac7f49fedda75d852e98c7bd6
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=3d34779e2401598ac7f49fedda75d852e98c7bd6

Author: Oleksij Rempel (Alexey Fisher) <bug-track at fisher-privat.net>
Date:   Wed Jan  4 11:05:48 2012 +0100

vp8dec: use is_alt_data option to prevent timestamp collisions

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 at fisher-privat.net>

---

 ext/vp8/gstvp8dec.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/ext/vp8/gstvp8dec.c b/ext/vp8/gstvp8dec.c
index e3a2fd9..68abfec 100644
--- a/ext/vp8/gstvp8dec.c
+++ b/ext/vp8/gstvp8dec.c
@@ -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);
   }
 



More information about the gstreamer-commits mailing list