{
GST_INFO_OBJECT (self, "Starting srcpad task");
- if (gst_pad_is_active (self->srcpad)) {
- self->priv->running = TRUE;
- gst_pad_start_task (GST_PAD (self->srcpad),
- (GstTaskFunction) gst_aggregator_aggregate_func, self, NULL);
- }
+ self->priv->running = TRUE;
+ gst_pad_start_task (GST_PAD (self->srcpad),
+ (GstTaskFunction) gst_aggregator_aggregate_func, self, NULL);
}
static GstFlowReturn
}
case GST_EVENT_STREAM_START:
{
- gst_aggregator_start_srcpad_task (self);
goto eat;
}
case GST_EVENT_GAP:
GstAggregator *self;
GstAggregatorPad *agg_pad;
GstAggregatorClass *klass = GST_AGGREGATOR_GET_CLASS (element);
+ GstAggregatorPrivate *priv = GST_AGGREGATOR (element)->priv;
self = GST_AGGREGATOR (element);
GST_DEBUG_OBJECT (element, "Adding pad %s", GST_PAD_NAME (agg_pad));
self->priv->has_peer_latency = FALSE;
- if (gst_pad_is_active (self->srcpad))
+ if (priv->running)
gst_pad_set_active (GST_PAD (agg_pad), TRUE);
/* add the pad to the element */
case GST_PAD_MODE_PUSH:
{
GST_INFO_OBJECT (pad, "Activating pad!");
+ gst_aggregator_start_srcpad_task (self);
return TRUE;
}
default: