[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