From 226d96f10715e7b25754e6bf423100cc7382983f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 23 Sep 2012 12:42:01 +0100 Subject: [PATCH] collectpads: don't forward random stream-start event It's not right, and we don't know what extra properties that event might have set in future (e.g. sparseness). This change means collectpad users need to create their own stream-start event now. We could add a utility function that creates a stream-start event based on the input stream-start events. --- libs/gst/base/gstcollectpads.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c index 32855fd..dfd46b8 100644 --- a/libs/gst/base/gstcollectpads.c +++ b/libs/gst/base/gstcollectpads.c @@ -107,7 +107,6 @@ struct _GstCollectPadsPrivate { /* with LOCK and/or STREAM_LOCK */ gboolean started; - gboolean stream_started; /* with STREAM_LOCK */ guint32 cookie; /* @data list cookie */ @@ -234,7 +233,6 @@ gst_collect_pads_init (GstCollectPads * pads) pads->priv->queuedpads = 0; pads->priv->eospads = 0; pads->priv->started = FALSE; - pads->priv->stream_started = FALSE; g_rec_mutex_init (&pads->stream_lock); @@ -871,7 +869,6 @@ gst_collect_pads_stop (GstCollectPads * pads) unref_data (pads->priv->earliest_data); pads->priv->earliest_data = NULL; pads->priv->earliest_time = GST_CLOCK_TIME_NONE; - pads->priv->stream_started = FALSE; GST_OBJECT_UNLOCK (pads); /* Wake them up so they can end the chain functions. */ @@ -1715,14 +1712,9 @@ gst_collect_pads_event_default (GstCollectPads * pads, GstCollectData * data, goto eat; } case GST_EVENT_STREAM_START: - /* let the only the first one go through */ - if (!pads->priv->stream_started) { - pads->priv->stream_started = TRUE; - goto forward; - } else { - goto eat; - } - break; + /* drop stream start events, element must create its own start event, + * we can't just forward the first random stream start event we get */ + goto eat; case GST_EVENT_CAPS: goto eat; default: -- 2.7.4