How to pause one of source inputs in audomixer?

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

How to pause one of source inputs in audomixer?

Юрий Тимофеев
Hello!
 
If i have audiomixer with several inputs, can I pause only one of them?
 
Basically, all inputs are network streams, so any of them can lag for some time. I want all the other inputs to keep mixing and playing while the lagging one is buffering on pause. 
 
Right now, I'm trying to solve it by using a queue2 on each of the input streams. I'm catching BUFFERING messages and set the output pad of corresponding queue2 on PAUSED/PLAYING, but it's not working as I thought it would, as it stops the whole pipeline.
 
Here is the description of the pipeline that i use:
 
audiomixer name = mix ! alsasink appsrc name=appsrc0 caps=audio/x-raw,rate=48000,channels=2,format=S16LE,layout=interleaved ! queue2 use-buffering=true low-watermark=0.1 high-watermark=0.3 ! audioconvert ! mix. appsrc name=appsrc1 caps=audio/x-raw,rate=48000,channels=2,format=S16LE,layout=interleaved ! queue2 use-buffering=true low-watermark=0.1 high-watermark=0.3 ! audioconvert ! mix.
 
Can anyone give me a hint of how to do it properly?
 
Thanks

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: How to pause one of source inputs in audomixer?

Baby Octopus
Administrator
Simplest way in which it can be done is by using pad probe(buffer) and
blocking the data completely that comes from one of the source. If it is
live, make sure to have sufficient buffering to avoid data losses due to
blocking

~BO



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel