summaryrefslogtreecommitdiffstats
path: root/options
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-10-04 19:31:17 +0200
committerwm4 <wm4@nowhere>2016-10-04 19:31:17 +0200
commit39f515cb6a35b1c47a7b12bf600a673bf35921ac (patch)
treedda54d449e2ab51d22a8aa965df1fea93815a9d1 /options
parent13dcf82a96ba2b7db0966d69e38819d5e0feb65d (diff)
downloadmpv-39f515cb6a35b1c47a7b12bf600a673bf35921ac.tar.bz2
mpv-39f515cb6a35b1c47a7b12bf600a673bf35921ac.tar.xz
audio/out: prevent underruns with spdif under certain conditions
The player tries to avoid splitting frames with spdif (sample alignment stuff). This can in certain corner cases with certain drivers lead to the situation that ao_get_space() returns a number higher than 0 and lower than the audio frame size. The playloop will round this down to 0 bytes and do nothing, leading to a missed wakeup. This can lead to underruns or playback completely getting stuck. It can be reproduced by playing AC3 passthrough with no video and: --ao=null --ao-null-buffer=0.256 --ao-null-outburst=6100 This commit attempts to fix it by allowing the playloop to write some additional data (to get a complete frame), that will be buffered within the AO ringbuffer even if the audio device doesn't want it.
Diffstat (limited to 'options')
0 files changed, 0 insertions, 0 deletions