diff options
author | Aman Gupta <aman@tmm1.net> | 2018-02-15 19:57:34 -0800 |
---|---|---|
committer | Kevin Mitchell <kevmitch@gmail.com> | 2018-02-17 23:01:47 -0800 |
commit | b67d2ede67a72d999d5afe4e4def802cf047fc4d (patch) | |
tree | d509c2e81dd12d48f3399ad32e04bfe69266833c /video/out/cocoa_common.h | |
parent | 288ed66a355ed9a0e9a5730f87c2fb60e8e546cc (diff) | |
download | mpv-b67d2ede67a72d999d5afe4e4def802cf047fc4d.tar.bz2 mpv-b67d2ede67a72d999d5afe4e4def802cf047fc4d.tar.xz |
video: do not buffer extra frames with VO_CAP_NORETAIN outputs
This fixes playback stalls on some mediacodec hardware decoders,
which expect that frame buffers will be rendered and returned back
to the decoder as soon as possible.
Specifically, the issue was observed on an NVidia SHIELD Android TV,
only when playing an H264 sample which switched between interlaced
and non-interlaced frames. On an interlacing change, the decoder
expects all outstanding frames would be returned to it before it
would emit any new frames. Since a single extra frame always remained
buffered by mpv, playback would stall. After this commit, no extra
frames are buffered by mpv when using vo_mediacodec_embed.
Diffstat (limited to 'video/out/cocoa_common.h')
0 files changed, 0 insertions, 0 deletions