From: Johannes Dohmen <johannes.dohmen@web.de>
To: alsa-devel@alsa-project.org
Subject: Problems with nonblocking capture every 20ms
Date: Mon, 10 Mar 2008 16:28:22 +0100 [thread overview]
Message-ID: <47D55396.3080705@web.de> (raw)
Hi there,
With a sampling rate of 8000 I want to capture every 20ms a chunk (160
frames) of data from the soundcard. That works ok, but every ~5 seconds
I get a EGAIN from snd_pcm_readi().
I understand that this is not an error but a notification that the sound
card is not ready and should be asked again for data later on.
Probably the easiest way to get rid of the EGAINs would be to use
blocking IO, which I would prefer, but I have timing restrictions and
snd_pcm_readi() has no sort of timeout (which I could see at least).
Additional Information:
The reason for me the read from the sound card every 20ms is, that I
need to do so for my voip-app (rtp&sip) which needs to send 160 frames
every 20ms. The calculation is:
PacketsPerSecond=50
SampleRate=8000
FramesPerPacket=8000/50=160
Wait=1000ms/50=20ms
I know that EAGAINs might occur and I'm confident that I
handle them ok on the RTP-Level (which is to notify the other side which
then plays empty samples). Still I would guess, that I could
receive much less EGAINs if I would setup the sound card better.
If played around with the period time and size and buffer time and size,
but honestly I did not really get the point of them and try&error has
not helped me either.
Thanks in advance & greetings from Germany
Johannes
next reply other threads:[~2008-03-10 15:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-10 15:28 Johannes Dohmen [this message]
2008-03-10 18:38 ` Problems with nonblocking capture every 20ms Jaroslav Kysela
2008-03-10 21:19 ` Alan Horstmann
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=47D55396.3080705@web.de \
--to=johannes.dohmen@web.de \
--cc=alsa-devel@alsa-project.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.