I have an alsasrc
for a microphone with n audio channels (audio/x-raw,channels=n
on the source pad). I want to use just the first channel, leaving a source pad with audio/x-raw,channels=1
. How can I do this?
You could put a capsfilter
element with caps audio/x-raw,channels=1
right after the alsasrc
to put constraints on the caps.
Thanks. This seems to be either mixing all the channels together or choosing the wrong channel, though. How can I explicitly choose the single channel to use?
Upon further investigation, it seems that the channel mixing is being performed by ALSA itself, as I was using a plughw
device.
If I use hw
instead, to stop ALSA mixing channels, capability negotiation fails if I use a filter to change the number of channels.
I need an element that lets me use only a single channel.
Ah, it seems I need deinterleave
.
1 Like