From 9b6c84ad6e572854f199379177226e24c317d0d8 Mon Sep 17 00:00:00 2001 From: Pierre-Louis Bossart Date: Fri, 16 Jul 2010 16:46:28 -0500 Subject: AC3 passthrough support Second version after Tanu's feedback TODO: - notify client that volume control is disabled - change sink rate in passthrough mode if needed - automatic detection of passthrough mode instead of hard coded profile names Signed-off-by: Pierre-Louis Bossart --- src/modules/alsa/alsa-sink.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/modules/alsa/alsa-sink.c') diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c index 2e54dbe7..80fdcaa2 100644 --- a/src/modules/alsa/alsa-sink.c +++ b/src/modules/alsa/alsa-sink.c @@ -1616,6 +1616,13 @@ static int setup_mixer(struct userdata *u, pa_bool_t ignore_dB) { return 0; } + /* FIXME: need automatic detection rather than hard-coded path */ + if (!strcmp(u->mixer_path->name, "iec958-passthrough-output")) { + u->sink->flags |= PA_SINK_PASSTHROUGH; + } else { + u->sink->flags &= ~PA_SINK_PASSTHROUGH; + } + if (!u->mixer_path->has_volume) pa_log_info("Driver does not support hardware volume control, falling back to software volume control."); else { -- cgit