After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 533617 - [audioconvert] Produces silence when converting 1/2 channel audio with non-standard channel position
[audioconvert] Produces silence when converting 1/2 channel audio with non-st...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal major
: 0.10.20
Assigned To: Sebastian Dröge (slomo)
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-05-17 19:36 UTC by Sebastian Dröge (slomo)
Modified: 2008-05-20 12:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2008-05-17 19:36:59 UTC
Hi,

the following pipeline currently produces plain silence:

gst-launch-0.10 -v audiotestsrc num-buffers=1000 ! audioconvert ! "audio/x-raw-float,channels=2" ! deinterleave name=d  d.src0 ! queue ! audioconvert ! wavenc ! filesink location=channel1.wav  d.src1 ! queue ! audioconvert ! wavenc ! filesink location=channel2.wav

The caps used on the audioconverts are:

/pipeline0/audioconvert2.src: caps = audio/x-raw-int, rate=(int)44100, channels=(int)1, endianness=(int)1234, width=(int)32, depth=(int)32, signed=(boolean)true
/pipeline0/audioconvert2.sink: caps = audio/x-raw-float, rate=(int)44100, channels=(int)1, endianness=(int)1234, width=(int)64, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT >
/pipeline0/wavenc1.sink: caps = audio/x-raw-int, rate=(int)44100, channels=(int)1, endianness=(int)1234, width=(int)32, depth=(int)32, signed=(boolean)true


So it drops the channel position and seems to do something wrong while converting.
Comment 1 Sebastian Dröge (slomo) 2008-05-19 08:30:00 UTC
So we don't support 1 and 2 channel layouts at all. audioconvert always assumes default channel layout for them and so do most elements I guess.

Should be fixed ;)
Comment 2 Sebastian Dröge (slomo) 2008-05-20 12:15:31 UTC
2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* gst/audioconvert/gstaudioconvert.c:
	(gst_audio_convert_fixate_channels):
	Passthrough the channel positions if the number of output channels is
	the same as the number of input channels, the input had a channel
	layout and downstream requests no special one. We did this already for
	> 2 channels but now it's also done for 1 channel. Fixes bug #533617.