From: Wu Fengguang on
> > Could you do strace for ALSA ioctls? At least having the error code might
> > help to identify this issue.
>
> I don't know how but I'm willing to try if you want to tell me how to
> do it. Please keep in mind, I'm just an end-user -- not a developer
> or even c coder. The most I've done is run xine in gdb to help supply
> bug info to those devs.

strace -o alsa-strace speaker-test -Dhw:0,3 -t wav -c2 -l1

Or

strace -o alsa-strace mplayer -ao alsa:device=hw=0.3 XXXXXXXX.mp3


Do you see error messages when playing via other audio devices, eg.

mplayer -ao alsa:device=hw=0.0 XXXXXXXX.mp3

?

Thanks,
Fengguang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: VDR User on
Ok, I'm not sure what I'm supposed to be looking for so I'll paste
some lines that include everything I see:

pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
[pid 22651] ioctl(21, 0x806c4120, 0xb439d230) = 0
[pid 22651] ioctl(21, 0x400c4150, 0xb439d1a4) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22652] ioctl(18, 0xc0104652 <unfinished ...>
[pid 22649] ioctl(10, 0xc0104652 <unfinished ...>
[pid 22652] <... ioctl resumed> , 0xb37b2590) = 0
[pid 22649] <... ioctl resumed> , 0xb547df00) = 0
[pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
[pid 22651] ioctl(21, 0x806c4120, 0xb439d230) = 0
[pid 22651] ioctl(21, 0x400c4150, 0xb439d1a4) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22649] ioctl(4, 0xc020462a, 0xb547e030) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
[pid 22651] ioctl(21, 0x806c4120, 0xb439d230) = 0
[pid 22651] ioctl(21, 0x400c4150, 0xb439d1a4) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
[pid 22651] ioctl(21, 0x806c4120, 0xb439d230) = 0
[pid 22651] ioctl(21, 0x400c4150, 0xb439d1a4) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22649] ioctl(10, 0xc0104652 <unfinished ...>
[pid 22652] ioctl(18, 0xc0104652 <unfinished ...>
[pid 22649] <... ioctl resumed> , 0xb547df00) = 0
[pid 22652] <... ioctl resumed> , 0xb37b2590) = 0
[pid 22652] ioctl(18, 0xc0104652, 0xb37b2590) = 0
[pid 22649] ioctl(4, 0xc020462a, 0xb547e030) = 0
[pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)

This is with starting xine with:
strace -f -e trace=open,ioctl xine -A alsa -V vdpau --post vdr_video
--post vdr_audio vdr://tmp/vdr-xine/stream#demux:mpeg_pes --verbose=2
--fullscreen --no-gui --no-mouse --deinterlace --no-logo --no-splash &

Hopefully this helps!..(?)

Best regards,
Derek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jaroslav Kysela on
On Wed, 10 Mar 2010, VDR User wrote:

> [pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
> pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.

-EPIPE means underrun condition.

Try 'echo 101 > /proc/asound/card0/pcm0p/xrun_debug' and send dmesg
output to check if the ring buffer pointer in the hda-intel driver does
not return wrong values. Replace card0 and pcm0p with right identifiers
(look to 'aplay -l' for right numbers).

More info: http://www.alsa-project.org/main/index.php/XRUN_Debug

Jaroslav

-----
Jaroslav Kysela <perex(a)perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: VDR User on
On Wed, Mar 10, 2010 at 11:30 PM, Jaroslav Kysela <perex(a)perex.cz> wrote:
> On Wed, 10 Mar 2010, VDR User wrote:
>
>> [pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
>> pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
>
> -EPIPE means underrun condition.
>
> Try 'echo 101 > /proc/asound/card0/pcm0p/xrun_debug' and send dmesg output
> to check if the ring buffer pointer in the hda-intel driver does not return
> wrong values. Replace card0 and pcm0p with right identifiers (look to 'aplay
> -l' for right numbers).
>
> More info: http://www.alsa-project.org/main/index.php/XRUN_Debug

Hi, thanks for your further reply. However, I don't see
"CONFIG_SND_PCM_XRUN_DEBUG" anywhere in the kernel config (both in
menuconfig or .config). Also, in order to use the snapshot I had to
disable ALSA in my kernel anyways. I did try to enable it just to see
if that option would appear somewhere but it did not. I am using
stable kernel 2.6.33 btw. I don't see how I can create
/proc/asound/card1/pcm3p/xrun_debug!

Best regards,
Derek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Jaroslav Kysela on
On Thu, 11 Mar 2010, VDR User wrote:

> On Wed, Mar 10, 2010 at 11:30 PM, Jaroslav Kysela <perex(a)perex.cz> wrote:
>> On Wed, 10 Mar 2010, VDR User wrote:
>>
>>> [pid 22651] ioctl(21, 0x80044121, 0xb439d2cc) = -1 EPIPE (Broken pipe)
>>> pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.
>>
>> -EPIPE means underrun condition.
>>
>> Try 'echo 101 > /proc/asound/card0/pcm0p/xrun_debug' and send dmesg output
>> to check if the ring buffer pointer in the hda-intel driver does not return
>> wrong values. Replace card0 and pcm0p with right identifiers (look to 'aplay
>> -l' for right numbers).
>>
>> More info: http://www.alsa-project.org/main/index.php/XRUN_Debug
>
> Hi, thanks for your further reply. However, I don't see
> "CONFIG_SND_PCM_XRUN_DEBUG" anywhere in the kernel config (both in
> menuconfig or .config).

All these parameters should be set: CONFIG_SND_PCM_XRUN_DEBUG,
CONFIG_SND_VERBOSE_PROCFS, CONFIG_SND_DEBUG . I updated wiki.

Jaroslav

-----
Jaroslav Kysela <perex(a)perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/