Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 96274 - gstreamer: choppy Ogg Vorbis playback through alsasink
Summary: gstreamer: choppy Ogg Vorbis playback through alsasink
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal
Assignee: GStreamer package maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-06-16 05:58 UTC by Philip Allison
Modified: 2007-04-01 20:11 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Allison 2005-06-16 05:58:38 UTC
Recently, I noticed that previews of Ogg Vorbis files in Nautilus sounded
absolutely awful (they've sounded fine previously). I have gstreamer configured
to use the ALSA sink, and other ALSA applications sound fine, including playing
the exact same files through ogg123 or beep-media-player.
The same problem occurs when manually running the files through gstreamer, via
the command line:

gst-launch-0.8 filesrc location=file.ogg ! oggdemux ! vorbisdec ! audioconvert !
alsasink

I'm fairly certain the problem's in either audioconvert or alsasink, since when
I piped the result back out to a file, like so:

gst-launch-0.8 filesrc location=file.ogg ! oggdemux ! vorbisdec ! audioconvert !
rawvorbisenc ! oggmux ! filesink location=file2.ogg

the resulting file2.ogg sounds fine (when played through something other than
gstreamer, obviously).

Running sinesrc through alsasink sounds fine.

Reproducible: Always
Steps to Reproduce:
1. Play an Ogg Vorbis file through alsasink, using given command line, or
Nautilus's preview capability.

Actual Results:  
It sounds awful. Choppy, distorted, noisy.

Expected Results:  
Perfect playback, as per other ALSA apps on the same machine.

Portage 2.0.51.19 (default-linux/amd64/2005.0, gcc-3.4.3,
glibc-2.3.4.20041102-r1, 2.6.11-gentoo-r11 x86_64)
=================================================================
System uname: 2.6.11-gentoo-r11 x86_64 AMD Athlon(tm) 64 Processor 3400+
Gentoo Base System version 1.6.12
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, Jun 11 2005, 14:43:08)]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.8.5-r3, 1.5, 1.4_p6, 1.7.9-r1, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r4
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CFLAGS="-O3 -mtune=athlon64 -march=athlon64 -m64 -ftracer -fomit-frame-pointer
-fprefetch-loop-arrays -funroll-loops -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -mtune=athlon64 -march=athlon64 -m64 -ftracer -fomit-frame-pointer
-fprefetch-loop-arrays -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://gentoo.ccccom.com/
http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/
http://ftp-mirror.internap.com/pub/gentoo/"
LC_ALL="en_GB.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X aac acpi adns alsa avi bitmap-fonts cdr crypt cscope cups curl dvd
dvdr eds encode exif ffmpeg font-server gif gnome gpm gstreamer gtk gtk2 hal
imagemagick imap imlib jabber joystick jp2 jpeg libwww lzw lzw-tiff mad mikmod
mng mozilla mp3 mpeg msn ncurses nls nptl offensive ogg oggvorbis openal opengl
pam pcre pdflib perl png python quicktime readline samba sdl spell ssl svg tcpd
tetex theora tiff truetype truetype-fonts type1-fonts unicode usb userlocales
vorbis wmf xine xml2 xpm xrandr xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LDFLAGS, LINGUAS

Versions of relevant packages:
gstreamer 0.8.10, gst-plugins 0.8.9-r2, gst-plugins-alsa 0.8.9
Comment 1 Zaheer Abbas Merali (RETIRED) gentoo-dev 2005-06-16 07:20:28 UTC
can you try with alsasink device=hw:0 and alsasink device=plug:dmix and let me
know if either of those improves the sound.
Comment 2 Philip Allison 2005-06-17 03:43:37 UTC
device=hw:0 didn't make any difference, and device=plug:dmix resulted in
silence. I expected the latter; I don't have dmix configured in any way, as I'm
lucky enough to have a card with supported hardware mixing (SoundFusion CS46**)

I suppose I could configure dmix temporarily and try again, would that be
worthwhile?
Comment 3 Zaheer Abbas Merali (RETIRED) gentoo-dev 2005-06-23 04:20:20 UTC
what version of alsa-lib?

also can you give me the output of:

gst-launch-0.8 -v filesrc location=file.ogg ! oggdemux ! vorbisdec ! audioconvert !
alsasink

Comment 4 Philip Allison 2005-06-28 11:28:31 UTC
alsa-lib 1.0.9

"gst-launch-0.8 -v filesrc location=lokki.ogg ! oggdemux ! vorbisdec !
audioconvert ! alsasink" says:

