1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-23 23:32:26 +00:00
mpv/core
wm4 b3fb7c2cad core: improve seeking in external files
This affects streams loaded with -subfile and -audiofile. They could get
out of sync when they were deselected, and the main file was seeked. Add
code to seek external files when they are selected (see
init_demux_stream()).

Use avformat_seek_file() under certain circumstances. Both av_seek_frame()
("old" API) and avformat_seek_file() ("new" API) seem to be broken with
some formats. At least the vobsub demuxer doesn't implement the old API
(and the old API doesn't fallback to the new API), while the fallback
from new API to old API gives bad results. For example, seeking forward
with small step sizes seems to fail with the new API (tested with
Matroska by trying to seek 1 second forward relative to priv->last_pts).
Since only subtitle demuxers implement the new API anyway, checking
whether iformat->read_seek2 is set to test whether the old API is not
supported gives best results. This is a hack at best, but makes things
work.

Remove backwards seeking on seek failure. This was annoying, and only
was there to compensate for obscure corner cases (see 1ad332). In
particular, files with completely broken seeking that used to skip back
to the start on every seek request may now terminate playback.
2012-12-11 00:36:42 +01:00
..
input command: add sub_reload and sub_remove commands 2012-11-16 21:21:15 +01:00
timeline cache: refactor how cache enabling is done 2012-12-03 21:08:51 +01:00
asxparser.c
asxparser.h
av_log.c demux_lavf: add support for libavdevice 2012-12-03 21:08:51 +01:00
av_log.h
av_opts.c
av_opts.h
bstr.c
bstr.h
cfg-mplayer.h core/cfg-mplayer: fix segfault when using DVD subs 2012-12-05 09:36:20 +01:00
codec-cfg.c mplayer: disable auto-loading of external codecs.conf 2012-11-20 18:00:15 +01:00
codec-cfg.h
command.c osd: fix OSD status symbol display in some cases 2012-11-20 18:00:16 +01:00
command.h
cpudetect.c
cpudetect.h
defaultopts.c core: automatically pause on low cache 2012-12-03 21:08:52 +01:00
defaultopts.h
encode_lavc.c encode: print on log which muxers/codecs are in use 2012-12-01 17:15:44 +01:00
encode_lavc.h
encode.h
m_config.c
m_config.h
m_option.c m_option: print valid integer range for choices on parsing errors 2012-11-20 18:00:15 +01:00
m_option.h m_option: add color option type 2012-11-20 18:00:15 +01:00
m_property.c
m_property.h
m_struct.c
m_struct.h
mp_common.c
mp_common.h build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00
mp_core.h core: automatically pause on low cache 2012-12-03 21:08:52 +01:00
mp_fifo.c input: do not generate double clicks for mouse wheel 2012-12-03 21:08:52 +01:00
mp_fifo.h
mp_msg.c build: remove doc/locale language auto-detection, simplify 2012-11-14 11:26:43 +01:00
mp_msg.h
mp_osd.h core: minor cleanups 2012-11-20 18:00:16 +01:00
mp_talloc.h mp_common.h: split parts into mp_talloc.h and compiler.h 2012-11-12 20:08:57 +01:00
mpc_info.h
mplayer.c core: improve seeking in external files 2012-12-11 00:36:42 +01:00
mplayer.h
options.h core: automatically pause on low cache 2012-12-03 21:08:52 +01:00
parser-cfg.c Fix potential bugs and issues, general cleanups 2012-11-20 18:00:14 +01:00
parser-cfg.h
parser-mpcmd.c
parser-mpcmd.h
path.c
path.h
playlist_parser.c options: rename -ss and -endpos, allow relative times 2012-11-16 21:21:15 +01:00
playlist_parser.h
playlist.c
playlist.h
quvi.c
screenshot.c screenshot: add subs even with vf_screenshot 2012-11-21 19:58:51 +01:00
screenshot.h
subopt-helper.c
subopt-helper.h
version.c build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00