1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-11 00:29:02 +00:00
Command line video player
Go to file
Uoti Urpala fd50478659 core: improve sub and audio start after timeline part switch
When switching to a timeline part from another file, decoders were
reinitialized after doing the demuxer-level seek. This is necessary
for audio because some decoders read from the demuxer stream during
initialization and the previous stream position before seek could have
been at EOF. However, this initialization sequence could lose first
subtitles or first part of audio.

The problem for subtitles was that the seek itself or audio
initialization could already have buffered subtitle packets from the
new position, and the way subtitles are reinitialized flushes packet
buffers. Thus early subtitles could be lost (even if they were demuxed
- unfortunately demuxers may not know about still active subtitles
earlier in the file, but that's another issue). Fix this by moving
subtitle and video reinitialization before the demuxer seek; they
don't have the problems which prevent that for audio.

Audio initialization can already decode and buffer some output.
However, the seek_reset() call done last would then throw away this
buffered output. Work around this by adding an extra flag to
seek_reset().
2012-03-20 14:51:32 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
drivers
etc libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input windows support: unicode filenames 2012-03-09 20:48:54 +02:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
libmpcodecs windows support: unicode filenames 2012-03-09 20:48:54 +02:00
libmpdemux windows support: unicode filenames 2012-03-09 20:48:54 +02:00
libvo core: restructure main play loop, continue audio after video 2012-03-19 23:05:02 +02:00
loader cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
osdep windows: terminal: unicode, --msgcolor, size change 2012-03-09 20:48:54 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream windows support: unicode filenames 2012-03-09 20:48:54 +02:00
sub windows support: unicode filenames 2012-03-09 20:48:54 +02:00
timeline windows support: unicode filenames 2012-03-09 20:48:54 +02:00
TOOLS vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
.gitignore .gitignore: add /cpuinfo 2011-03-13 22:20:51 +02:00
asxparser.c asxparser: remove code confusing asx/player options 2011-07-26 05:31:30 +03:00
asxparser.h
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
av_log.c configure, build: support compiling without libpostproc 2012-02-27 18:18:49 +02:00
av_log.h terminal output: show libav version numbers in verbose mode 2011-10-01 20:03:49 +03:00
av_opts.c Update Libav API uses 2012-02-01 22:46:27 +02:00
av_opts.h
bstr.c options: fix failure to parse trailing ',' in string list 2011-07-31 20:25:22 +03:00
bstr.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
cfg-mplayer.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
codec-cfg.c build: Revert "codec-cfg.c: avoid including aviheader.h" 2011-07-07 07:38:24 +03:00
codec-cfg.h
command.c core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
command.h
configure configure: fix --enable-static 2012-03-09 20:48:55 +02:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c cpudetect.c: check OS SSE support only with runtime detection 2011-07-06 13:01:07 +03:00
cpudetect.h
cpuinfo.c
defaultopts.c options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
defaultopts.h
fmt-conversion.c configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
fmt-conversion.h
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
m_config.c options: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_config.h options: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_option.c options: make "choice" option type parsing ignore case 2011-09-11 16:35:44 +03:00
m_option.h core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
m_property.c commands: osd_show_property_text: fix \xNN escapes 2011-08-05 03:46:06 +03:00
m_property.h
m_struct.c options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
m_struct.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
Makefile core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
mangle.h
metadata.h
mixer.c options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
mixer.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
mp_core.h core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
mp_fifo.c input: rework event reading and command queuing 2011-07-17 07:36:09 +03:00
mp_fifo.h input: rework event reading and command queuing 2011-07-17 07:36:09 +03:00
mp_msg.c windows: terminal: unicode, --msgcolor, size change 2012-03-09 20:48:54 +02:00
mp_msg.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mp_osd.h
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c
mpcommon.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mplayer.c core: improve sub and audio start after timeline part switch 2012-03-20 14:51:32 +02:00
mplayer.h options: move sub_name, sub_auto and vobsub_name to struct 2011-04-20 04:22:52 +03:00
options.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
parser-cfg.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
parser-cfg.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
parser-mpcmd.c options: commandline: support "--no-opt" for flag options 2011-09-01 18:32:11 +03:00
parser-mpcmd.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
path.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
path.h windows support: unicode filenames 2012-03-09 20:48:54 +02:00
playtree.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtree.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
playtreeparser.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtreeparser.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
pnm_loader.c
pnm_loader.h
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
screenshot.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
screenshot.h core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
subopt-helper.c subopt-helper: support "no-" prefix to negate suboptions 2011-11-14 20:24:39 +02:00
subopt-helper.h
talloc.c talloc.[ch]: remove "type safety" hack that violates C types 2011-08-19 03:01:16 +03:00
talloc.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
version.sh Update copyright year 2012-01-28 13:49:13 +02:00

Compiling with full features requires development files for several
external libraries. Below is a list of some important requirements. For
more information see the output of './configure --help' for a list of options,
or look at the list of enabled and disabled features printed after running
'./configure'. If you think you have support for some feature installed
but configure fails to detect it, the file config.log may contain information
about the reasons for the failure.

Libraries specific to particular video output methods
(you'll want at least one of VDPAU, GL or Xv):
 - libvdpau (for VDPAU output, best choice for NVIDIA cards)
 - libGL (OpenGL output)
 - libXv (XVideo output)
general:
 - libasound   (ALSA audio output)
 - various general X development libraries
 - libfreetype
 - libfontconfig
 - libass
 - FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)

Most of the above libraries are available in suitable versions on normal
Linux distributions. However FFmpeg is an exception (distro versions may be
too old to work at all or work well). For that reason you may want to use
the separately available build wrapper that first compiles FFmpeg libraries
and libass, and then compiles the player statically linked against those.