RUNNING pipeline ...
/pipeline0/filesrc0.src: caps = application/ogg
/pipeline0/oggdemux0.sink: caps = application/ogg
/pipeline0/filesrc0.src: active = TRUE
/pipeline0/oggdemux0.sink: active = TRUE
/pipeline0/oggdemux0.serial_1434747362: caps = audio/x-vorbis
/pipeline0/vorbisdec0.sink: caps = audio/x-vorbis
/pipeline0/vorbisdec0.sink: active = TRUE
/pipeline0/vorbisdec0.src: active = TRUE
/pipeline0/audioconvert0.sink: active = TRUE
/pipeline0/audioconvert0.src: active = TRUE
/pipeline0/alsasink0.sink: active = TRUE
/pipeline0/audioconvert0.src: caps = audio/x-raw-int, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)16, depth=(int)16,
signed=(boolean)true/pipeline0/alsasink0.sink: caps = audio/x-raw-int,
rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)16,
depth=(int)16, signed=(boolean)true
/pipeline0/vorbisdec0.src: caps = audio/x-raw-float, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0
/pipeline0/audioconvert0.sink: caps = audio/x-raw-float, rate=(int)44100,
channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0
Execution ended after 459 iterations (sum 4463011000 ns, average 9723335 ns, min
5000 ns, max 46618000 ns).
Caught interrupt.
/pipeline0/filesrc0.src: active = FALSE
/pipeline0/oggdemux0.sink: active = FALSE
/pipeline0/oggdemux0.serial_1434747362: active = FALSE
/pipeline0/vorbisdec0.sink: active = FALSE
/pipeline0/vorbisdec0.src: active = FALSE
/pipeline0/audioconvert0.sink: active = FALSE
/pipeline0/audioconvert0.src: active = FALSE
/pipeline0/alsasink0.sink: active = FALSE
/pipeline0/filesrc0.src: caps = NULL
/pipeline0/oggdemux0.sink: caps = NULL
/pipeline0/vorbisdec0.src: caps = NULL
/pipeline0/audioconvert0.sink: caps = NULL
/pipeline0/audioconvert0.src: caps = NULL
/pipeline0/alsasink0.sink: caps = NULL
Comment 5 Zaheer Abbas Merali (RETIRED) gentoo-dev 2005-07-13 05:07:42 UTC
please try downgrading to alsa-lib 1.0.8 and use 2.6.11 kernel rather than
2.6.12, i believe the alsa 1.0.9 drivers and libs caused a few soundcards to
have issues.

The reason ogg123 and other alsa apps sound fine, is that gstreamer uses more of
the alsa api which in certain alsa device drivers is buggy.

Comment 6 Philip Allison 2005-10-15 08:36:11 UTC
Things seem to improve greatly when using "alsasink period-size=1024
buffer-size=4096", however, Ogg Vorbis absolutely REQUIRES that audioconvert be
placed in the pipeline between vorbisdec and alsasink if it is to work at all.

This is on a cs46xx (Cirrus Logic CS 4614/22/24) with alsa-lib 1.0.9,
gst-plugins-alsa 0.8.11, and in-kernel ALSA drivers from gentoo-sources
2.6.13-r3, with no /etc/asound.conf.

To summarise, setting GNOME's default audio sink to "audioconvert ! alsasink
period-size=1024 buffer-size=4096" results in working, clear playback of Ogg
Vorbis, WAV and MP3.
Comment 7 Philip Allison 2005-10-15 08:38:20 UTC
Append "... when previewing sound files in Nautilus" to the last paragraph
above; sorry. Using a similar pipe on the command line also works, of course.
All 3 formats could already be played back fine with other (non-gstreamer) ALSA
apps.
Comment 8 Toon Verstraelen 2005-12-25 13:04:54 UTC
Hi I'm having the same problem with the alsasink. This is my asound.conf

pcm.mixer {
  type dmix
  ipc_key 1024
  slave {
    pcm "hw:0,0"
    #period_time 0
    period_size 1024
    buffer_size 8192
    rate 44100
  }
}

pcm.!default {
  type plug
  slave.pcm "mixer"
}

This gives a choppy sound:
gst-launch-0.8 sinesrc ! alsasink
and this doesn't:
gst-launch-0.8 sinesrc ! alsasink period-size=1024

There appears to be a bug on the gnome bugzilla that deals with this problem:

http://bugzilla.gnome.org/show_bug.cgi?id=314689

I'm using gstreamer-0.8.11, alsa-driver-1.0.10_rc3. Ih op this helps. My emerge info:

Portage 2.0.51.22-r3 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.14-gentoo-r4 i686)
=================================================================
System uname: 2.6.14-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.6.13
dev-lang/python:     2.3.5, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict userpriv"
GENTOO_MIRRORS="http://ftp.belnet.be/linux/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 X a52 aac alsa ao aotuv apache2 artworkextra atlas audiofile avi bash-completion berkdb bitmap-fonts bonobo bzip2 cairo cdf cdr cpdflib cpudetection crypt cups curl dbus dga dio directfb divx4linux djbfft dlloader dnd doc dpms droproot dts dv dvb dvd dvdread edl eds effects encode erandom ethereal evms2 exif expat fam fb fbcon fbdev fftw flac foomaticdb fortran fs gd gdbm gif ginac glut gnome gnomedb gnutls gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile hal howl idn imagemagick imap imlib inkjar ipv6 java jpeg justify lapack lcms libcaca libg++ libgda libvisual libwww live lm_sensors lzo mad matroska mbpx md5sum mhash mikmod mmx mng mp3 mpeg mpeg4 mplayer msql mysql mysqli mythtv ncurses nls no-old-linux nomac nomotif noplugin nptl nptlonly ogg oggvorbis openal opengl oss pam pango pcre pdflib perl physfs plotutils plugin png ppds python quicktime readline real recode rrdtool rtc sapdb sdk sdl sharedmem shorten slang sockets speex spell sse sse2 ssl subp svg sysfs sysvipc tcltk tcpd tetex theora threads tiff toolbar transcode truetype truetype-fonts type1-fonts udev unicode usb utf8 v4l v4l2 vcd vidix vim-with-x vorbis wifi wmf xanim xine xml xml2 xmms xscreensaver xv xvid xvmc yv12 zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2007-04-01 20:11:27 UTC
If you still have issues w/ current gstreamer versions, file a new bug. Thanks.