diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-09-28 11:59:50 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-09-28 12:02:13 +0200 |
commit | da237814e7409b38baedab64d6b4b18928b32404 (patch) | |
tree | beba32393d4e5d60a1cb2dbe9668fba24815bc8d /src | |
parent | ecf4b5af8632a17af3c84cfceeaaf0a1609e2928 (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.c | 5 |
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; |