Question about, appsrc clearing end_of_stream or gap handling

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Question about, appsrc clearing end_of_stream or gap handling

Maik Scholz
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".

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

Maik
Reply | Threaded
Open this post in threaded view
|

Re: Question about, appsrc clearing end_of_stream or gap handling

Sebastian Dröge-3
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment