]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Fix channel_info callbacks of hooks, file and plug plugins
authorTakashi Iwai <tiwai@suse.de>
Tue, 5 Apr 2005 15:48:01 +0000 (15:48 +0000)
committerTakashi Iwai <tiwai@suse.de>
Tue, 5 Apr 2005 15:48:01 +0000 (15:48 +0000)
Fixed channel_info callbacks of hooks, file and plug plugins (BTS #1034).
snd_pcm_generic_channel_info_slave() is added.

src/pcm/pcm_file.c
src/pcm/pcm_generic.c
src/pcm/pcm_generic.h
src/pcm/pcm_hooks.c
src/pcm/pcm_plug.c

index 0947708e98f0c76c00147a7a513dac565e9928fd..3f876088a1040eeee424008557e7b86c4ab650d2 100644 (file)
@@ -343,7 +343,7 @@ static snd_pcm_ops_t snd_pcm_file_ops = {
        .hw_params = snd_pcm_file_hw_params,
        .hw_free = snd_pcm_file_hw_free,
        .sw_params = snd_pcm_generic_sw_params,
-       .channel_info = snd_pcm_generic_channel_info,
+       .channel_info = snd_pcm_generic_channel_info_slave,
        .dump = snd_pcm_file_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,
index 9cf2505fa25a754708f0f8d560c32e1ae7d8b818..7c26f5b4134b4773908d60c1af65a71badf1fc63 100644 (file)
@@ -102,6 +102,12 @@ int snd_pcm_generic_channel_info(snd_pcm_t *pcm, snd_pcm_channel_info_t *info)
 {
        return snd_pcm_channel_info_shm(pcm, info, -1);
 }
+int snd_pcm_generic_channel_info_slave(snd_pcm_t *pcm, snd_pcm_channel_info_t *info)
+{
+       snd_pcm_generic_t *generic = pcm->private_data;
+       return snd_pcm_channel_info(generic->slave, info);
+}
 
 int snd_pcm_generic_status(snd_pcm_t *pcm, snd_pcm_status_t * status)
 { 
index bb086c9dc24abe693bbc1a825ae68df215ef250c..2d2b052a699066bf541c50e945b05b6d429d8da4 100644 (file)
@@ -34,6 +34,7 @@ int snd_pcm_generic_sw_params(snd_pcm_t *pcm, snd_pcm_sw_params_t *params);
 int snd_pcm_generic_hw_refine(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
 int snd_pcm_generic_hw_params(snd_pcm_t *pcm, snd_pcm_hw_params_t *params);
 int snd_pcm_generic_channel_info(snd_pcm_t *pcm, snd_pcm_channel_info_t * info);
+int snd_pcm_generic_channel_info_slave(snd_pcm_t *pcm, snd_pcm_channel_info_t * info);
 int snd_pcm_generic_status(snd_pcm_t *pcm, snd_pcm_status_t * status);
 snd_pcm_state_t snd_pcm_generic_state(snd_pcm_t *pcm);
 int snd_pcm_generic_prepare(snd_pcm_t *pcm);
index e2eaaedb9e4c6f7b608e58a0418d44776fa882c3..608478b5c235e9d3470efa7224c555a8a5a15096 100644 (file)
@@ -126,7 +126,7 @@ static snd_pcm_ops_t snd_pcm_hooks_ops = {
        .hw_params = snd_pcm_hooks_hw_params,
        .hw_free = snd_pcm_hooks_hw_free,
        .sw_params = snd_pcm_generic_sw_params,
-       .channel_info = snd_pcm_generic_channel_info,
+       .channel_info = snd_pcm_generic_channel_info_slave,
        .dump = snd_pcm_hooks_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,
index 0c18e7e23afd4e8451f0634948d42f133f9e6687..7ff34ff7b5d23e30719c99eb9e404e490e6e61be 100644 (file)
@@ -945,7 +945,7 @@ static snd_pcm_ops_t snd_pcm_plug_ops = {
        .hw_params = snd_pcm_plug_hw_params,
        .hw_free = snd_pcm_plug_hw_free,
        .sw_params = snd_pcm_generic_sw_params,
-       .channel_info = snd_pcm_generic_channel_info,
+       .channel_info = snd_pcm_generic_channel_info_slave,
        .dump = snd_pcm_plug_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,