]> git.alsa-project.org Git - alsa-lib.git/commitdiff
dmix - Fix snd_pcm_info()
authorTakashi Iwai <tiwai@suse.de>
Mon, 28 Sep 2009 09:59:50 +0000 (11:59 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 28 Sep 2009 10:02:13 +0000 (12:02 +0200)
Call the slave snd_pcm_info() as long as possible in the direct plugins
(i.e. when the PCM device could be opened with O_APPEND mode).
This allows dmix/dsnoop as a salve for PCM hook controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_direct.c

index 82cc126c3e6fffd767b7c55becc150c255b20692..d9e596e542dcdb65da19feec908cfb1cd3873502 100644 (file)
@@ -591,7 +591,10 @@ int snd_pcm_direct_poll_revents(snd_pcm_t *pcm, struct pollfd *pfds, unsigned in
 
 int snd_pcm_direct_info(snd_pcm_t *pcm, snd_pcm_info_t * info)
 {
-       // snd_pcm_direct_t *dmix = pcm->private_data;
+       snd_pcm_direct_t *dmix = pcm->private_data;
+
+       if (dmix->spcm && !dmix->shmptr->use_server)
+               return snd_pcm_info(dmix->spcm, info);
 
        memset(info, 0, sizeof(*info));
        info->stream = pcm->stream;