Arbitrary channel count with rtpl16depay

James Cowdery jtc at dolby.com
Sat Jan 11 01:18:27 UTC 2020


I'm receiving an arbitrary number of audio channels over RTP and then using
audioconvert to mix down to stereo for playout.
For a channel count of 9, rtpl16depay can't match one of the predefined
layouts (stereo, 5.1 etc.) so it reports "Unknown channel order '(NULL)' for
9 channels"
This then causes "WARNING **: Unpositioned audio channel position flag not
set but no channel positions present". The pipeline works but I'd like to
suppress the warnings. I'm using Python bindings (PyGObject) and argv at
Gst.Init doesn't seem to be parsed so can't get rid of them with --quiet. 

The layouts are hard-coded in. I'm guessing there must be an easy workaround
but I've struggled to find it. I need a general solution that works for any
number of input channels. Here is the pipeline:

udpsrc address=239.150.138.1 port=5004 buffer-size=1000000
caps="application/x-rtp, media=(string)audio, clock-rate=(int)48000,
channels = 9, encoding-name=(string)L16" ! rtpL16depay ! audioconvert
mix-matrix="<<(float)1.0, (float)0.0, (float)1.0, (float)0.0, (float)1.0,
(float)0.0, (float)1.0, (float)0.0, (float)0.0>, <(float)0.0, (float)1.0,
(float)1.0, (float)0.0, (float)0.0, (float)1.0, (float)1.0, (float)0.0,
(float)0.0>>" ! playsink volume = 5 channels = 2

Thanks, James



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list