[alsa-devel] Input/output error while playing a file using aplay
pharaoh137 at gmail.com
Mon Jun 25 14:04:07 CEST 2007
On 6/25/07, Clemens Ladisch <cladisch at fastmail.net> wrote:
> Pharaoh . wrote:
> > >The ALSA framework will stop the stream and return the error code EIO
> > >when there was no interrupt for ten seconds, i.e., when
> > >snd_pcm_period_elapsed() was not called.
> > I am getting the interrupts, but why there wont be any interrupt for
> > 10 seconds?
> I don't quite understand this sentence. You do get interrupts?
> And snd_pcm_period_elapsed() is not called?
> > I am setting the periods in prepare as periods = runtime->period, so
> > interrupts should at period boundaries.
> runtime->periods is the number of periods. I don't know how your
> hardware works, but I guess it wants to know the period size, i.e.,
> runtime->period_size converted to bytes.
Apologie for being ambiguous...
1. When I posted the question, I was not even getting the DMA
interrupts. The input/output error was present.
2. After modifying the code a little I started getting the DMA
interrupts, but the input/output error still persists. So I am
doubting I might have messed up with the
period size etc.
3. I am assigning s->periods = runtime->period i.e. without converting
them in bytes, in prepare (I have seen some standard omap drivers
doing the same, so I am not converting it to bytes, frames should be
okay, but I will check this in h/w manual) and I take care in trigger
too by updating the s->periods field.
4. Also, s->period is locked appropriately so dont think it is corrupted.
I am attaching the source file, I have attached only 1 file since I
think it is relevant. Will send the log once I get chance to test it
More information about the Alsa-devel