mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 04:52:28 +00:00
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
This commit is contained in:
parent
5adbc1e4c0
commit
89a24bd36f
1 changed files with 4 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue