playsinkconvertbin: Don't send undefined NEWSEGMENT events to the internal elements

This happens when the internal elements are added before any NEWSEGMENT
event arrived and in that case we shouldn't send a NEWSEGMENT event
to the internal elements at all. They will get the NEWSEGMENT event
from upstream later.
This commit is contained in:
Sebastian Dröge 2011-11-30 14:25:11 +01:00
parent e7853d3a3d
commit 21b252727d

View file

@ -84,16 +84,18 @@ distribute_running_time (GstElement * element, const GstSegment * segment)
gst_pad_send_event (pad, gst_event_new_flush_start ()); gst_pad_send_event (pad, gst_event_new_flush_start ());
gst_pad_send_event (pad, gst_event_new_flush_stop ()); gst_pad_send_event (pad, gst_event_new_flush_stop ());
if (segment->accum) { if (segment->accum && segment->format != GST_FORMAT_UNDEFINED) {
event = gst_event_new_new_segment_full (FALSE, segment->rate, event = gst_event_new_new_segment_full (FALSE, segment->rate,
segment->applied_rate, segment->format, 0, segment->accum, 0); segment->applied_rate, segment->format, 0, segment->accum, 0);
gst_pad_send_event (pad, event); gst_pad_send_event (pad, event);
} }
event = gst_event_new_new_segment_full (FALSE, segment->rate, if (segment->format != GST_FORMAT_UNDEFINED) {
segment->applied_rate, segment->format, event = gst_event_new_new_segment_full (FALSE, segment->rate,
segment->start, segment->stop, segment->time); segment->applied_rate, segment->format,
gst_pad_send_event (pad, event); segment->start, segment->stop, segment->time);
gst_pad_send_event (pad, event);
}
gst_object_unref (pad); gst_object_unref (pad);
} }