Bug#585931: gstreamer0.10-plugins-good: vorbisenc forces mono if channel positions specified on stereo stream
Mark Wooding
mdw at distorted.org.uk
Mon Jun 14 23:16:19 UTC 2010
Package: gstreamer0.10-plugins-good
Version: 0.10.22-1
Severity: minor
If an element upstream of vorbisenc offers a stereo audio stream with
channel-position specifiers in its caps, then vorbisenc seems to refuse
this, and the stream downgrades to mono.
This is particularly apparent when you're transcoding A52 audio: the a52
element provides channel locations for stereo streams.
I've A52-encoded a shortish audio file[1]. If you run the pipeline
gst-launch \
filesrc location=test.ac3 ! \
a52dec ! \
wavenc ! \
filesink location=test.wav
you get a stereo WAV file. (This is why I'm blaming vorbisenc and not
a52dec.)
Now, try
gst-launch \
filesrc location=test.ac3 ! \
a52dec ! \
vorbisenc quality=.5 ! \
oggmux ! \
filesink location=test.ogg
and you get a mono Ogg/Vorbis file.
My test A52-encoded file, `dot' files from the above pipelines, and PDFs
generated from them showing the caps negotiated at the various pads, are
available at
http://www.distorted.org.uk/~mdw/au/gstreamer-mono-bug/
The test.ac3 file is 1.3MB, so I thought it better to do this than
attach it.
I've set the severity to `minor' because I have a workaround, which is
to detect this situation and supply explicit caps forcing `channels = 2'
and stripping the position information.
[1] It's currently my mobile phone ringtone. I composed, performed,
programmed, recorded and edited the piece to create this `ringtone
edit'. I hereby make it available under a Creative Commons
Attribution/Share-Alike licence:
http://creativecommons.org/licenses/by-sa/3.0/
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.31.9 (PREEMPT)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages gstreamer0.10-plugins-good depends on:
ii gconf2 2.28.1-3 GNOME configuration database syste
ii gstreamer0.10-plugins-b 0.10.29-4 GStreamer plugins from the "base"
ii libaa1 1.4p5-38 ascii art library
ii libavc1394-0 0.5.3-1+b2 control IEEE 1394 audio/video devi
ii libbz2-1.0 1.0.5-4 high-quality block-sorting file co
ii libc6 2.11.1-3 Embedded GNU C Library: Shared lib
ii libcaca0 0.99.beta17-1 colour ASCII art library
ii libcairo2 1.8.10-4 The Cairo 2D vector graphics libra
ii libdv4 1.0.0-2 software library for DV format dig
ii libflac8 1.2.1-2+b1 Free Lossless Audio Codec - runtim
ii libgcc1 1:4.4.4-1 GCC support library
ii libgconf2-4 2.28.1-3 GNOME configuration database syste
ii libglib2.0-0 2.24.1-1 The GLib library of C routines
ii libgstreamer-plugins-ba 0.10.29-4 GStreamer libraries from the "base
ii libgstreamer0.10-0 0.10.29-1 Core GStreamer libraries and eleme
ii libgtk2.0-0 2.20.1-1 The GTK+ graphical user interface
ii libgudev-1.0-0 157-1 GObject-based wrapper library for
ii libiec61883-0 1.2.0-0.1 an partial implementation of IEC 6
ii libjpeg62 6b-16.1 The Independent JPEG Group's JPEG
ii liboil0.3 0.3.17-1 Library of Optimized Inner Loops
ii libpng12-0 1.2.43-1 PNG library - runtime
ii libraw1394-11 2.0.5-1 library for direct access to IEEE
ii libshout3 2.2.2-5+b1 MP3/Ogg Vorbis broadcast streaming
ii libsoup-gnome2.4-1 2.30.1-1 an HTTP library implementation in
ii libsoup2.4-1 2.30.1-1 an HTTP library implementation in
ii libspeex1 1.2~rc1-1 The Speex codec runtime library
ii libstdc++6 4.4.4-1 The GNU Standard C++ Library v3
ii libtag1c2a 1.6.3-1 TagLib Audio Meta-Data Library
ii libv4l-0 0.8.0-1 Collection of video4linux support
ii libwavpack1 4.60.1-1 an audio codec (lossy and lossless
ii libx11-6 2:1.3.3-3 X11 client-side library
ii libxdamage1 1:1.1.2-1 X11 damaged region extension libra
ii libxext6 2:1.1.1-3 X11 miscellaneous extension librar
ii libxfixes3 1:4.0.4-2 X11 miscellaneous 'fixes' extensio
ii libxml2 2.7.7.dfsg-2 GNOME XML library
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages gstreamer0.10-plugins-good recommends:
ii gstreamer0.10-x 0.10.29-4 GStreamer plugins for X11 and Pang
gstreamer0.10-plugins-good suggests no packages.
-- no debconf information
More information about the Pkg-gstreamer-maintainers
mailing list