]> git.alsa-project.org Git - alsa-lib.git/commitdiff
Fix generic channel_info callbacks
authorTakashi Iwai <tiwai@suse.de>
Thu, 19 May 2005 16:50:24 +0000 (16:50 +0000)
committerTakashi Iwai <tiwai@suse.de>
Thu, 19 May 2005 16:50:24 +0000 (16:50 +0000)
Fixed generic channel_info callbacks for many plugins.
The allocation of unnecessary internal buffers is avoided.

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
src/pcm/pcm_rate.c

index 38c6577ae46308554f98e65d78c060704808610d..a77ae409e0c528a1846fd5bc99c3b37fba6ad246 100644 (file)
@@ -344,7 +344,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_slave,
+       .channel_info = snd_pcm_generic_channel_info,
        .dump = snd_pcm_file_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,
index c06f765d14d56be68b94597ea6c4a5fb586d0faf..10f9bea0287da3a6600b3375c415050218ef3f9c 100644 (file)
@@ -111,11 +111,6 @@ int snd_pcm_generic_prepare(snd_pcm_t *pcm)
 }
 
 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);
index 19e20fd6b8bd5e65cd3d526a0fdd98e29c87a2b0..6acb61318728732fd94a22dd44facac7fb7b7515 100644 (file)
@@ -36,7 +36,6 @@ 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 8e6a83b113e23f4fb2492c69bd29944524966810..340e827225dc825d5f1611c417f0e9d45dd59cb2 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_slave,
+       .channel_info = snd_pcm_generic_channel_info,
        .dump = snd_pcm_hooks_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,
index 53ba4430f20dd88165b44bec81d7f2e259d955c8..656196abde8511febc97f5bcefd33bbdf1aab3ff 100644 (file)
@@ -949,7 +949,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_slave,
+       .channel_info = snd_pcm_generic_channel_info,
        .dump = snd_pcm_plug_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,
index df43e3eb5a09c31d65cb286ea824c7f1e8f16513..80480bfc62bd5a5b7c4169b510fcfa725aa2ca50 100644 (file)
@@ -620,6 +620,11 @@ static int snd_pcm_rate_hw_free(snd_pcm_t *pcm)
        return snd_pcm_hw_free(rate->gen.slave);
 }
 
+int snd_pcm_rate_channel_info(snd_pcm_t *pcm, snd_pcm_channel_info_t * info)
+{
+       return snd_pcm_channel_info_shm(pcm, info, -1);
+}
+
 static void recalc(snd_pcm_t *pcm, snd_pcm_uframes_t *val)
 {
        snd_pcm_rate_t *rate = pcm->private_data;
@@ -1374,7 +1379,7 @@ static snd_pcm_ops_t snd_pcm_rate_ops = {
        .hw_params = snd_pcm_rate_hw_params,
        .hw_free = snd_pcm_rate_hw_free,
        .sw_params = snd_pcm_rate_sw_params,
-       .channel_info = snd_pcm_generic_channel_info,
+       .channel_info = snd_pcm_rate_channel_info,
        .dump = snd_pcm_rate_dump,
        .nonblock = snd_pcm_generic_nonblock,
        .async = snd_pcm_generic_async,