Question about, appsrc clearing end_of_stream or gap handling

Sebastian Dröge sebastian at centricular.com
Wed Jun 22 09:32:08 UTC 2016


On Mi, 2016-06-22 at 01:02 -0700, Maik Scholz wrote:
> Hi,
> 
> I implemented a pipeline with multiply "live" sources
> (2*appsrc+1*audiotestsrc), combined with the adder element.
> 
> When I start the pipeline, I don't have any audio unless all appsrc elements
> delivering buffers.
> When I call "gst_app_src_end_of_stream" for the one appsrc'es which can't
> deliver, then I can hear the "other" mixed audio.
> But I am not able, to reset the eos flag in the “eos” appsrc later.
> 
> My Question, how should the appsrc tell "I am in a gap, mute this path up to
> the adder".

Don't send "EOS" when there is a gap. Just let the gap be or if you
can, inject a GAP event at the source.

> If I replace the adder by a liveadder, then this issue is solved. But I
> would prefer a solution using the "adder" element?

You should use the audiomixer element. Both adder and liveadder have
various problems and should not be used in new code.

adder has no support for live streams, which is causing exactly the
problem you see here. liveadder does, but has other problems.

audiomixer is handling live streams and does synchronization correctly.

-- 

Sebastian Dröge, Centricular Ltd · http://www.centricular.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160622/14e5a6e1/attachment.sig>


More information about the gstreamer-devel mailing list