summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-09-28 11:59:50 +0200
committerTakashi Iwai <tiwai@suse.de>2009-09-28 12:02:13 +0200
commitda237814e7409b38baedab64d6b4b18928b32404 (patch)
treebeba32393d4e5d60a1cb2dbe9668fba24815bc8d /src
parentecf4b5af8632a17af3c84cfceeaaf0a1609e2928 (diff)
dmix - Fix snd_pcm_info()
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>
Diffstat (limited to 'src')
-rw-r--r--src/pcm/pcm_direct.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
index 82cc126c..d9e596e5 100644
--- a/src/pcm/pcm_direct.c
+++ b/src/pcm/pcm_direct.c
@@ -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;