[pulseaudio-discuss] [PATCH] sink, source: Rework reconfiguration logic to apply to more than rate
Tanu Kaskinen
tanuk at iki.fi
Fri Oct 20 18:42:26 UTC 2017
On Mon, 2017-10-16 at 14:33 +0530, Arun Raghavan wrote:
> This rejigs the update_rate() logic to encompass changes to the sample
> spec as a whole, as well as passthrough status. As a result,
> sinks/sources provide a reconfigure() method which allows
> reconfiguration as required.
>
> The behaviour itself is currently unchanged -- alsa-sink/-source do not
> actually implement anything other than rate updates for now (nor are
> they ever requested to). This can be modified in the future, to allow,
> for example 24-bit output when incoming media supports it, as well as
> channel count changes for passthrough sinks.
>
> Another related change is that passthrough status is now part of
> sink/source reconfiguration, and we can stop doing a suspend/unsuspend
> when entering/leaving passthrough state. So that part is now divided
> in two -- pa_sink_reconfigure() sets the sink in passthrough mode if
> required, and pa_sink_enter_passthrough() sets up everything else
> (this currently means only volumes, but could disable other processing)
> for passthrough mode.
> ---
> src/modules/alsa/alsa-sink.c | 16 ++++++----
> src/modules/alsa/alsa-source.c | 14 +++++----
> src/pulsecore/sink-input.c | 6 ++--
> src/pulsecore/sink.c | 71 +++++++++++++++++-------------------------
> src/pulsecore/sink.h | 7 ++---
> src/pulsecore/source-output.c | 6 ++--
> src/pulsecore/source.c | 58 ++++++++++++++++++----------------
> src/pulsecore/source.h | 6 ++--
> 8 files changed, 90 insertions(+), 94 deletions(-)
Looks good to me.
--
Tanu
https://www.patreon.com/tanuk
More information about the pulseaudio-discuss
mailing list