mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 13:41:48 +00:00
audioaggregator: use new gst_element_foreach_sink_pad()
Instead of gst_aggregator_iterate_sinkpads() which will soon be removed. https://bugzilla.gnome.org/show_bug.cgi?id=785679
This commit is contained in:
parent
5d3795163b
commit
fc94627778
1 changed files with 8 additions and 11 deletions
|
@ -189,8 +189,7 @@ static GstBuffer *gst_audio_aggregator_do_clip (GstAggregator * agg,
|
||||||
GstAggregatorPad * bpad, GstBuffer * buffer);
|
GstAggregatorPad * bpad, GstBuffer * buffer);
|
||||||
static GstFlowReturn gst_audio_aggregator_aggregate (GstAggregator * agg,
|
static GstFlowReturn gst_audio_aggregator_aggregate (GstAggregator * agg,
|
||||||
gboolean timeout);
|
gboolean timeout);
|
||||||
static gboolean sync_pad_values (GstAudioAggregator * aagg,
|
static gboolean sync_pad_values (GstElement * aagg, GstPad * pad, gpointer ud);
|
||||||
GstAudioAggregatorPad * pad);
|
|
||||||
static gboolean gst_audio_aggregator_negotiated_src_caps (GstAggregator * agg,
|
static gboolean gst_audio_aggregator_negotiated_src_caps (GstAggregator * agg,
|
||||||
GstCaps * caps);
|
GstCaps * caps);
|
||||||
|
|
||||||
|
@ -260,8 +259,6 @@ gst_audio_aggregator_class_init (GstAudioAggregatorClass * klass)
|
||||||
|
|
||||||
klass->create_output_buffer = gst_audio_aggregator_create_output_buffer;
|
klass->create_output_buffer = gst_audio_aggregator_create_output_buffer;
|
||||||
|
|
||||||
GST_DEBUG_REGISTER_FUNCPTR (sync_pad_values);
|
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_INIT (audio_aggregator_debug, "audioaggregator",
|
GST_DEBUG_CATEGORY_INIT (audio_aggregator_debug, "audioaggregator",
|
||||||
GST_DEBUG_FG_MAGENTA, "GstAudioAggregator");
|
GST_DEBUG_FG_MAGENTA, "GstAudioAggregator");
|
||||||
|
|
||||||
|
@ -1077,15 +1074,16 @@ gst_audio_aggregator_create_output_buffer (GstAudioAggregator * aagg,
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
sync_pad_values (GstAudioAggregator * aagg, GstAudioAggregatorPad * pad)
|
sync_pad_values (GstElement * aagg, GstPad * pad, gpointer user_data)
|
||||||
{
|
{
|
||||||
GstAggregatorPad *bpad = GST_AGGREGATOR_PAD (pad);
|
GstAudioAggregatorPad *aapad = GST_AUDIO_AGGREGATOR_PAD (pad);
|
||||||
|
GstAggregatorPad *bpad = GST_AGGREGATOR_PAD_CAST (pad);
|
||||||
GstClockTime timestamp, stream_time;
|
GstClockTime timestamp, stream_time;
|
||||||
|
|
||||||
if (pad->priv->buffer == NULL)
|
if (aapad->priv->buffer == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
timestamp = GST_BUFFER_PTS (pad->priv->buffer);
|
timestamp = GST_BUFFER_PTS (aapad->priv->buffer);
|
||||||
GST_OBJECT_LOCK (bpad);
|
GST_OBJECT_LOCK (bpad);
|
||||||
stream_time = gst_segment_to_stream_time (&bpad->segment, GST_FORMAT_TIME,
|
stream_time = gst_segment_to_stream_time (&bpad->segment, GST_FORMAT_TIME,
|
||||||
timestamp);
|
timestamp);
|
||||||
|
@ -1094,7 +1092,7 @@ sync_pad_values (GstAudioAggregator * aagg, GstAudioAggregatorPad * pad)
|
||||||
/* sync object properties on stream time */
|
/* sync object properties on stream time */
|
||||||
/* TODO: Ideally we would want to do that on every sample */
|
/* TODO: Ideally we would want to do that on every sample */
|
||||||
if (GST_CLOCK_TIME_IS_VALID (stream_time))
|
if (GST_CLOCK_TIME_IS_VALID (stream_time))
|
||||||
gst_object_sync_values (GST_OBJECT (pad), stream_time);
|
gst_object_sync_values (GST_OBJECT_CAST (pad), stream_time);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1143,8 +1141,7 @@ gst_audio_aggregator_aggregate (GstAggregator * agg, gboolean timeout)
|
||||||
aagg = GST_AUDIO_AGGREGATOR (agg);
|
aagg = GST_AUDIO_AGGREGATOR (agg);
|
||||||
|
|
||||||
/* Sync pad properties to the stream time */
|
/* Sync pad properties to the stream time */
|
||||||
gst_aggregator_iterate_sinkpads (agg,
|
gst_element_foreach_sink_pad (element, sync_pad_values, NULL);
|
||||||
(GstAggregatorPadForeachFunc) sync_pad_values, NULL);
|
|
||||||
|
|
||||||
GST_AUDIO_AGGREGATOR_LOCK (aagg);
|
GST_AUDIO_AGGREGATOR_LOCK (aagg);
|
||||||
GST_OBJECT_LOCK (agg);
|
GST_OBJECT_LOCK (agg);
|
||||||
|
|
Loading…
Reference in a new issue