Command line video player
Go to file
wm4 630a2b195a mplayer: don't show bogus audio PTS during hr-seek
This fixes a problem that happened with syncplay.pl [1] when ad_mpg123
was in use, and get_current_time() returning a bogus time position.
This only happens during seeking; the reported time is correct after the
seek is done.

The audio PTS as returned by playing_audio_pts() is simply bogus during
hr-seek. With ad_ffmpeg, it was actually set to MP_NOPTS_VALUE during
seeking, so get_current_time() did a fallback to the video PTS. However,
ad_mpg123 is different and explicitly decodes some audio when resetting
on seek (reasons why it does this unknown and uninvestigated; apparently
it's to reinit libmpg123). As a result, the audio PTS was set to the
start position of the seek (or something similar), which could be very
different from the seek target time.

This confused syncplay. It got the bogus time because it spams the
player with read commands to the "time-pos" property, so this corner
case was hit.

Fix this by making get_current_time() return the seek target time if
hr-seek is active. This should make behavior the same as before commit
3f949cf "mplayer: prefer audio PTS over video PTS for status line".

[1] http://syncplay.pl
2013-02-05 18:32:26 +01:00
DOCS manpage: document option syntax variations better 2013-02-03 16:53:49 +01:00
TOOLS demux_mkv: support V_UNCOMPRESSED video tracks 2013-01-24 17:45:13 +01:00
audio ao_coreaudio: use 0 as timeout for CFRunLoopRunInMode 2013-01-20 16:37:30 +01:00
compat build: make it work on somewhat older ffmpeg versions 2013-01-31 17:42:21 +01:00
core mplayer: don't show bogus audio PTS during hr-seek 2013-02-05 18:32:26 +01:00
demux demux_lavf: default PTS to 0 for attached pictures 2013-02-03 16:53:49 +01:00
etc video: add --autofit and --autofit-larger options 2013-01-23 10:56:36 +01:00
osdep cocoa_events: remove this functionality 2013-02-02 14:36:05 +01:00
stream build: make it work on somewhat older ffmpeg versions 2013-01-31 17:42:21 +01:00
sub sub: add experimental --force-rgba-osd-rendering switch 2013-01-13 20:04:16 +01:00
video vf_stereo3d: add support for green-magenta and yellow-blue dubois 2013-02-03 21:08:25 +01:00
.gitignore
AUTHORS
Copyright Copyright: cleanup entries for removed code 2013-02-03 16:53:49 +01:00
LICENSE
Makefile cocoa_events: remove this functionality 2013-02-02 14:36:05 +01:00
README.rst README: add a new one using ReST 2013-01-07 21:09:11 +01:00
configure stream_cdda: support latest libcdio version 2013-01-24 12:01:06 +01:00
talloc.c
talloc.h
version.sh build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00

README.rst

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