gst-launch interleave channel positions HELP!

Charlie Laub charleslaub at sbcglobal.net
Mon Feb 5 20:57:03 UTC 2018


I am trying to use gst-launch to:
* get N-channel audio from ALSA source
* deinterleave it
* choose one deinterleaved channel (the others are dropped)
* tee the chosen channel into M new channels
* apply some effects to each of the M channels
* interleave all M channels
* send interleaved audio to ALSA sink

One problem I am facing is channel assignments when interleaving. I want
each sink of the interleave to become a separate channel in the resulting
interleaved audio stream. 

I have tried to assign channel positions using a channel-mask. I tried
assigning different bitmasks (e.g. 0x01, 0x02, 0x04, 0x08, 0x10 for 5
channel audio) just before sinking to the interleave, and also I use a
capssetter to set the interleave to e.g. bitmask=1F. But all channels seems
to mix down to stereo. 

The audio data has no relation to the normal channel positions like
RIGHT_REAR, LEFT, CENTER and so on. 

I want each sink of the interleave to become a separate channel in the
resulting interleaved audio stream. How can I do that?

If this absolutely cannot be done using gst-launch, can you point me to a
CLEAR example of how to do this in C++. 





More information about the gstreamer-devel mailing list