Bug#394101: gstreamer0.10-alsa: stuttering output with alsasink

Michael Schilli michael.schilli at gmx.de
Thu Oct 19 13:17:32 UTC 2006


Package: gstreamer0.10-alsa
Version: 0.10.10-1
Severity: normal


When trying to play 2-channel audio on a 6-channel device with alsasink i get choppy output.
I created a new pcm device as described in the alsa multi-channel mini-howto.

/etc/asound.conf looks like this:

pcm.ch51dup {
        slave.pcm surround51
        slave.channels 6
        type route
        ttable.0.0 1
        ttable.1.1 1
        ttable.0.2 1
        ttable.1.3 1
        ttable.0.4 0.5
        ttable.1.4 0.5
        ttable.0.5 0.5
        ttable.1.5 0.5
}

When i try to play some 2-channel audio using the device ch51dup with e.g. mplayer, aplay, xmms ...
everything works just fine.
But if i select "alsasink device=ch51dup" in gstreamer-properties as audio output, it gets choppy.

Running gstreamer-properties with GST_DEBUG=alsa*:5 gstreamer-properties results in the following output:

0:00:00.425800000  4814 0x8054ef0 DEBUG                 alsa gstalsaplugin.c:75:plugin_init : binding text domain gst-plugins-base-0.10 to locale dir /usr/share/locale
0:00:00.426657000  4814 0x8054ef0 DEBUG                 alsa gstalsasink.c:276:gst_alsasink _init:<GstAlsaSink at 0x83de020> initializing alsasink
gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'esdsink'
gstreamer-properties-Message: Skipping unavailable plugin 'polypsink'
gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink'
gstreamer-properties-Message: Skipping unavailable plugin 'ximagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'xvimagesink'
gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc'
gstreamer-properties-Message: Skipping unavailable plugin 'v4l2src'
0:00:00.520759000  4814 0x8054ef0 DEBUG                 alsa gstalsasrc.c:288:gst_alsasrc_i nit:<GstAlsaSrc at 0x83f4048> initializing
gstreamer-properties-Message: Skipping unavailable plugin 'esdmon'
gstreamer-properties-Message: Skipping unavailable plugin 'polypsrc'
0:00:03.784316000  4814 0x8054ef0 DEBUG                 alsa gstalsasink.c:276:gst_alsasink _init:<GstAlsaSink at 0x83de2c0> initializing alsasink
0:00:03.789446000  4814 0x8054ef0 DEBUG                 alsa gstalsasink.c:306:gst_alsasink _getcaps:<alsasink1> device not open, using template caps
0:00:03.800012000  4814 0x8054ef0 LOG                   alsa gstalsa.c:30:gst_alsa_detect_r ates:<alsasink1> probing sample rates ...
0:00:03.800145000  4814 0x8054ef0 DEBUG                 alsa gstalsa.c:49:gst_alsa_detect_r ates:<alsasink1> Min. rate = 48000 (48000)
0:00:03.800224000  4814 0x8054ef0 DEBUG                 alsa gstalsa.c:50:gst_alsa_detect_r ates:<alsasink1> Max. rate = 48000 (48000)
0:00:03.800298000  4814 0x8054ef0 LOG                   alsa gstalsa.c:249:gst_alsa_detect_ channels:<alsasink1> probing channels ...
0:00:03.800367000  4814 0x8054ef0 DEBUG                 alsa gstalsa.c:293:gst_alsa_detect_ channels:<alsasink1> Min. channels = 1 (1)
0:00:03.800435000  4814 0x8054ef0 DEBUG                 alsa gstalsa.c:294:gst_alsa_detect_ channels:<alsasink1> Max. channels = 8 (268435455)
0:00:03.800600000  4814 0x8054ef0 INFO                  alsa gstalsasink.c:326:gst_alsasink _getcaps:<alsasink1> returning caps audio/x-raw-int, endianness=(int)1234, signed=(boolean) true, 
width=(int)16, depth=(int)16, rate=(int)48000, channels=(int)[ 1, 2 ]; audio/x-raw-in t, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)4800 0, channels=(int)3, 
channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION _FRONT_LEFT, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_LFE >; audi o/x-raw-int, endianness=(int)1234, 
signed=(boolean)true, width=(int)16, depth=(int)16, rate =(int)48000, channels=(int)4, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNE L_POSITION_FRONT_LEFT, 
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_R EAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT >; audio/x-raw-int, endianness=(int)1234, s igned=(boolean)true, width=(int)16, 
depth=(int)16, rate=(int)48000, channels=(int)6, channe l-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT, GST_AUDIO_CHA NNEL_POSITION_FRONT_RIGHT, 
GST_AUDIO_CHANNEL_POSITION_REAR_LEFT, GST_AUDIO_CHANNEL_POSITION _REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE >; aud io/x-raw-int, endianness=(int)1234, 
signed=(boolean)true, width=(int)16, depth=(int)16, rat e=(int)48000, channels=(int)8, channel-positions=(GstAudioChannelPosition)< GST_AUDIO_CHANN EL_POSITION_FRONT_LEFT, 
GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT, GST_AUDIO_CHANNEL_POSITION_ REAR_LEFT, GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT, GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER, GST_AUDIO_CHANNEL_POSITION_LFE, 
GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT, GST_AUDIO_CHANNEL_POS ITION_SIDE_RIGHT >
0:00:03.809761000  4814 0x83dca98 LOG                   alsa gstalsasink.c:311:gst_alsasink _getcaps:<alsasink1> Returning cached caps
0:00:03.825242000  4814 0x83dca98 LOG                   alsa gstalsasink.c:311:gst_alsasink _getcaps:<alsasink1> Returning cached caps
0:00:03.825593000  4814 0x83dca98 LOG                   alsa gstalsasink.c:311:gst_alsasink _getcaps:<alsasink1> Returning cached caps
0:00:03.825928000  4814 0x83dca98 LOG                   alsa gstalsasink.c:311:gst_alsasink _getcaps:<alsasink1> Returning cached caps
0:00:03.831599000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:570:alsasink_par se_spec:<alsasink1> Linear format : depth=16, width=16, sign=1, bigend=0
0:00:03.878223000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:342:set_hwparams :<alsasink1> Negotiating to 1 channels @ 48000 Hz (format = S16_LE)
0:00:03.878582000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:376:set_hwparams :<alsasink1> buffer time 200000, min 62, max 113771
0:00:03.878667000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:382:set_hwparams :<alsasink1> period time 10000, min 62, max 113771
0:00:03.878739000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:387:set_hwparams :<alsasink1> periods min 1, max 1024
0:00:03.934700000  4814 0x83dca98 DEBUG                 alsa gstalsasink.c:427:set_hwparams :<alsasink1> buffer size 5461, period size 5461
0:00:04.133913000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result 5461
0:00:04.247265000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result -32
0:00:04.247408000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:802:gst_alsasink _write:<alsasink1> Write error: Datenübergabe unterbrochen (broken pipe)
0:00:04.247489000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:760:xrun_recover y: xrun recovery -32
0:00:04.304709000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result 5461
0:00:04.418057000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result -32
0:00:04.418107000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:802:gst_alsasink _write:<alsasink1> Write error: Datenübergabe unterbrochen (broken pipe)
0:00:04.418133000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:760:xrun_recover y: xrun recovery -32
0:00:04.472715000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result 5461
0:00:04.586060000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:800:gst_alsasink _write:<alsasink1> written 5461 result -32
0:00:04.586110000  4814 0x8436bc0 DEBUG                 alsa gstalsasink.c:802:gst_alsasink _write:<alsasink1> Write error: Datenübergabe unterbrochen (broken pipe)

The last 4 lines repeats itself.

Hope someone can help. If you need further information, please let me know.


Regards,
Michael Schilli

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-2-486
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)

Versions of packages gstreamer0.10-alsa depends on:
ii  libasound2                   1.0.13-1    ALSA library
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries
ii  libgstreamer-plugins-base0.1 0.10.10-1   GStreamer libraries from the "base

gstreamer0.10-alsa recommends no packages.

-- no debconf information




More information about the Pkg-gstreamer-maintainers mailing list