basetransform: do not delay sparse stream newsegment updates

This commit is contained in:
Mark Nauwelaerts 2011-12-19 17:38:18 +01:00
parent b3886b7935
commit 78565da18b

View file

@ -2220,6 +2220,19 @@ gst_base_transform_sink_event (GstPad * pad, GstEvent * event)
} else {
delay = GST_EVENT_IS_SERIALIZED (event) && !caps_set
&& GST_EVENT_TYPE (event) != GST_EVENT_EOS;
/* do not stall sparse stream update newsegment events */
if (delay && (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT)) {
gboolean update;
gst_event_parse_new_segment_full (event, &update, NULL, NULL, NULL,
NULL, NULL, NULL);
if (update) {
GST_DEBUG_OBJECT (trans, "update segment; triggering delayed events");
delay = FALSE;
caps_set = TRUE;
}
}
}
if (delay) {