1
mirror of https://github.com/mpv-player/mpv synced 2024-11-18 21:16:10 +01:00
mpv/audio/out
wm4 41aefce730 audio: switch to libavcodec channel order, use libavresample for mixing
Switch the internal channel order to libavcodec's. If the channel number
mismatches at some point, use libavresample for up- or downmixing.
Remove the old af_pan automatic downmixing.

The libavcodec channel order should be equivalent to WAVEFORMATEX order,
at least nowadays. reorder_ch.h assumes that WAVEFORMATEX and libavcodec
might be different, but all defined channels have the same mappings.

Remove the downmixing with af_pan as well as the channel conversion with
af_channels from af.c, and prefer af_lavrresample for this. The
automatic downmixing behavior should be the same as before (if the
--channels option is set to 2, which is the default, the audio output
is forced to 2 channels, and libavresample does all downmixing).

Note that mpv still can't do channel layouts. It will pick the default
channel layout according to the channel count. This will be fixed later
by passing down the channel layout as well.

af_hrtf depends on the order of the input channels, so reorder to ALSA
(for which this code was written). This is better than changing the
filter code, which is more risky.

ao_pulse can accept waveext order directly, so set that as channel
mapping.
2013-04-13 04:21:28 +02:00
..
ao_alsa.c ao_alsa: reorder channels from internal to alsa order 2013-04-13 04:21:28 +02:00
ao_coreaudio.c ao_coreaudio: use 0 as timeout for CFRunLoopRunInMode 2013-01-20 16:37:30 +01:00
ao_dsound.c ao_dsound: add missing include 2013-03-23 21:04:27 +01:00
ao_jack.c ao_jack: fix deprecation warning 2013-04-12 00:10:39 +02:00
ao_lavc.c audio/out, video/out: hide encoding VO/AO 2013-02-06 23:04:18 +01:00
ao_null.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
ao_openal.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
ao_oss.c audio: remove support for native alaw/mulaw/adpcm output 2012-12-11 00:37:54 +01:00
ao_pcm.c ao_pcm: fix references to -novideo 2012-12-03 21:08:48 +01:00
ao_portaudio.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
ao_pulse.c audio: switch to libavcodec channel order, use libavresample for mixing 2013-04-13 04:21:28 +02:00
ao_rsound.c audio: remove support for native alaw/mulaw/adpcm output 2012-12-11 00:37:54 +01:00
ao_sdl.c ao_sdl: fix compilation with Libav 2013-01-06 16:04:17 +01:00
ao.c audio/out, video/out: hide encoding VO/AO 2013-02-06 23:04:18 +01:00
ao.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
audio_out_internal.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00