diff --git a/gst/audiomixer/gstaudiomixer.c b/gst/audiomixer/gstaudiomixer.c index 2c56d7e557..9cac2d7b92 100644 --- a/gst/audiomixer/gstaudiomixer.c +++ b/gst/audiomixer/gstaudiomixer.c @@ -235,6 +235,15 @@ gst_audiomixer_do_clip (GstAggregator * agg, GstAggregatorPad * bpad, GstBuffer * buffer, GstBuffer ** outbuf); static GstFlowReturn gst_audiomixer_aggregate (GstAggregator * agg); +static GstClockTime +gst_audiomixer_get_next_time (GstAggregator * agg) +{ + if (agg->segment.position == -1) + return agg->segment.start; + else + return agg->segment.position; +} + /* we can only accept caps that we and downstream can handle. * if we have filtercaps set, use those to constrain the target caps. */ @@ -815,6 +824,8 @@ gst_audiomixer_class_init (GstAudioMixerClass * klass) agg_class->start = gst_audiomixer_start; agg_class->stop = gst_audiomixer_stop; + agg_class->get_next_time = gst_audiomixer_get_next_time; + agg_class->sink_query = GST_DEBUG_FUNCPTR (gst_audiomixer_sink_query); agg_class->sink_event = GST_DEBUG_FUNCPTR (gst_audiomixer_sink_event);