1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-27 01:22:30 +00:00
Command line video player
Go to file
wm4 9d9d6517d2 core: fix backstepping with ordered chapters
There were two problems.

First, frames past the end of the current segment were added to the
index, which messed up backstepping. Check for the endpts before
added a frame to the index.

Second, it wasn't possible to step over segments which change the file.
Changing a file causes decoder reinitialization, which (rightfully)
is treated as discontinuity (and vo_pts_history_seek_ts was changed).
Add some extra code to pretend that a segment-switching seek/reinit
does not introduce discontinuities.

There's still a weird corner case: sometimes, you can frame step forward
on the last frame of a segment without reaching the next segment
immediately. This is because the playloop switches into audio-only mode.
The segment is switched when both audio and video have ended, so the
frame stepping will play random sized chunks of audio until the segment
will be switched. This gives the impression that backstepping doesn't
work perfectly, even though it's the other way around and frame stepping
behaves weird. This is a consequence of wanting to make frame stepping
work with audio, and is not really a bug.
2013-04-25 15:09:20 +02:00
audio audio/decode: remove vararg from ad_control() 2013-04-12 20:35:59 +02:00
compat configure: bump minimum FFmpeg/Libav versions, remove compat hacks 2013-03-13 23:52:04 +01:00
core core: fix backstepping with ordered chapters 2013-04-25 15:09:20 +02:00
demux demux_mkv: cosmetics 2013-04-24 21:33:33 +02:00
DOCS manpage: remove broken example 2013-04-24 21:39:28 +02:00
etc core: add backstep support 2013-04-24 20:27:12 +02:00
osdep mp_msg: fix status output disappearing when redirecting INPUT. 2013-03-18 20:33:29 +01:00
stream options: untangle track range parsing for stream_cdda 2013-04-21 03:48:30 +02:00
sub subassconvert: add more web colors 2013-04-20 23:28:27 +02:00
TOOLS change reverse DNS strings to io.mpv.* 2013-04-16 23:34:58 +02:00
video x11: use mpv internal key auto-repeat handling if possible 2013-04-24 18:07:01 +02:00
.gitignore vo_opengl: split into multiple files, convert to new option API 2013-03-28 21:46:17 +01:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
configure x11: use mpv internal key auto-repeat handling if possible 2013-04-24 18:07:01 +02:00
Copyright Copyright: cleanup entries for removed code 2013-02-03 16:53:49 +01:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
Makefile vf_lavfi: add libavfilter bridge 2013-04-21 04:39:58 +02:00
README.rst README: add a new one using ReST 2013-01-07 21:09:11 +01:00
talloc.c talloc: fix strndup group of functions 2012-10-12 10:10:32 +02:00
talloc.h clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
version.sh version.sh: fix git rev. generation (.git is not always a directory) 2013-02-06 23:03:37 +01:00

mpv
###

Overview
========

**mpv** is a movie player based on MPlayer and mplayer2. It supports a wide
variety of video file formats, audio and video codecs, and subtitle types.

If you are wondering what's different from mplayer2 and MPlayer you can read
more about the changes_.

Compilation
===========

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.

Essential dependencies (incomplete list):

- gcc or clang
- X development headers (xlib, X extensions, libvdpau, libGL, libXv, ...)
- Audio output development headers (libasound, pulseaudio)
- fribidi, freetype, fontconfig development headers (for libass)
- libass
- FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)
- libjpeg
- libquvi if you want to play Youtube videos directly
- libx264 if you want to use encoding (has to be explicitly enabled when
  compiling ffmpeg)

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 (mpv-build_) that first compiles FFmpeg
libraries and libass, and then compiles the player statically linked against
those.

If you are running Mac OSX and using homebrew we provide homebrew-mpv_, an up
to date formula that compiles mpv with sensible dependencies and defaults for
OSX.

Bug reports
===========

Please use the `issues tracker`_ provided by GitHub to send us bug reports or
feature requests.

Contributing
============

For small changes you can just send us pull requests through GitHub. For bigger
changes come and talk to us on IRC before you start working on them. It will
make code review easier for both parties later on.

Contacts
========

You can find us on IRC in ``#mpv-player`` on ``irc.freenode.net``

.. _changes: https://github.com/mpv-player/mpv/blob/master/DOCS/man/en/changes.rst
.. _mpv-build: https://github.com/mpv-player/mpv-build
.. _homebrew-mpv: https://github.com/mpv-player/homebrew-mpv
.. _issues tracker: https://github.com/mpv-player/mpv/issues