0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 03:52:22 +02:00
mpv/audio/out
wm4 e38b0b245e ao_alsa: don't silence legitimate underrun if final chunk underruns
It turns out that case 2) mentioned in the previous commit happened
quite often when playback ended normally.

There is probably a legitimate underrun with normal buffer sizes (100
ms, 4 fragments, gapless audio in "weak" mode). This is a result of the
player waiting for video to end, and/or the time needed to kill the
video window. The former case means that it depends on your test case
whether it happens (a file where video ends slightly before audio is
less likely to trigger it).

This in turn is due to how gapless playback works. Achieving not having
a "gap" requires queuing the audio of the next file without playing a
partial chunk (as AOPLAY_FINAL_CHUNK would do). The partial chunk is
then played as part of the first chunk played from the next file. But if
it detects "later" that there is no next file, it still needs to get rid
of the last fragment with AOPLAY_FINAL_CHUNK. At this point it's too
late, and an underrun may have actually happened. The way the player
uninits and reinits the entire playback engine for the next file in a
"serial" manner means it cannot know in advance whether this works.

This is the reason why the idiot who added the underrun exception for
the last chunk in play() was wrong (I wrote that btw., before you accuse
me of being rude). Yes, it's a real underrun, and you could probably
hear it.
2019-10-06 20:46:22 +02:00
..
ao_alsa.c ao_alsa: don't silence legitimate underrun if final chunk underruns 2019-10-06 20:46:22 +02:00
ao_audiounit.m ao/audiounit: include AVAudioSession buffer in latency calc 2019-04-05 10:29:44 +07:00
ao_coreaudio_chmap.c audio/out: add AudioUnit output driver for iOS 2016-11-01 16:25:40 +01:00
ao_coreaudio_chmap.h audio/out: add AudioUnit output driver for iOS 2016-11-01 16:25:40 +01:00
ao_coreaudio_exclusive.c ao_coreaudio: insane hack for passing through AC3 as float PCM 2017-06-30 09:06:01 +02:00
ao_coreaudio_properties.c ao_coreaudio: change license to LGPL 2017-05-08 13:57:40 +02:00
ao_coreaudio_properties.h ao_coreaudio: change license to LGPL 2017-05-08 13:57:40 +02:00
ao_coreaudio_utils.c ao/audiounit: improve a/v sync 2019-04-05 10:29:44 +07:00
ao_coreaudio_utils.h ao/audiounit: improve a/v sync 2019-04-05 10:29:44 +07:00
ao_coreaudio.c ao_coreaudio: change license to LGPL 2017-05-08 13:57:40 +02:00
ao_jack.c ao_jack: only auto-connect to audio ports 2018-09-26 22:44:48 +03:00
ao_lavc.c encode: get rid of the output packet queue 2018-05-03 01:08:44 +03:00
ao_null.c ao_null: add --ao-null-format option for debugging 2018-01-30 03:10:27 -08:00
ao_openal.c Revert "ao_openal: enable building on OSX" 2018-08-26 15:49:22 +03:00
ao_opensles.c ao_opensles: fix delayed audio 2019-09-02 00:38:05 +03:00
ao_oss.c options: add M_OPT_FILE to some more options that take files 2019-09-27 13:19:29 +02:00
ao_pcm.c ao_pcm: drop AF_FORMAT_S24 usage 2017-07-07 17:56:18 +02:00
ao_pulse.c ao_pulse: add the newly added mappings for TrueHD/DTS-HD formats 2019-09-27 00:23:36 +03:00
ao_rsound.c ao_rsound: allow setting the host 2017-08-21 15:46:00 +02:00
ao_sdl.c ao_sdl: fix default buffer size 2018-03-08 17:12:32 -08:00
ao_sndio.c ao_sndio: drop AF_FORMAT_S24 usage 2017-07-07 17:56:18 +02:00
ao_wasapi_changenotify.c ao_wasapi_changenotify: use %ls instead of %S for wchar_t 2017-04-20 07:38:03 +02:00
ao_wasapi_utils.c audio: fix annyoing af_get_best_sample_formats() definition 2018-01-25 20:18:32 -08:00
ao_wasapi.c ao_wasapi: return bool instead of HRESULT from thread_init 2017-08-07 14:33:03 -07:00
ao_wasapi.h ao_wasapi: reorganize wasapi.h 2017-08-07 14:33:03 -07:00
ao.c ao: use a local option struct 2018-05-24 19:56:35 +02:00
ao.h ao: use a local option struct 2018-05-24 19:56:35 +02:00
internal.h encode: get rid of the output packet queue 2018-05-03 01:08:44 +03:00
pull.c audio: add audio softvol processing to AO 2017-11-29 21:30:51 +01:00
push.c encode: get rid of the output packet queue 2018-05-03 01:08:44 +03:00