Muxing halts when no audio stream

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Wed Mar 23 15:49:03 UTC 2022


On Wed, Mar 23, 2022 at 2:17 AM Peter Biro <pettair at gmail.com> wrote:
> It was enough to just add the the audiomixer into the pipeline and the halting issue not occurs anymore (I can stop the audio sending during recording or dont event start it and the video is recorded properly, without the sound of course)
>
[...]
> The only thing I changed is the addition of audiomixer in between the audioconvert and the audioresample elements.
>
> Can you think of any logical explanation for this? I mean since Im not aware of the internals I'm afraid that I dont see something and this simple "solution" has some drawbacks.
>

Yes, this is working as expected. audiomixer operates in live mode, so
if it doesn't receive a buffer "in time" on one of the pads, then it
will mix the remaining pads and output a buffer. If none of the pads
have data, it will output silence once it is done waiting. In your
case you have one pad, and if it doesn't have data, then audiomixer
will output silence so that downstream keeps receiving buffers on
time.

Having a second pad with audiotestsrc wave=silence is useful when your
audio source can come and go, i.e., it is dynamically plugged /
unplugged.

Cheers,
Nirbheek


More information about the gstreamer-devel mailing list