Skip to content

Commit

Permalink
Merge branch 'master' into release/current
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Herkt committed Jan 18, 2016
2 parents e1993d5 + 7b4ccb3 commit ba9b2f1
Show file tree
Hide file tree
Showing 231 changed files with 4,478 additions and 7,395 deletions.
30 changes: 30 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Reporting bugs
==============

- State your platform and mpv version.
- Make sure you're actually using the latest mpv release. Linux distributions
in particular love redistributing ancient and unmaintained mpv releases.
- Attach a log file made with ``-v`` or ``--log-file=output.txt``.
- Avoid attaching text files packed in archive files (zip/rar/...), unless
explicitly asked so. There are better means, such as using http://sprunge.us
- If you think this is file specific, upload a sample file and link it.
- Don't report multiple unrelated/barely related bugs in one issue.
- Read: https://mpv.io/bug-reports/

Asking questions
================

Preferably, asking questions should be done via IRC (#mpv on irc.freenode.net),
but asking questions by opening a github issue is also barely tolerated.

When asking on IRC (#mpv on irc.freenode.net), don't ask to ask, just state
your problem. Stay long enough until someone gets a chance to reply. Sometimes
it can take hours.

Sending patches
===============

See: https://github.com/mpv-player/mpv/blob/master/DOCS/contribute.md

In particular, be aware that all changes to GPL code must come with the
implicit agreement that they might be LGPLv2.1+ relicensed at a later point.
39 changes: 1 addition & 38 deletions DOCS/compile-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ echo "MXE_TARGETS := i686-w64-mingw32.static" >> settings.mk
# Build required packages. The following provide a minimum required to build
# a reasonable mpv binary (though not an absolute minimum).

make gcc ffmpeg libass jpeg pthreads lua
make gcc ffmpeg libass jpeg lua

# Add MXE binaries to $PATH
export PATH=/opt/mxe/usr/bin/:$PATH
Expand Down Expand Up @@ -173,40 +173,3 @@ mv -f /mingw64/bin/libmpv.dll.a /mingw64/lib/
sed -i 's_/mingw64/bin_/mingw64/lib_' /mingw64/lib/pkgconfig/mpv.pc
rmdir /mingw64/bin/pkgconfig
```

Additional dependencies
=======================

pthreads
--------

mpv will use a pthreads wrapper by default. Either pthreads-win32 or
winpthreads should work. The latter is packaged with most MinGW-w64
environments, including MSYS2, so it shouldn't be a problem. If you don't have
a pthreads wrapper or you want to build mpv without one, configure with:

```bash
./waf configure --enable-win32-internal-pthreads
```

libwaio
-------

If you want to use ``--input-file``, you need libwaio. It's available from
git://midipix.org/waio

To compile libwaio in MSYS2, run:

```bash
git clone git://midipix.org/waio && cd waio

# 32-bit build, run from mingw32_shell.bat
./build-mingw-nt32 lib-static CC=gcc AR=ar
cp -r include/waio /mingw32/include
cp lib32/libwaio.a /mingw32/lib

# 64-bit build, run from mingw64_shell.bat
./build-mingw-nt64 lib-static CC=gcc AR=ar
cp -r include/waio /mingw64/include
cp lib64/libwaio.a /mingw64/lib
```
20 changes: 11 additions & 9 deletions DOCS/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ Sending patches
``git format-patch``. diffs posted as pastebins (especially if the http link
returns HTML) just cause extra work for everyone, because they lack commit
message and authorship information.
- When creating pull requests, be sure to test your changes. If you didn't, please
say so in the pull request message.

- All new code must be LGPLv2.1+ licensed, or come with the implicit agreement
that it will be relicensed to LGPLv2.1+ later (see ``Copyright`` in the
repository root directory).
- When creating pull requests, be sure to test your changes. If you didn't,
please say so in the pull request message.
- Write informative commit messages. Use present tense to describe the
situation with the patch applied, and past tense for the situation before
the change.
Expand All @@ -27,8 +29,8 @@ Sending patches

For example, you fixed a crash in af_volume.c:

Bad: ``fixed the bug (wtf?)``
Good: ``af_volume: fix crash due to null pointer access``
- Bad: ``fixed the bug (wtf?)``
- Good: ``af_volume: fix crash due to null pointer access``

Having a prefix gives context, and is especially useful when trying to find
a specific change by looking at the history, or when running ``git blame``.
Expand All @@ -53,10 +55,10 @@ Sending patches
something like reformatting a whole file, and hiding an actual functional
change in the same commit.
- If you add a new command line option, document it in options.rst. If you
add a new input property, document it in input.rst.
- All new code must be LGPLv2.1+ licensed, or come with the implicit agreement
that it will be relicensed to LGPLv2.1+ later (see ``Copyright`` in the
repository root directory).
add a new input property, document it in input.rst. Changes to the user
interface (options, properties, commands) should be documented in
interface-changes.rst. Changes to libmpv should be documented in
client-api-changes.rst.

Code formatting
---------------
Expand Down
2 changes: 2 additions & 0 deletions DOCS/interface-changes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ Interface changes

::

--- mpv 0.15.0 ---
- change "yadif" video filter defaults
--- mpv 0.14.0 ---
- vo_opengl interpolation now requires --video-sync=display-... to be set
- change some vo_opengl defaults (including changing tscale)
Expand Down
26 changes: 6 additions & 20 deletions DOCS/man/ao.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,8 @@ normal driver parameters.

See ``--ao=help`` for a list of compiled-in audio output drivers. The
driver ``--ao=alsa`` is preferred. ``--ao=pulse`` is preferred on systems
where PulseAudio is used. On Windows, ``--ao=wasapi`` is preferred,
though it might cause trouble sometimes, in which case ``--ao=dsound``
should be used. On BSD systems, ``--ao=oss`` or `--ao=sndio`` may work
(the latter being experimental). On OS X systems, use ``--ao=coreaudio``.
where PulseAudio is used. On BSD systems, ``--ao=oss`` or ``--ao=sndio``
may work (the latter being experimental).

.. admonition:: Examples

Expand Down Expand Up @@ -165,7 +163,7 @@ Available audio output drivers are:
will actually work. The disadvantage is that it will change the
system-wide audio settings. This is equivalent to changing the ``Format``
setting in the ``Audio Devices`` dialog in the ``Audio MIDI Setup``
utility. Note that this does not effect the selected speaker setup.
utility. Note that this does not affect the selected speaker setup.

``exclusive``
Use exclusive mode access. This merely redirects to
Expand Down Expand Up @@ -205,19 +203,7 @@ Available audio output drivers are:
(it used to be required to get good behavior on old PulseAudio versions).

If you have stuttering video when using pulse, try to enable this
option. (Or alternatively, try to update PulseAudio.)

``dsound`` (Windows only)
DirectX DirectSound audio output driver

.. note:: This driver is for compatibility with old systems.

``device=<devicenum>``
Sets the device number to use. Playing a file with ``-v`` will show a
list of available devices.

``buffersize=<ms>``
DirectSound buffer size in milliseconds (default: 200).
option. (Or try to update PulseAudio.)

``sdl``
SDL 1.2+ audio output driver. Should work on any platform supported by SDL
Expand Down Expand Up @@ -256,7 +242,7 @@ Available audio output drivers are:
``speed``
Simulated audio playback speed as a multiplier. Usually, a real audio
device will not go exactly as fast as the system clock. It will deviate
just a little, and this option helps simulating this.
just a little, and this option helps to simulate this.

``latency``
Simulated device latency. This is additional to EOF.
Expand Down Expand Up @@ -325,7 +311,7 @@ Available audio output drivers are:
String are valid; the GUID string is guaranteed to not change
unless the driver is uninstalled.

Also supports searching active devices by human readable name. If more
Also supports searching active devices by human-readable name. If more
than one device matches the name, refuses loading it.

This option is mostly deprecated in favour of the more general
Expand Down
8 changes: 4 additions & 4 deletions DOCS/man/encode.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ You can encode files from one format/codec to another using this facility.
Completely empties the options list.

``--oafirst``
Force the audio stream to become the first stream in the output. By default
the order is unspecified.
Force the audio stream to become the first stream in the output.
By default, the order is unspecified.

``--ovc=<codec>``
Specifies the output video codec. This can be a comma separated list of
Expand Down Expand Up @@ -134,8 +134,8 @@ You can encode files from one format/codec to another using this facility.
Completely empties the options list.

``--ovfirst``
Force the video stream to become the first stream in the output. By default
the order is unspecified.
Force the video stream to become the first stream in the output.
By default, the order is unspecified.

``--ocopyts``
Copies input pts to the output video (not supported by some output
Expand Down
52 changes: 36 additions & 16 deletions DOCS/man/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -418,7 +418,7 @@ List of Input Commands

<reselect> (default)
Select the default audio and subtitle streams, which typically selects
external files with highest preference. (The implementation is not
external files with the highest preference. (The implementation is not
perfect, and could be improved on request.)

<keep-selection>
Expand Down Expand Up @@ -546,6 +546,12 @@ Input Commands that are Possibly Subject to Change
Always bind a key. (The input section that was made active most recently
wins if there are ambiguities.)

This command can be used to dispatch arbitrary keys to a script or a client
API user. If the input section defines ``script-binding`` commands, it is
also possible to get separate events on key up/down, and relatively detailed
information about the key state. The special key name ``unmapped`` can be
used to match any unmapped key.

``overlay-add <id> <x> <y> "<file>" <offset> "<fmt>" <w> <h> <stride>``
Add an OSD overlay sourced from raw data. This might be useful for scripts
and applications controlling mpv, and which want to display things on top
Expand Down Expand Up @@ -647,14 +653,20 @@ Input Commands that are Possibly Subject to Change
For completeness, here is how this command works internally. The details
could change any time. On any matching key event, ``script_message_to``
or ``script_message`` is called (depending on whether the script name is
included), where the first argument is the string ``key-binding``, the
second argument is the name of the binding, and the third argument is the
key state as string. The key state consists of a number of letters. The
first letter is one of ``d`` (key was pressed down), ``u`` (was released),
``r`` (key is still down, and was repeated; only if key repeat is enabled
for this binding), ``p`` (key was pressed; happens if up/down can't be
tracked). The second letter whether the event originates from the mouse,
either ``m`` (mouse button) or ``-`` (something else).
included), with the following arguments:

1. The string ``key-binding``.
2. The name of the binding (as established above).
3. The key state as string (see below).
4. The key name (since mpv 0.15.0).

The key state consists of 2 letters:

1. One of ``d`` (key was pressed down), ``u`` (was released), ``r`` (key
is still down, and was repeated; only if key repeat is enabled for this
binding), ``p`` (key was pressed; happens if up/down can't be tracked).
2. Whether the event originates from the mouse, either ``m`` (mouse button)
or ``-`` (something else).

``ab-loop``
Cycle through A-B loop states. The first command will set the ``A`` point
Expand Down Expand Up @@ -782,7 +794,7 @@ Input sections group a set of bindings, and enable or disable them at once.
In ``input.conf``, each key binding is assigned to an input section, rather
than actually having explicit text sections.

Also see ``enable_section`` and ``disable_section`` commands.
See also: ``enable_section`` and ``disable_section`` commands.

Predefined bindings:

Expand Down Expand Up @@ -961,9 +973,8 @@ Property list
``playback-time`` (RW)
Position in current file in seconds. Unlike ``time-pos``, the time is
clamped to the range of the file. (Inaccurate file durations etc. could
make it go out of range. Also helpful when the user attempts to seek
outside of the file, as the seek target time is considered the current
position during seeking.)
make it go out of range. Useful on attempts to seek outside of the file,
as the seek target time is considered the current position during seeking.)

``chapter`` (RW)
Current chapter number. The number of the first chapter is 0.
Expand Down Expand Up @@ -1109,13 +1120,13 @@ Property list

``vf-metadata/<filter-label>``
Metadata added by video filters. Accessed by the filter label,
which if not explicitly specified using the ``@filter-label:`` syntax,
which, if not explicitly specified using the ``@filter-label:`` syntax,
will be ``<filter-name>NN``.

Works similar to ``metadata`` property. It allows the same access
methods (using sub-properties).

An example of these kind of metadata are the cropping parameters
An example of this kind of metadata are the cropping parameters
added by ``--vf=lavfi=cropdetect``.

``af-metadata/<filter-label>``
Expand All @@ -1142,7 +1153,7 @@ Property list

``cache-size`` (RW)
Network cache size in KB. This is similar to ``--cache``. This allows
to set the cache size at runtime. Currently, it's not possible to enable
setting the cache size at runtime. Currently, it's not possible to enable
or disable the cache at runtime using this property, just to resize an
existing cache.

Expand Down Expand Up @@ -1531,6 +1542,15 @@ Property list
``program`` (W)
Switch TS program (write-only).

``dvb-channel`` (W)
Pair of integers: card,channel of current DVB stream.
Can be switched to switch to another channel on the same card.

``dvb-channel-name`` (RW)
Name of current DVB program.
On write, a channel-switch to the named channel on the same
card is performed. Can also be used for channel switching.

``sid`` (RW)
Current subtitle track (similar to ``--sid``).

Expand Down
8 changes: 5 additions & 3 deletions DOCS/man/ipc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ rely on this.
Commands
--------

Additionally to the commands described in `List of Input Commands`_, a few
In addition to the commands described in `List of Input Commands`_, a few
extra commands can also be used as part of the protocol:

``client_name``
Expand Down Expand Up @@ -189,7 +189,7 @@ extra commands can also be used as part of the protocol:

``unobserve_property``
Undo ``observe_property`` or ``observe_property_string``. This requires the
numeric id passed to the observe command as argument.
numeric id passed to the observed command as argument.

Example:

Expand Down Expand Up @@ -228,7 +228,9 @@ extra commands can also be used as part of the protocol:

``get_version``
Returns the client API version the C API of the remote mpv instance
provides. (Also see ``DOCS/client-api-changes.rst``.)
provides.

See also: ``DOCS/client-api-changes.rst``.

UTF-8
-----
Expand Down
Loading

0 comments on commit ba9b2f1

Please sign in to comment.