mirror of
https://github.com/alsa-project/alsa-lib.git
synced 2025-11-10 13:30:01 -05:00
Fix generic channel_info callbacks
Fixed generic channel_info callbacks for many plugins. The allocation of unnecessary internal buffers is avoided.
This commit is contained in:
parent
d81d6940ca
commit
18053076e2
6 changed files with 9 additions and 10 deletions
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue