summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Hervey <edward@collabora.com>2013-07-17 16:17:54 +0200
committerEdward Hervey <edward@collabora.com>2013-07-17 16:17:54 +0200
commit576fe462bc51a2d2f71236cf95777be061ee2fae (patch)
treebf4b692faa85b4c2946170c13fc4c10ecc07580b
parentcfb87c7638a2c11187d81fdf362a4b71eda1953d (diff)
mpeg2dec: Properly reset on sequence changes
Otherwise we end up using stray data/buffers. Fixes #690701
-rw-r--r--ext/mpeg2dec/gstmpeg2dec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/mpeg2dec/gstmpeg2dec.c b/ext/mpeg2dec/gstmpeg2dec.c
index 87308dd1..502910e8 100644
--- a/ext/mpeg2dec/gstmpeg2dec.c
+++ b/ext/mpeg2dec/gstmpeg2dec.c
@@ -984,6 +984,8 @@ gst_mpeg2dec_handle_frame (GstVideoDecoder * decoder,
#if MPEG2_RELEASE >= MPEG2_VERSION (0, 5, 0)
case STATE_SEQUENCE_MODIFIED:
GST_DEBUG_OBJECT (mpeg2dec, "sequence modified");
+ mpeg2dec->discont_state = MPEG2DEC_DISC_NEW_PICTURE;
+ gst_mpeg2dec_clear_buffers (mpeg2dec);
/* fall through */
#endif
case STATE_SEQUENCE: