alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Schoenleitner <dev.c0debabe@gmail.com>
To: Raymond Yau <superquad.vortex2@gmail.com>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>
Subject: Re: "Resource temporarily unavailable" while reading although poll returns POLLIN event
Date: Sat, 24 Apr 2010 16:38:21 +0200	[thread overview]
Message-ID: <4BD3025D.1060207@gmail.com> (raw)
In-Reply-To: <k2i4f3252891004231832kcd722592hac37a667da424742@mail.gmail.com>

Raymond Yau wrote:
>>
>>
> Is it possible to post the output of your program when using your sound card
> "hw" since your program failed with XRUN (broken pipe) on my two sound cards
> ?


Sure, no problem.

However, I had to change 2 settings to get it working on my soundcard:

* change period size from 160 to 320, as my soundcard does not support a
period size of 160 frames

* change buffer size from 2 periods (1280 bytes) to 1 period (640
bytes), as my soundcard only supports a buffersize being equal to one period


After that the program works fine and runs forever (see below).

I'm looking forward to test it on my embedded target as well (with the
original settings).
If required I can post the output of that as well.

cheers,
stefan

-------------------------------------------------------------------------------
$ ./duplex hw
could not sched_setscheduler: Operation not permitted
PCM format is signed, linear, LE with 16 bits
PCM rate 8000 - 48000 Hz
PCM period size: 192 - 16384
PCM buffer size: 640 - 640
calculated buffer size: 640
avail min: 320
avail min after setup: 320
start threshold: 320 frames
stop threshold: 640 frames
PCM format is signed, linear, LE with 16 bits
PCM rate 4000 - 96000 Hz
PCM period size: 32 - 32768
PCM buffer size: 320 - 32640
calculated buffer size: 640
avail min: 320
avail min after setup: 320
start threshold: 320 frames
stop threshold: 640 frames
capture fds: 1, playback fds: 1
capture poll fd: 4, playback poll fd: 5
capture struct: fd: 4, events: POLLIN POLLERR , revents: 0
playback struct: fd: 5, events: POLLOUT POLLERR , revents: 0
capture avail min: 320
playback avail min: 320
snd_pcm_avail_update(capture): 0
demangled poll:  on capture device
snd_pcm_avail_update(playback): 640
demangled poll: POLLOUT  on playback device
wrote 320 frames
snd_pcm_avail_update(capture): 0
demangled poll:  on capture device
snd_pcm_avail_update(playback): 320
demangled poll: POLLOUT  on playback device
wrote 320 frames
snd_pcm_avail_update(capture): 320
demangled poll: POLLIN  on capture device
read 320 frames
hexdump(): 640 bytes
0000	fe ff fe ff fe ff fe ff ff ff fe ff fe ff ff ff
0010	fe ff ff ff ff ff ff ff fe ff fe ff fe ff ff ff
0020	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
0030	ff ff fe ff fe ff ff ff ff ff fe ff ff ff fe ff
0040	fe ff fe ff fe ff ff ff ff ff fe ff fe ff ff ff
0050	ff ff ff ff fe ff fe ff fe ff ff ff ff ff fe ff
0060	fe ff ff ff ff ff fe ff fe ff ff ff ff ff fe ff
0070	ff ff fe ff fe ff ff ff fe ff fe ff ff ff fe ff
0080	fe ff ff ff ff ff ff ff fe ff fe ff fe ff ff ff
0090	ff ff fe ff ff ff ff ff fe ff fe ff ff ff fe ff
00a0	ff ff ff ff fe ff fe ff ff ff fe ff fe ff ff ff
00b0	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
00c0	ff ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
00d0	ff ff ff ff fe ff fe ff fe ff ff ff ff ff fe ff
00e0	fe ff fe ff ff ff ff ff fe ff fe ff ff ff fe ff
00f0	ff ff ff ff ff ff ff ff ff ff fe ff ff ff ff ff
0100	fe ff fe ff fe ff fe ff fe ff ff ff ff ff fe ff
0110	ff ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
0120	ff ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
0130	fe ff ff ff fe ff ff ff fe ff fe ff fe ff fe ff
0140	ff ff fe ff fe ff ff ff ff ff fe ff fe ff ff ff
0150	fe ff fe ff fe ff fe ff ff ff fe ff ff ff ff ff
0160	fe ff fe ff ff ff fe ff fe ff ff ff ff ff fe ff
0170	ff ff ff ff ff ff ff ff fe ff ff ff ff ff fe ff
0180	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0190	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
01a0	ff ff ff ff fe ff fe ff fe ff ff ff ff ff fe ff
01b0	fe ff fe ff ff ff fe ff fe ff ff ff ff ff ff ff
01c0	ff ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
01d0	fe ff fe ff fe ff ff ff ff ff fe ff fe ff fe ff
01e0	fe ff ff ff ff ff ff ff fe ff fe ff ff ff ff ff
01f0	fe ff fe ff ff ff ff ff ff ff ff ff ff ff fe ff
0200	fe ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
0210	ff ff ff ff fe ff fe ff ff ff ff ff ff ff ff ff
0220	ff ff fe ff fe ff ff ff ff ff ff ff fe ff ff ff
0230	ff ff ff ff fe ff ff ff ff ff ff ff ff ff ff ff
0240	ff ff ff ff ff ff ff ff ff ff fe ff fe ff ff ff
0250	ff ff fe ff ff ff ff ff ff ff ff ff ff ff fe ff
0260	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0270	fe ff ff ff ff ff fe ff fe ff ff ff ff ff ff ff

snd_pcm_avail_update(playback): 320
demangled poll:  on playback device
snd_pcm_avail_update(capture): 0
demangled poll:  on capture device
snd_pcm_avail_update(playback): 320
demangled poll: POLLOUT  on playback device
wrote 320 frames
snd_pcm_avail_update(capture): 320
demangled poll: POLLIN  on capture device
read 320 frames
hexdump(): 640 bytes
0000	ff ff ff ff fe ff ff ff ff ff ff ff ff ff ff ff
0010	fe ff fe ff ff ff ff ff fe ff ff ff ff ff ff ff
0020	ff ff ff ff fe ff ff ff ff ff fe ff ff ff ff ff
0030	fe ff fe ff ff ff fe ff fe ff ff ff ff ff fe ff
0040	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0050	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0060	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
0070	ff ff fe ff fe ff fe ff ff ff ff ff ff ff fe ff
0080	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0090	ff ff ff ff ff ff ff ff fe ff fe ff ff ff fe ff
00a0	ff ff fe ff fe ff ff ff ff ff ff ff ff ff fe ff
00b0	fe ff fe ff fe ff fe ff fe ff fe ff ff ff ff ff
00c0	ff ff ff ff ff ff fe ff ff ff ff ff ff ff fe ff
00d0	fe ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
00e0	fe ff ff ff fe ff fe ff ff ff ff ff ff ff ff ff
00f0	ff ff ff ff fe ff ff ff ff ff ff ff ff ff ff ff
0100	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0110	ff ff ff ff fe ff ff ff ff ff ff ff ff ff fe ff
0120	ff ff ff ff fe ff ff ff ff ff fe ff fe ff ff ff
0130	ff ff ff ff ff ff ff ff ff ff fe ff fe ff ff ff
0140	fe ff ff ff ff ff fe ff ff ff ff ff fe ff fe ff
0150	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0160	ff ff ff ff ff ff fe ff fe ff fe ff ff ff ff ff
0170	ff ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
0180	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0190	ff ff ff ff ff ff ff ff ff ff fe ff fe ff ff ff
01a0	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
01b0	ff ff ff ff ff ff ff ff fe ff fe ff ff ff ff ff
01c0	ff ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
01d0	ff ff ff ff ff ff ff ff fe ff ff ff ff ff ff ff
01e0	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
01f0	ff ff ff ff ff ff fe ff fe ff fe ff fe ff fe ff
0200	fe ff fe ff fe ff ff ff fe ff ff ff ff ff fe ff
0210	fe ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
0220	ff ff ff ff ff ff ff ff ff ff fe ff ff ff ff ff
0230	ff ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
0240	fe ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
0250	fe ff fe ff ff ff ff ff ff ff ff ff ff ff ff ff
0260	fe ff ff ff ff ff ff ff fe ff ff ff ff ff ff ff
0270	ff ff ff ff fe ff ff ff ff ff ff ff ff ff ff ff

snd_pcm_avail_update(playback): 320
demangled poll:  on playback device
snd_pcm_avail_update(capture): 0
demangled poll:  on capture device
snd_pcm_avail_update(playback): 320
demangled poll: POLLOUT  on playback device
wrote 320 frames
snd_pcm_avail_update(capture): 320
demangled poll: POLLIN  on capture device
read 320 frames
hexdump(): 640 bytes
0000	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0010	ff ff ff ff ff ff ff ff ff ff fe ff fe ff ff ff
0020	ff ff fe ff fe ff ff ff fe ff fe ff ff ff fe ff
0030	fe ff ff ff ff ff ff ff ff ff fe ff ff ff ff ff
0040	fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
0050	fe ff fe ff ff ff fe ff fe ff fe ff ff ff ff ff
0060	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0070	ff ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
0080	ff ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
0090	fe ff ff ff fe ff fe ff ff ff fe ff ff ff ff ff
00a0	ff ff fe ff ff ff ff ff fe ff ff ff ff ff ff ff
00b0	ff ff ff ff fe ff fe ff fe ff ff ff fe ff fe ff
00c0	fe ff fe ff fe ff fe ff fe ff fe ff ff ff fe ff
00d0	fe ff fe ff ff ff fe ff fe ff fe ff fe ff ff ff
00e0	ff ff ff ff ff ff fe ff fe ff fe ff fe ff fe ff
00f0	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
0100	fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff
0110	fe ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
0120	fe ff fe ff fe ff ff ff ff ff ff ff fe ff fe ff
0130	fe ff fe ff ff ff ff ff ff ff fe ff fe ff fe ff
0140	ff ff ff ff fe ff fe ff fe ff fe ff fe ff ff ff
0150	fe ff fe ff ff ff ff ff ff ff fe ff fe ff fe ff
0160	fe ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
0170	ff ff ff ff ff ff ff ff fe ff ff ff ff ff ff ff
0180	fe ff fe ff ff ff ff ff fe ff ff ff fe ff fe ff
0190	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
01a0	ff ff ff ff fe ff ff ff ff ff fe ff fe ff ff ff
01b0	ff ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
01c0	ff ff ff ff fe ff fe ff ff ff ff ff ff ff ff ff
01d0	ff ff fe ff fe ff ff ff ff ff ff ff ff ff ff ff
01e0	ff ff fe ff ff ff ff ff ff ff fe ff ff ff fe ff
01f0	fe ff ff ff ff ff fe ff fe ff ff ff fe ff fe ff
0200	ff ff ff ff ff ff ff ff ff ff fe ff fe ff fe ff
0210	fe ff fe ff fe ff ff ff ff ff fe ff fe ff ff ff
0220	ff ff ff ff ff ff ff ff ff ff fe ff fe ff fe ff
0230	ff ff ff ff ff ff ff ff ff ff ff ff fe ff fe ff
0240	fe ff fe ff fe ff ff ff fe ff fe ff fe ff fe ff
0250	fe ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
0260	fe ff ff ff fe ff fe ff fe ff fe ff fe ff fe ff
0270	ff ff ff ff fe ff fe ff fe ff fe ff ff ff ff ff

snd_pcm_avail_update(playback): 320
demangled poll: POLLOUT  on playback device
wrote 320 frames
snd_pcm_avail_update(capture): 320
demangled poll: POLLIN  on capture device
read 320 frames
hexdump(): 640 bytes
0000	ff ff fe ff ff ff ff ff ff ff ff ff fe ff fe ff
0010	ff ff ff ff ff ff ff ff fe ff fe ff fe ff fe ff
0020	fe ff fe ff fe ff fe ff ff ff ff ff ff ff ff ff
0030	ff ff ff ff ff ff ff ff ff ff ff ff ff ff fe ff
0040	ff ff ff ff fe ff fe ff ff ff fe ff ff ff fe ff
0050	fe ff ff ff ff ff fe ff ff ff ff ff ff ff ff ff
0060	fe ff fe ff fe ff ff ff ff ff ff ff fe ff ff ff
0070	ff ff ff ff fe ff fe ff fe ff ff ff ff ff fe ff
0080	fe ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
0090	fe ff fe ff ff ff ff ff ff ff ff ff ff ff ff ff
00a0	fe ff ff ff fe ff ff ff fe ff fe ff ff ff fe ff
00b0	fe ff ff ff ff ff ff ff fe ff fe ff ff ff ff ff
00c0	fe ff fe ff ff ff ff ff fe ff ff ff ff ff fe ff
00d0	ff ff ff ff fe ff ff ff ff ff ff ff ff ff ff ff
00e0	ff ff ff ff ff ff ff ff fe ff ff ff ff ff fe ff
00f0	fe ff ff ff fe ff fe ff ff ff ff ff fe ff fe ff
0100	ff ff ff ff fe ff fe ff ff ff ff ff ff ff fe ff
0110	fe ff fe ff ff ff ff ff ff ff ff ff fe ff fe ff
0120	ff ff ff ff fe ff fe ff fe ff ff ff ff ff fe ff
0130	fe ff fe ff ff ff fe ff ff ff ff ff fe ff fe ff
0140	fe ff fe ff ff ff ff ff ff ff ff ff ff ff fe ff
0150	fe ff ff ff ff ff ff ff fe ff fe ff fe ff fe ff
0160	ff ff ff ff ff ff ff ff fe ff fe ff ff ff ff ff
0170	fe ff fe ff ff ff ff ff ff ff fe ff fe ff fe ff
0180	ff ff ff ff ff ff fe ff fe ff ff ff fe ff fe ff
0190	fe ff fe ff fe ff ff ff fe ff fe ff fe ff fe ff
01a0	fe ff ff ff fe ff fe ff fe ff fe ff ff ff fe ff
01b0	ff ff fe ff fe ff fe ff ff ff ff ff fe ff ff ff
01c0	ff ff fe ff fe ff fe ff ff ff fe ff fe ff fe ff
01d0	fe ff ff ff fe ff fe ff ff ff fe ff fe ff fe ff
01e0	fe ff fe ff fe ff fe ff ff ff ff ff ff ff ff ff
01f0	ff ff ff ff ff ff fe ff fe ff ff ff ff ff fe ff
0200	ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[...]
-------------------------------------------------------------------------------

  reply	other threads:[~2010-04-24 14:38 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-21 11:28 "Resource temporarily unavailable" while reading although poll returns POLLIN event Stefan Schoenleitner
2010-04-21 16:15 ` Stefan Schoenleitner
2010-04-21 17:18   ` Jaroslav Kysela
2010-04-22 10:09     ` Stefan Schoenleitner
2010-04-23  4:10       ` Raymond Yau
2010-04-24  1:32       ` Raymond Yau
2010-04-24 14:38         ` Stefan Schoenleitner [this message]
2010-04-24 23:43           ` Raymond Yau
2010-04-26  7:52             ` Stefan Schoenleitner
2010-04-27  0:35               ` Raymond Yau
2010-04-26  1:46           ` Raymond Yau
2010-04-26  8:19             ` Stefan Schoenleitner
2010-04-26 11:10               ` Raymond Yau
2010-04-22  4:28   ` Raymond Yau
2010-04-22 10:49     ` Stefan Schoenleitner
2010-04-23  7:45       ` Raymond Yau
2010-04-23 11:16         ` Stefan Schoenleitner
2010-04-22  2:41 ` Raymond Yau
2010-04-22 10:15   ` Stefan Schoenleitner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BD3025D.1060207@gmail.com \
    --to=dev.c0debabe@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=superquad.vortex2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).