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 569916 - DTS does not get downmixed to stereo correctly
DTS does not get downmixed to stereo correctly
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.10.21
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-30 22:54 UTC by Raffaele Sandrini
Modified: 2009-03-20 10:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26



Description Raffaele Sandrini 2009-01-30 22:54:37 UTC
The attached audio snipplet below contains an very small audio extract of a movie, where you can hear a voice. The voice should be equally distributed on both stereo channels. However, played on gstreamer the voice is louder on the left channel than the right. Mplayer instead playes the snipplet (also using libdca) perfectly well. I pasted the console output of gst-launch and mplayer below. As you may see the ffdec_dca gstreamer plugin is used.


gst-launch output:

$ gst-launch -v filesrc location=dts-audio-snipplet.mkv ! decodebin ! audioconvert ! audioresample ! pulsesink 
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-matroska
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = audio/x-dts, channels=(int)6, rate=(int)48000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = audio/x-dts, channels=(int)6, rate=(int)48000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_dca:ffdec_dca0.GstPad:sink: caps = audio/x-dts, channels=(int)6, rate=(int)48000
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_dca:ffdec_dca0.GstPad:src: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16

** (gst-launch-0.10:5630): WARNING **: Failed to retrieve channel layout from caps. This usually means there is a GStreamer element that does not implement multichannel audio correctly. Please file a bug.

** (gst-launch-0.10:5630): WARNING **: Failed to retrieve channel layout from caps. This usually means there is a GStreamer element that does not implement multichannel audio correctly. Please file a bug.
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/GstPipeline:pipeline0/GstAudioresample:audioresample0.GstPad:src: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
/GstPipeline:pipeline0/GstAudioresample:audioresample0.GstPad:sink: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16

** (gst-launch-0.10:5630): WARNING **: Failed to retrieve channel layout from caps. This usually means there is a GStreamer element that does not implement multichannel audio correctly. Please file a bug.
/GstPipeline:pipeline0/GstPulseSink:pulsesink0.GstPad:sink: caps = audio/x-raw-int, rate=(int)48000, channels=(int)6, signed=(boolean)true, endianness=(int)1234, width=(int)16, depth=(int)16
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock
Got EOS from element "pipeline0".
Execution ended after 6748637222 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstPulseSink:pulsesink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstAudioresample:audioresample0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstAudioresample:audioresample0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_dca:ffdec_dca0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/ffdec_dca:ffdec_dca0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstMatroskaDemux:matroskademux0.GstPad:audio_00: caps = NULL
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL
Setting pipeline to NULL ...
FREEING pipeline ...


Mplayer output:

$ mplayer dts-audio-snipplet.mkv 
MPlayer SVN-r28238 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 1.86GHz (Family: 6, Model: 13, Stepping: 8)
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dts-audio-snipplet.mkv.

[mkv] Track ID 1: audio (A_DTS), -aid 0, -alang und
[mkv] No video track found/wanted.
Matroska file format detected.
==========================================================================
Opening audio decoder: [libdca] DTS decoding with libdca
Stream with high frequencies VQ coding
AUDIO: 48000 Hz, 2 ch, s16le, 1536.0 kbit/100.00% (ratio: 192000->192000)
Selected audio codec: [dts] afm: libdca (DTS-libdca)
==========================================================================
AO: [pulse] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:   5.7 (05.7) of 6.1 (06.1) 18.5% 0% 

Exiting... (End of file)
Comment 1 Raffaele Sandrini 2009-01-30 23:01:20 UTC
Bugzilla does not let me attach the file directly to the bug. You may find it here:

http://up.jimi.li/data/dts-audio-snipplet.mkv (1.1 MB)
Comment 2 Raffaele Sandrini 2009-03-20 10:23:28 UTC
Ok this problem led to a distribution problem. Consider it not a problem for gstreamer.