1
mirror of https://github.com/mpv-player/mpv synced 2024-08-04 14:59:58 +02:00
mpv/libao2
wm4 06b1de2687 mixer, libao: add proper mute control
The mixer frontend code can now make use of a proper system mixer mute
toggle, if the audio output driver supports it.

The consequence is that, if support is available, mplayer will no longer
temporarily set the system volume to 0 if mute is enabled.

Generally, the code now deals with the following combinations of available
AO features:
- software volume control forced by user (--softvol / soft_vol flag)
  => if enabled, never touch the "hardware" controls
- "hardware"/driver volume control available (whether
  AOCONTROL_GET/SET_VOLUME works)
  => if not available, enable volume controls by enabling softvol
- "hardware"/driver mute control (AOCONTROL_GET/SET_MUTE)
  => if not available, emulate by setting volume to 0
- whether the volume+mute controls are kept or not when the AO is closed
  (indicated by ao->no_persistent_volume)
  => if not persistent, restore the volume/mute next time the AO is opened
2012-01-18 04:21:46 +01:00
..
ao_alsa5.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ao_alsa.c ao_alsa: remove warning by simplifying error handling case 2011-04-20 04:22:53 +03:00
ao_arts.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ao_coreaudio.c ao_coreaudio: signal that volume controls are not persistent 2012-01-18 04:21:45 +01:00
ao_dart.c Fix function declarations to avoid casting function pointers. 2010-01-01 13:18:49 +00:00
ao_dsound.c libao2: try to identify some audio outputs that have persistent volume 2012-01-18 04:21:46 +01:00
ao_esd.c libao2: try to identify some audio outputs that have persistent volume 2012-01-18 04:21:46 +01:00
ao_ivtv.c audio: export audio pts to AO drivers 2011-07-31 16:31:07 +03:00
ao_jack.c ao_jack: increase maximum allowed channels from 6 to 8. 2010-11-02 04:07:42 +02:00
ao_kai.c Include libavutil/avutil.h for FFMIN 2010-03-10 11:33:02 +00:00
ao_mpegpes.c audio: export audio pts to AO drivers 2011-07-31 16:31:07 +03:00
ao_nas.c libao2: try to identify some audio outputs that have persistent volume 2012-01-18 04:21:46 +01:00
ao_null.c ao_null: convert to new API, cleanup/rewrite 2011-05-05 04:45:44 +03:00
ao_openal.c libao2: try to identify some audio outputs that have persistent volume 2012-01-18 04:21:46 +01:00
ao_oss.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ao_pcm.c ao_pcm: fix pointless message due to uninitialize variable 2011-08-11 20:58:05 +03:00
ao_pulse.c Add a missing const, fixes a compiler warning. 2009-12-18 20:27:35 +00:00
ao_rsound.c ao_rsound: add new RSound audio output driver 2011-06-26 06:19:42 +03:00
ao_sdl.c libao2: try to identify some audio outputs that have persistent volume 2012-01-18 04:21:46 +01:00
ao_sgi.c Delete things related to old translation system 2010-03-10 03:47:14 +02:00
ao_sun.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
ao_v4l2.c audio: export audio pts to AO drivers 2011-07-31 16:31:07 +03:00
ao_win32.c Add support for distinguishing between little- and big-endian SPDIF AC3 2010-01-11 20:27:52 +00:00
audio_out_internal.h audio output: add a new AO driver API 2011-05-05 01:39:53 +03:00
audio_out.c audio: move ready-for-ao data buffer from decoder to AO 2011-07-02 09:22:32 +03:00
audio_out.h mixer, libao: add proper mute control 2012-01-18 04:21:46 +01:00