[alsa-devel] [PATCH] src/pcm/pcm_ladspa.c: Delay LADSPA plugin activate call

Takashi Iwai tiwai at suse.de
Thu Apr 3 12:02:32 CEST 2014


At Thu, 27 Mar 2014 19:05:10 +0100,
Matthias Larisch wrote:
> 
> Some LADSPA Plugins rely on connected control ports on activate call.
> While this is not okay by spec, the spec also encourages the activate
> call happening as late as possible.
> 
> Signed-off-by: Matthias Larisch <mail at matthias-larisch.de>

Thanks, applied.


Takashi

> ---
>  src/pcm/pcm_ladspa.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/pcm/pcm_ladspa.c b/src/pcm/pcm_ladspa.c
> index 9ce5242..7d1e3df 100644
> --- a/src/pcm/pcm_ladspa.c
> +++ b/src/pcm/pcm_ladspa.c
> @@ -645,8 +645,6 @@ static int snd_pcm_ladspa_allocate_instances(snd_pcm_t
> *pcm, snd_pcm_ladspa_t *l return -EINVAL;
>  			}
>  			list_add_tail(&instance->list, &plugin->instances);
> -			if (plugin->desc->activate)
> -				plugin->desc->activate(instance->handle);
>  			if (plugin->policy == SND_PCM_LADSPA_POLICY_DUPLICATE)
> { err = snd_pcm_ladspa_connect_plugin_duplicate(plugin, &plugin->input,
> &plugin->output, instance, idx); if (err < 0) {
> @@ -664,6 +662,8 @@ static int snd_pcm_ladspa_allocate_instances(snd_pcm_t
> *pcm, snd_pcm_ladspa_t *l assert(err >= 0);
>  			err = snd_pcm_ladspa_connect_controls(plugin,
> &plugin->output, instance); assert(err >= 0);
> +			if (plugin->desc->activate)
> +				plugin->desc->activate(instance->handle);
>  		}
>  		err = snd_pcm_ladspa_check_connect(plugin, &plugin->input,
> &instance->input, depth); if (err < 0)
> -- 
> 1.9.1
> [1.2 signature.asc <application/pgp-signature (7bit)>]
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


More information about the Alsa-devel mailing list