mpv/audio
Diogo Franco (Kovensky) df1922babe ao_wasapi0: Support shared mode, better format guessing method
Uses WASAPI in shared mode by default, add :exclusive flag to choose
exclusive mode (duh). WASAPI works somewhat different in shared mode:
the OS suggests the sample format to use, and the GetBuffer call is
done slightly differently.

The shared mode driver does not consume audio as fast as it notifies
the thread; we need to check how much we're allowed to write. Not doing
this correctly results in spamming the console with
AUDCLNT_E_BUFFER_TOO_LARGE errors.

When guessing formats for exclusive mode, try several sample size and
sample rate combinations instead of just falling back to s16le@44100hz.
If none of the rates are accepted, tries remixing >6 channels to 5.1
channels. Failing that, tries remixing to stereo. Failing everything,
including the CD Red Book format, what else is left to test?

Calculate buffer_block_size based on the configured channels and bytes
per sample; MSDN docs say nBlockAlign is not guaranteed to be set for
anything but integer PCM formats.
2013-07-22 02:42:37 +02:00
..
decode demux_mkv: never force output sample rate 2013-07-16 22:44:15 +02:00
filter af_lavfi: add libavfilter bridge 2013-05-23 17:44:06 +02:00
out ao_wasapi0: Support shared mode, better format guessing method 2013-07-22 02:42:37 +02:00
audio.c audio: add channel map selection function 2013-05-12 21:24:57 +02:00
audio.h audio/filters: add af_force 2013-05-12 21:24:56 +02:00
chmap.c chmap: fix oddity due to ambiguous 6.1 ffmpeg channel layout 2013-05-13 23:55:39 +02:00
chmap.h audio/out: channel map selection 2013-05-12 21:24:57 +02:00
chmap_sel.c ao_jack: allow more control about channel layouts 2013-07-07 18:37:55 +02:00
chmap_sel.h audio: add channel map selection function 2013-05-12 21:24:57 +02:00
fmt-conversion.c audio: add double sample format 2013-05-12 21:24:57 +02:00
fmt-conversion.h
format.c audio: fix af_fmt_seconds_to_bytes 2013-06-16 19:28:04 +02:00
format.h audio: fix af_fmt_seconds_to_bytes 2013-06-16 19:28:04 +02:00
mixer.c audio/out: switch to channel map 2013-05-12 21:24:54 +02:00
mixer.h
reorder_ch.c audio: fix compilation with older libavresample versions 2013-05-13 00:39:07 +02:00
reorder_ch.h audio: fix compilation with older libavresample versions 2013-05-13 00:39:07 +02:00