From: Jan Schmidt Date: Fri, 12 Nov 2010 12:59:06 +0000 (+1100) Subject: deinterlace: Flush QoS and history before applying segment X-Git-Tag: RELEASE-0.10.26~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=89a24bd36fd6707746879d46fc5c06137ebbf206;p=platform%2Fupstream%2Fgst-plugins-good.git deinterlace: Flush QoS and history before applying segment When handling newsegment, flush out the buffer history in the existing segment, not the new one. Fixes playback in some DVD cases. Partially fixes #633294 --- diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c index fdf8615..2a9f420 100644 --- a/gst/deinterlace/gstdeinterlace.c +++ b/gst/deinterlace/gstdeinterlace.c @@ -1492,6 +1492,10 @@ gst_deinterlace_sink_event (GstPad * pad, GstEvent * event) gst_event_parse_new_segment_full (event, &is_update, &rate, &applied_rate, &fmt, &start, &end, &base); + + gst_deinterlace_reset_qos (self); + gst_deinterlace_reset_history (self, FALSE); + if (fmt == GST_FORMAT_TIME) { GST_DEBUG_OBJECT (pad, "Got NEWSEGMENT event in GST_FORMAT_TIME, passing on (%" @@ -1503,8 +1507,6 @@ gst_deinterlace_sink_event (GstPad * pad, GstEvent * event) gst_segment_init (&self->segment, GST_FORMAT_UNDEFINED); } - gst_deinterlace_reset_qos (self); - gst_deinterlace_reset_history (self, FALSE); res = gst_pad_push_event (self->srcpad, event); break; }