[pulseaudio-discuss] [PATCH v2] alsa-sink/source: always set reconfiguration callback

Alexander E. Patrakov patrakov at gmail.com
Sat Apr 28 13:36:44 UTC 2018


Looks good to me.

2018-04-28 0:07 GMT+08:00 Sangchul Lee <sangchul1011 at gmail.com>:
> From: Sangchul Lee <sangchul1011 at gmail.com>
>
> Reconfiguration callback should also be set in case of avoiding resampling
> option. This patch set the callback for every case because the callback
> has already conditions to leave if it is not needed.
> Also unnecessary codes of setting alternate sample rate to 0 are removed.
>
> Signed-off-by: Sangchul Lee <sc11.lee at samsung.com>
> ---
>  src/modules/alsa/alsa-sink.c   | 3 +--
>  src/modules/alsa/alsa-source.c | 3 +--
>  src/pulsecore/sink.c           | 9 ++-------
>  src/pulsecore/source.c         | 9 ++-------
>  4 files changed, 6 insertions(+), 18 deletions(-)
>
> diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c
> index afdf813..4568a19 100644
> --- a/src/modules/alsa/alsa-sink.c
> +++ b/src/modules/alsa/alsa-sink.c
> @@ -2434,8 +2434,7 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca
>          u->sink->set_port = sink_set_port_ucm_cb;
>      else
>          u->sink->set_port = sink_set_port_cb;
> -    if (u->sink->alternate_sample_rate)
> -        u->sink->reconfigure = sink_reconfigure_cb;
> +    u->sink->reconfigure = sink_reconfigure_cb;
>      u->sink->userdata = u;
>
>      pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq);
> diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c
> index 73c2a25..8014bc0 100644
> --- a/src/modules/alsa/alsa-source.c
> +++ b/src/modules/alsa/alsa-source.c
> @@ -2110,8 +2110,7 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p
>          u->source->set_port = source_set_port_ucm_cb;
>      else
>          u->source->set_port = source_set_port_cb;
> -    if (u->source->alternate_sample_rate)
> -        u->source->reconfigure = source_reconfigure_cb;
> +    u->source->reconfigure = source_reconfigure_cb;
>      u->source->userdata = u;
>
>      pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);
> diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
> index b801b6b..38e8e50 100644
> --- a/src/pulsecore/sink.c
> +++ b/src/pulsecore/sink.c
> @@ -271,11 +271,6 @@ pa_sink* pa_sink_new(
>      else
>          s->alternate_sample_rate = s->core->alternate_sample_rate;
>
> -    if (s->sample_spec.rate == s->alternate_sample_rate) {
> -        pa_log_warn("Default and alternate sample rates are the same.");
> -        s->alternate_sample_rate = 0;
> -    }
> -
>      s->inputs = pa_idxset_new(NULL, NULL);
>      s->n_corked = 0;
>      s->input_to_master = NULL;
> @@ -1500,9 +1495,9 @@ int pa_sink_reconfigure(pa_sink *s, pa_sample_spec *spec, bool passthrough) {
>              default_rate_is_usable = true;
>          if (default_rate % 4000 == 0 && spec->rate % 4000 == 0)
>              default_rate_is_usable = true;
> -        if (alternate_rate && alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
> +        if (alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
>              alternate_rate_is_usable = true;
> -        if (alternate_rate && alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
> +        if (alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
>              alternate_rate_is_usable = true;
>
>          if (alternate_rate_is_usable && !default_rate_is_usable)
> diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
> index ffb8b6c..02ae87a 100644
> --- a/src/pulsecore/source.c
> +++ b/src/pulsecore/source.c
> @@ -258,11 +258,6 @@ pa_source* pa_source_new(
>      else
>          s->alternate_sample_rate = s->core->alternate_sample_rate;
>
> -    if (s->sample_spec.rate == s->alternate_sample_rate) {
> -        pa_log_warn("Default and alternate sample rates are the same.");
> -        s->alternate_sample_rate = 0;
> -    }
> -
>      s->outputs = pa_idxset_new(NULL, NULL);
>      s->n_corked = 0;
>      s->monitor_of = NULL;
> @@ -1081,9 +1076,9 @@ int pa_source_reconfigure(pa_source *s, pa_sample_spec *spec, bool passthrough)
>              default_rate_is_usable = true;
>          if (default_rate % 4000 == 0 && spec->rate % 4000 == 0)
>              default_rate_is_usable = true;
> -        if (alternate_rate && alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
> +        if (alternate_rate % 11025 == 0 && spec->rate % 11025 == 0)
>              alternate_rate_is_usable = true;
> -        if (alternate_rate && alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
> +        if (alternate_rate % 4000 == 0 && spec->rate % 4000 == 0)
>              alternate_rate_is_usable = true;
>
>          if (alternate_rate_is_usable && !default_rate_is_usable)
> --
> 2.7.4
>
> _______________________________________________
> pulseaudio-discuss mailing list
> pulseaudio-discuss at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss



-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list