mirror of
https://github.com/mpv-player/mpv
synced 2025-01-14 11:01:35 +00:00
5afa68835a
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. |
||
---|---|---|
.. | ||
ao_alsa.c | ||
ao_coreaudio_chmap.c | ||
ao_coreaudio_chmap.h | ||
ao_coreaudio_exclusive.c | ||
ao_coreaudio_properties.c | ||
ao_coreaudio_properties.h | ||
ao_coreaudio_utils.c | ||
ao_coreaudio_utils.h | ||
ao_coreaudio.c | ||
ao_dsound.c | ||
ao_jack.c | ||
ao_lavc.c | ||
ao_null.c | ||
ao_openal.c | ||
ao_oss.c | ||
ao_pcm.c | ||
ao_pulse.c | ||
ao_rsound.c | ||
ao_sdl.c | ||
ao_sndio.c | ||
ao_wasapi_changenotify.c | ||
ao_wasapi_utils.c | ||
ao_wasapi_utils.h | ||
ao_wasapi.c | ||
ao_wasapi.h | ||
ao.c | ||
ao.h | ||
internal.h | ||
pull.c | ||
push.c |