1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-25 16:33:02 +00:00
mpv/mpvcore
wm4 227d087db6 video: display last frame, drain frames on video reconfig
Until now, the player didn't care to drain frames on video reconfig.
Instead, the VO was reconfigured (i.e. resized) before the queued frames
finished displaying. This can for example be observed by passing
multiple images with different size as mf:// filename. Then the window
would resize one frame before image with the new size is displayed. With
--vo=vdpau, the effect is worse, because this VO queues more than 1
frame internally.

Fix this by explicitly draining buffered frames before video reconfig.

Raise the display time of the last frame. Otherwise, the last frame
would be shown for a very short time only. This usually doesn't matter,
but helps when playing image files. This is a byproduct of frame
draining, because normally, video timing is based on the frames queued
to the VO, and we can't do that with frames of different size or format.
So we pretend that the frame before the change is the last frame in
order to time it. This code is incorrect though: it tries to use the
framerate, which often doesn't make sense. But it's good enough to test
this code with mf://.
2013-12-10 20:07:39 +01:00
..
input options: add option to disable using right Alt key as Alt Gr 2013-12-02 09:03:31 +01:00
player video: display last frame, drain frames on video reconfig 2013-12-10 20:07:39 +01:00
asxparser.c core: add a playlist demuxer 2013-08-26 10:09:45 +02:00
asxparser.h
av_common.c vd_lavc: factor out libavcodec thread setup 2013-12-04 23:12:51 +01:00
av_common.h vd_lavc: factor out libavcodec thread setup 2013-12-04 23:12:51 +01:00
av_log.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
av_log.h mplayer: print ffmpeg library versions along with mpv version info 2013-10-14 20:14:17 +02:00
av_opts.c
av_opts.h
bstr.c bstr: make UTF-8 check stricter 2013-08-15 23:40:03 +02:00
bstr.h bstr: add UTF-8 validation and sanitation functions 2013-08-15 23:40:02 +02:00
charset_conv.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
charset_conv.h sub: don't print detected charset if it's UTF-8 2013-08-15 23:40:04 +02:00
codecs.c
codecs.h
cpudetect.c
cpudetect.h
encode_lavc.c Take care of some libavutil deprecations, drop support for FFmpeg 1.0 2013-11-29 17:39:57 +01:00
encode_lavc.h Take care of some libavutil deprecations, drop support for FFmpeg 1.0 2013-11-29 17:39:57 +01:00
encode.h Split mplayer.c 2013-10-30 01:53:53 +01:00
m_config.c options: remove legacy hacks for sub-option handling 2013-12-04 23:13:46 +01:00
m_config.h options: remove legacy hacks for sub-option handling 2013-12-04 23:13:46 +01:00
m_option.c options: allow hwaccel formats in -vf format/noformat 2013-12-07 19:39:45 +01:00
m_option.h options: remove legacy hacks for sub-option handling 2013-12-04 23:13:46 +01:00
m_property.c command: when changing a property, allow showing an extra OSD message 2013-09-21 00:07:42 +02:00
m_property.h command: when changing a property, allow showing an extra OSD message 2013-09-21 00:07:42 +02:00
mp_common.c mp_common: add function which accepts a format string to format playback time 2013-09-15 02:51:17 +02:00
mp_common.h Reduce stheader.h includes, move stream types to mp_common.h 2013-11-23 22:08:42 +01:00
mp_memory_barrier.h
mp_msg.c mp_msg: remove gettext() support 2013-10-18 22:38:10 +02:00
mp_msg.h mp_msg: remove gettext() support 2013-10-18 22:38:10 +02:00
mp_ring.c mp_ring: fix comment typo 2013-11-22 19:12:43 +01:00
mp_ring.h mp_ring: remove unused function 2013-11-15 21:08:48 +01:00
mp_talloc.h mp_talloc: simplify a bit 2013-10-19 21:43:08 +02:00
mpv_global.h
options.c video: remove --flip 2013-12-05 22:58:54 +01:00
options.h video: remove --flip 2013-12-05 22:58:54 +01:00
parser-cfg.c parser-cfg: allow putting options with leading "--" 2013-10-14 23:41:26 +02:00
parser-cfg.h
parser-mpcmd.c options: don't let watch_later etc. overwite command line options 2013-10-25 22:52:54 +02:00
parser-mpcmd.h
path.c configure: uniform the defines to #define HAVE_xxx (0|1) 2013-11-03 21:59:54 +01:00
path.h Split mplayer.c 2013-10-30 01:53:53 +01:00
playlist_parser.c playlist: rewrite PLS parser 2013-11-04 23:55:41 +01:00
playlist_parser.h core: add a playlist demuxer 2013-08-26 10:09:45 +02:00
playlist.c playlist: check for NULL on caller site 2013-10-12 18:57:02 +02:00
playlist.h mplayer: fix looping of very short files 2013-09-29 21:10:45 +02:00
resolve_quvi9.c libquvi9: work around insane interaction between libquvi and libkdecore 2013-10-12 18:56:03 +02:00
resolve_quvi.c quvi: coerce libquvi 0.4 support into allowing format switching 2013-09-10 16:38:34 +02:00
resolve.h quvi: coerce libquvi 0.4 support into allowing format switching 2013-09-10 16:38:34 +02:00
version.c