From 425ac31a3b07cbef79891d01a3655b9c6d7efa32 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 18 Sep 2012 21:41:22 +0200 Subject: softvol, ao_pulse: prefer ao_pulse volume control by default --softvol is enabled by default. For most audio outputs, this is a good thing, as they have either their own (bad) soft volume implementation, or control the system mixer. With ao_pulse, the situation is a bit different: it supports per-application volume (i.e. volume control is not really global). More importantly, ao_pulse uses a rather large audio buffer, and changing the volume with mplayer's volume filter has a large delay. With the native ao_pulse volume control, it's instant, because PulseAudio's audio filtering happens at a later stage in its processing pipeline (inaccessible for mplayer). This means native volume control should really be allowed for ao_pulse, while it's the reverse for other audio outputs. Make --softvol a choice option, and add a new "auto" choice. This is default and will use PA's volume control with ao_pulse, and mplayer's volume filter otherwise (i.e. the old softvol behavior). --- mixer.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'mixer.h') diff --git a/mixer.h b/mixer.h index efeb62856f..3ba44ad0df 100644 --- a/mixer.h +++ b/mixer.h @@ -24,11 +24,17 @@ #include "libaf/af.h" #include "libao2/audio_out.h" +enum { + SOFTVOL_NO = 0, + SOFTVOL_YES = 1, + SOFTVOL_AUTO = 2, +}; + typedef struct mixer { struct ao *ao; af_stream_t *afilter; int volstep; - bool softvol; + int softvol; float softvol_max; bool muted; bool muted_by_us; -- cgit v1.2.3