]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Fix playback start with sync_ptr mode
authorTakashi Iwai <tiwai@suse.de>
Fri, 13 May 2005 14:14:10 +0000 (14:14 +0000)
committerTakashi Iwai <tiwai@suse.de>
Fri, 13 May 2005 14:14:10 +0000 (14:14 +0000)
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...

src/pcm/pcm_hw.c

index b29693797f5b9d08a5c01f0de328584f22becf40..26af3c88329654bbd2aacfe6badd273a1b0eb372 100644 (file)
@@ -543,6 +543,7 @@ static int snd_pcm_hw_start(snd_pcm_t *pcm)
        assert(pcm->stream != SND_PCM_STREAM_PLAYBACK ||
               snd_pcm_mmap_playback_hw_avail(pcm) > 0);
 #endif
+       sync_ptr(hw, 0);
        if (ioctl(hw->fd, SNDRV_PCM_IOCTL_START) < 0) {
                err = -errno;
                SYSMSG("SNDRV_PCM_IOCTL_START failed");