0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/demux
wm4 78bcbe289e demux: make refresh seek handling more generic
Remove the explicit whitelisting of formats for refresh seeks. Instead,
check whether the packet position is somewhat reliable during demuxing.
If there are packets without position, or the packet position is not
monotonically increasing, then do not use them for refresh seeks.

This does not make sure of some requirements, such as deterministic
seeks. If that happens, mpv will mess up a bit on stream switching.

Also, add another method that uses DTS to identify packets, and prefer
it to the packet position method. Even if there's a demuxer which
randomizes packet positions, it hardly can do that with DTS. The DTS
method is not always available either, though. Some formats do not have
a DTS, and others are not always strictly monotonic (possibly due to
libavformat codec parsing and timestamp determination issues).
2016-08-06 19:28:41 +02:00
..
codec_tags.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
codec_tags.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_cue.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_disc.c player: improve instant track switching 2016-08-06 15:47:04 +02:00
demux_edl.c demux_edl: adjust warnings and variable names 2016-05-23 15:23:27 +02:00
demux_lavf.c demux: make refresh seek handling more generic 2016-08-06 19:28:41 +02:00
demux_libarchive.c libarchive: unify entry iteration between stream/demux layers 2016-07-18 12:44:56 +02:00
demux_mf.c demux: remove relative seeking 2016-02-28 19:28:34 +01:00
demux_mkv_timeline.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_mkv.c demux: make refresh seek handling more generic 2016-08-06 19:28:41 +02:00
demux_null.c demux_null: fix segfault with --cache enabled 2016-03-05 00:56:55 +01:00
demux_playlist.c demux_playlist: recognize m3u8 as playlist extension 2016-05-17 18:18:00 +02:00
demux_rar.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_raw.c audio: use --audio-channels=auto behavior, except on ALSA 2016-08-04 20:49:20 +02:00
demux_timeline.c player: improve instant track switching 2016-08-06 15:47:04 +02:00
demux_tv.c demux: merge sh_video/sh_audio/sh_sub 2016-01-12 23:48:19 +01:00
demux.c demux: make refresh seek handling more generic 2016-08-06 19:28:41 +02:00
demux.h demux: make refresh seek handling more generic 2016-08-06 19:28:41 +02:00
ebml.c mpv_talloc.h: rename from talloc.h 2016-01-11 21:05:55 +01:00
ebml.h Update license headers 2015-04-13 12:10:01 +02:00
matroska.h demux_mkv: remove indirection through defines 2015-06-19 21:41:57 +02:00
packet.c Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
packet.h Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
stheader.h demux_lavf, ad_lavc, ad_spdif, vd_lavc: handle FFmpeg codecpar API change 2016-03-31 22:00:45 +02:00
timeline.c demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00
timeline.h demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00