Re: Possible problem with snd_pcm_oss_sync()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Takashi Iwai wrote:

> The sync ioctl is to block the operation until all samples are
> played.  But, it's a bit strange that the stream stops after this.  It
> should be an underrun instead (and OSS recovers by itself).

I figured it out.  When the application starts, my driver gets a call to the
_hw_params and _prepare functions.  When the app calls SNDCTL_DSP_SYNC, those
two functions get called again.  At that point, the DMA controller gets
re-programmed.  For some reason, it doesn't like that.  The DMA never actually
starts.

I moved some of the DMA programming code to my _open function (where it belongs,
anyway), and now bplay works.

Well, almost.  After about a second into playback, it skips a little bit.  And
then about 4-5 seconds later, bplay calls SNDCTL_DSP_SYNC, and that causes
playback to pause for about a second.

I need to figure out why bplay is calling sync, and why the audio skips in the
beginning.

-- 
Timur Tabi
Linux kernel developer at Freescale
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux