mpv/mpvcore/player
wm4 3bed78fdfd video: add heuristic to prevent framedrop during hrseek if pts broken
Using --start with files that use DTS only, or which simply have broken
PTS timestamps, would incorrectly drop frames and possibly not execute
the seek correctly.

Add yet another heuristic to detect this. The intent is that --start and
hr-seeks in general should work correctly, but in order to keep things
fast, we still want to allow frame dropping during hr-seek if there are
no problems doing so. Do this by disabling frame dropping by default,
but re-enabling it if there are no problems found for a while. As a
consequence, --start might be somewhat slower, but normal user
interaction should remain as fast as before.

Note that there's something subtle about the added code: the
has_broken_packet_pts field is checked even before the first packet is
fed to dec_video.c, so the field must not be set to 0 right on start.
It's not initially set to 0 anyway, because the heuristic requires
decoding some images before enabling frame drop anyway.

Note 2: it's not clear whether frame dropping during hr-seek really
helps; I didn't benchmark it.
2013-11-28 15:20:33 +01:00
..
lua
timeline timeline: reject mplayer2 EDL files, change EDL header 2013-11-21 15:59:00 +01:00
audio.c video: replace d_video->pts field, change PTS jump checks 2013-11-27 21:14:39 +01:00
command.c cosmetics: rename video/audio reset functions 2013-11-27 21:14:39 +01:00
command.h
configfiles.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
loadfile.c sub: respect detected language for fuzzy-matched external subtitles 2013-11-25 23:41:02 +01:00
main.c build: make cygwin use *nix timers 2013-11-26 00:33:40 +01:00
misc.c Reduce stheader.h includes, move stream types to mp_common.h 2013-11-23 22:08:42 +01:00
mp_core.h video: replace d_video->pts field, change PTS jump checks 2013-11-27 21:14:39 +01:00
mp_lua.c Rename sub.c/.h to osd.c/.h 2013-11-24 14:44:58 +01:00
mp_lua.h
osd.c Rename sub.c/.h to osd.c/.h 2013-11-24 14:44:58 +01:00
playloop.c video: replace d_video->pts field, change PTS jump checks 2013-11-27 21:14:39 +01:00
screenshot.c osd: remove mp_osd_res.video_par field 2013-11-24 14:44:58 +01:00
screenshot.h
sub.c dec_video: make vf_input and hwdec_info statically allocated 2013-11-23 21:39:07 +01:00
video.c video: add heuristic to prevent framedrop during hrseek if pts broken 2013-11-28 15:20:33 +01:00