diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/faad/gstfaad.c | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2008-06-02 Wim Taymans <wim.taymans@collabora.co.uk> + + * ext/faad/gstfaad.c: (gst_faad_sink_event): + Always drain before activating the new segment. + 2008-06-02 Sebastian Dröge <slomo@circular-chaos.org> * gst/interleave/interleave.c: (gst_interleave_pad_get_type), diff --git a/ext/faad/gstfaad.c b/ext/faad/gstfaad.c index 178ff642..f1ba39f6 100644 --- a/ext/faad/gstfaad.c +++ b/ext/faad/gstfaad.c @@ -896,6 +896,9 @@ gst_faad_sink_event (GstPad * pad, GstEvent * event) gst_event_parse_new_segment (event, &is_update, &rate, &fmt, &start, &end, &base); + /* drain queued buffers before we activate the new segment */ + gst_faad_drain (faad); + if (fmt == GST_FORMAT_TIME) { GST_DEBUG ("Got NEWSEGMENT event in GST_FORMAT_TIME, passing on (%" GST_TIME_FORMAT " - %" GST_TIME_FORMAT ")", GST_TIME_ARGS (start), @@ -921,9 +924,6 @@ gst_faad_sink_event (GstPad * pad, GstEvent * event) } gst_event_unref (event); - /* drain queued buffers before we activate the new segment */ - gst_faad_drain (faad); - event = gst_event_new_new_segment (is_update, rate, GST_FORMAT_TIME, new_start, new_end, new_start); |