At Fri, 07 Mar 2008 10:10:05 -0600, bruce@xxxxxxxxxxxxx wrote: > > I am writing a shim from alsa to our own sound card drivers. I was > able to get the init driver working and our sound card recognized. > Things seem to be set up correctly. When I do aplay to my device (USB > device works find), it calls my copy callback twice and then it calls > the trigger and fails. The call that fails is in pcm_write > (writei_func) with a -5. I know that my callback returns zero but > there must be something else under the covers since that gets to be > zero. Any help would be appreciated. The error -5 is -EIO. Typically it indicates that the data isn't handled properly by the PCM core. ALSA PCM core needs proper (asynchronous) notification via snd_pcm_period_elapsed(). Otherwise the internals won't be updated and you'll have the error. Usually this is called from the irq handler. snd_pcm_period_elapsed() is supposed to be issued at the time when the last period (fragment, chunk) has been processed -- meaning the sound is really played back. It doesn't mean that the data is fed to the hardware. Once after snd_pcm_period_elapsed() is called, PCM core calls the pointer callback and updates the internals including the current position. Then it wakes up the pending tasks, which will restart writing to the buffer, etc. Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel