mpv/audio/out
Kevin Mitchell 5afa68835a ao_wasapi: fix delay calculation
Make sure that subtraction of performance counters is done correctly.
Follow the *exact* instructions for converting performance counter to something
comparable to the QPCposition returned by IAudioClient::GetPosition
https://msdn.microsoft.com/en-us/library/windows/desktop/dd370889%28v=vs.85%29.aspx

Also make sure that subtraction of unsigned integers is stored into a signed
integer to avoid nastiness. Also be more careful about overflow in the
conversion of the device position into number of samples.

Avoid casting mp_time_us() to a double, and use llrint to convert the
double precision delay_us back to integer for ao_read_data.

Finally, actually check the return value of ao_read_data and add a verbose
message if it is not the expected value. Unfortunately,
there is no way to tell WASAPI when this happens since the frame_count in
ReleaseBuffer must match GetBuffer.
2015-12-21 16:58:51 -08:00
..
ao.c ao: disambiguate default device list entries 2015-11-27 14:42:10 +01:00
ao.h audio: add option for falling back to ao_null 2015-10-05 19:12:23 +02:00
ao_alsa.c ao_alsa: filter audio device list 2015-11-24 19:47:58 +01:00
ao_coreaudio.c ao_coreaudio: avoid unnecessary format changes 2015-10-21 18:54:36 +02:00
ao_coreaudio_chmap.c ao_coreaudio_exclusive: fallback to stereo on unknown channel layouts 2015-10-26 15:55:11 +01:00
ao_coreaudio_chmap.h ao_coreaudio_exclusive: deal with devices return different channel count 2015-10-21 18:54:48 +02:00
ao_coreaudio_exclusive.c ao_coreaudio_exclusive: check for maximum channel count 2015-10-26 16:00:24 +01:00
ao_coreaudio_properties.c
ao_coreaudio_properties.h
ao_coreaudio_utils.c ao_coreaudio: log current format before setting new format 2015-10-21 18:53:50 +02:00
ao_coreaudio_utils.h ao_coreaudio: fix device latency, share the code 2015-07-06 17:49:28 +02:00
ao_dsound.c win32: revert wchar_t changes 2015-08-01 21:09:11 +02:00
ao_jack.c ao_jack: remove "alsa" std-channel-layout choice 2015-11-07 15:20:34 +01:00
ao_lavc.c audio: use AVFrames with more than 8 channels correctly 2015-10-26 15:54:00 +01:00
ao_null.c
ao_openal.c ao_openal: fix sign of speaker angle in comment 2015-11-18 08:27:47 -08:00
ao_oss.c ao_oss: use new sample format determination code 2015-09-10 23:39:46 +02:00
ao_pcm.c audio: fix format function consistency issues 2015-06-26 23:06:37 +02:00
ao_pulse.c audio: fix format function consistency issues 2015-06-26 23:06:37 +02:00
ao_rsound.c audio: remove S8, U16, U24, U32 formats 2015-06-16 21:11:59 +02:00
ao_sdl.c audio: remove S8, U16, U24, U32 formats 2015-06-16 21:11:59 +02:00
ao_sndio.c ao_sndio: fix comment 2015-06-26 23:03:37 +02:00
ao_wasapi.c ao_wasapi: fix delay calculation 2015-12-21 16:58:51 -08:00
ao_wasapi.h ao_wasapi: wrap long lines and use only c99 comment style 2015-12-21 05:03:09 -08:00
ao_wasapi_changenotify.c ao_wasapi: wrap long lines and use only c99 comment style 2015-12-21 05:03:09 -08:00
ao_wasapi_utils.c ao_wasapi: move volume control init to it's own function 2015-12-21 05:23:26 -08:00
ao_wasapi_utils.h ao_wasapi: non-fatal error handling for COM marshalling 2015-12-21 05:23:22 -08:00
internal.h ao: make better use of atomics 2015-05-11 23:27:41 +02:00
pull.c Fix some typos in code comments 2015-12-21 22:28:12 +01:00
push.c audio: fix format function consistency issues 2015-06-26 23:06:37 +02:00