mpv/player
wm4 a3bd8c3b5f player: make screenshot each-frame mode more accurate
Due to asynchronicity, we generally can't guarantee that a video frame
matches up with other events such as playback time change exactly (since
decoding, presentation, and property update all happen at different
times). This is a complaint in the referenced bug report, where
screenshot filenames in each-frame screenshot did not use the correct
timestamp, and instead was lagging behind by 1 frame.

But in this case, synchronicity was already pretty much forced with wait
calls. The only problem was that the playback time was updated at a
later time, which results in the observed 1 frame lag. Fix this by
moving the place where the screenshot is triggered in this mode.

Normal screenshots may still have the old problem. There is no effort
made to guarantee the timestamps absolutely line up, same as with the
OSD. (If you want a guarantee, you need to use a video filter, such as
libavfilter's drawtext. These will obviously use the proper timestamp,
instead of going through the somewhat asynchronous property etc. system
in the player frontend.)

Fixes: #7433
2020-02-07 13:32:21 +01:00
..
javascript js: use osd-dimentions for mp.get_osd_{size,margins} 2020-01-08 11:49:49 +02:00
lua options.lua: avoid unnecessary on_update calls 2020-02-06 22:57:53 +01:00
audio.c command: shuffle some crap around 2019-11-25 00:26:36 +01:00
client.c scripting: load scripts from directories 2020-02-01 18:09:40 +01:00
client.h scripting: load scripts from directories 2020-02-01 18:09:40 +01:00
command.c Revert "options: move cursor autohiding opts to mp_vo_opts" 2020-01-12 01:54:41 +00:00
command.h command, vo: add a mechanism for runtime DPI scale changes 2020-01-09 19:13:42 +01:00
configfiles.c player: fix minor coding style issue 2020-01-26 14:29:48 +01:00
core.h scripting: load scripts from directories 2020-02-01 18:09:40 +01:00
external_files.c external_files: add .lrc subtitle extension 2019-09-02 01:25:43 +03:00
external_files.h player: get rid of mpv_global.opts 2018-05-24 19:56:35 +02:00
javascript.c scripting: load scripts from directories 2020-02-01 18:09:40 +01:00
loadfile.c playlist: change from linked list to an array 2019-12-28 21:32:15 +01:00
lua.c lua: fix typo in comment 2020-02-06 23:02:23 +01:00
main.c player: make failure to load scripts non-fatal again 2020-01-20 19:58:51 +01:00
misc.c playlist: change from linked list to an array 2019-12-28 21:32:15 +01:00
osd.c player: format low cache duration with more decimals 2019-10-11 19:18:43 +02:00
playloop.c player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
screenshot.c player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
screenshot.h player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00
scripting.c scripting: give proper name to scripts using a directory 2020-02-06 19:38:22 +01:00
sub.c player: partially fix backward playback display of cached text subtitles 2020-02-04 20:26:35 +01:00
video.c player: make screenshot each-frame mode more accurate 2020-02-07 13:32:21 +01:00