mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-01 22:58:49 -04:00
Fix playback start with sync_ptr mode
Fix by Istvan Varadi <ivaradi@gmail.com> - start the playback with snd_pcm_hw_start failed with -EPIPE, because some pointers were not updated. I attached a patch for alsa-lib 1.0.8, in which sync_ptr is called before SNDRV_PCM_IOCTL_START. It seems to solve the problem, though I don't know alsa-lib enough to be sure that this is the right solution...
This commit is contained in:
parent
3403d9e622
commit
10557ca6b9
1 changed files with 1 additions and 0 deletions
|
|
@ -543,6 +543,7 @@ static int snd_pcm_hw_start(snd_pcm_t *pcm)
|
||||||
assert(pcm->stream != SND_PCM_STREAM_PLAYBACK ||
|
assert(pcm->stream != SND_PCM_STREAM_PLAYBACK ||
|
||||||
snd_pcm_mmap_playback_hw_avail(pcm) > 0);
|
snd_pcm_mmap_playback_hw_avail(pcm) > 0);
|
||||||
#endif
|
#endif
|
||||||
|
sync_ptr(hw, 0);
|
||||||
if (ioctl(hw->fd, SNDRV_PCM_IOCTL_START) < 0) {
|
if (ioctl(hw->fd, SNDRV_PCM_IOCTL_START) < 0) {
|
||||||
err = -errno;
|
err = -errno;
|
||||||
SYSMSG("SNDRV_PCM_IOCTL_START failed");
|
SYSMSG("SNDRV_PCM_IOCTL_START failed");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue