summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/client-api-changes.rst10
-rw-r--r--DOCS/interface-changes.rst8
-rw-r--r--DOCS/interface-changes/add-input-commands.txt1
-rw-r--r--DOCS/interface-changes/dolby-vision-configuration.txt1
-rw-r--r--DOCS/interface-changes/escape-ass.txt1
-rw-r--r--DOCS/interface-changes/floating-point_property_expansion.txt1
-rw-r--r--DOCS/interface-changes/input-select.txt1
-rw-r--r--DOCS/interface-changes/input-touch-emulate-mouse.txt1
-rw-r--r--DOCS/interface-changes/native-touch.txt1
-rw-r--r--DOCS/interface-changes/normalize-path.txt1
-rw-r--r--DOCS/interface-changes/pa-defaults.txt1
-rw-r--r--DOCS/interface-changes/show-in-taskbar.txt1
-rw-r--r--DOCS/interface-changes/sub-text-ass-full.txt1
-rw-r--r--DOCS/interface-changes/sub-text-ass.txt1
-rw-r--r--DOCS/interface-changes/sub-times.txt1
-rw-r--r--DOCS/interface-changes/term-size.txt1
-rw-r--r--DOCS/interface-changes/touch-pos.txt1
-rw-r--r--DOCS/interface-changes/track-list-decoder-tag.txt1
-rw-r--r--DOCS/interface-changes/wasapi-exclusive-buffer.txt1
-rw-r--r--DOCS/man/ao.rst27
-rw-r--r--DOCS/man/console.rst2
-rw-r--r--DOCS/man/encode.rst5
-rw-r--r--DOCS/man/input.rst257
-rw-r--r--DOCS/man/javascript.rst4
-rw-r--r--DOCS/man/lua.rst43
-rw-r--r--DOCS/man/mpv.rst54
-rw-r--r--DOCS/man/options.rst282
-rw-r--r--DOCS/man/osc.rst77
-rw-r--r--DOCS/man/stats.rst47
-rw-r--r--DOCS/man/vf.rst18
-rw-r--r--DOCS/man/vo.rst38
31 files changed, 641 insertions, 248 deletions
diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst
index 565912cb81..e48cda4fa0 100644
--- a/DOCS/client-api-changes.rst
+++ b/DOCS/client-api-changes.rst
@@ -31,11 +31,13 @@ API changes
===========
::
+
--- mpv 0.38.0 ---
- 2.3 - partially revert the changes from API version 1.27, remove libmpv as the default VO and
- move it to the bottom of the auto-probing order. this restores the behaviour prior API
- version 1.27 on all platforms other than macOS, but still auto selects libmpv/cocoa-cb
- on macOS if it was built with support for cocoa-cb.
+ 2.3 - partially revert the changes from API version 1.27, remove libmpv as
+ the default VO and move it to the bottom of the auto-probing order.
+ This restores the prior behavior on all platforms other than macOS,
+ but still auto selects libmpv/cocoa-cb on macOS if it was built with
+ support for cocoa-cb.
--- mpv 0.37.0 ---
2.2 - add mpv_time_ns()
--- mpv 0.36.0 ---
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index 5371fd43fe..b55ef97739 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -30,6 +30,14 @@ Interface changes
::
--- mpv 0.38.0 ---
+ - add `term-size` property
+ - add the `escape-ass` command
+ - add `>` for fixed precision floating-point property expansion
+ - add `--input-comands` option
+ - change `--pulse-latency-hacks` default to `yes`
+ - add `context-menu` command
+ - add `menu-data` property
+ - add `--vo-tct-buffering` option
- add `begin-vo-dragging` command
- add `--deinterlace-field-parity` option
- add `--volume-gain`, `--volume-gain-min`, and `--volume-gain-max` options
diff --git a/DOCS/interface-changes/add-input-commands.txt b/DOCS/interface-changes/add-input-commands.txt
deleted file mode 100644
index 3db6bd4055..0000000000
--- a/DOCS/interface-changes/add-input-commands.txt
+++ /dev/null
@@ -1 +0,0 @@
-add `--input-comands` option
diff --git a/DOCS/interface-changes/dolby-vision-configuration.txt b/DOCS/interface-changes/dolby-vision-configuration.txt
new file mode 100644
index 0000000000..9383310fb9
--- /dev/null
+++ b/DOCS/interface-changes/dolby-vision-configuration.txt
@@ -0,0 +1 @@
+add `track-list/N/dolby-vision-profile` and `track-list/N/dolby-vision-level`
diff --git a/DOCS/interface-changes/escape-ass.txt b/DOCS/interface-changes/escape-ass.txt
deleted file mode 100644
index 93ec1ca5e5..0000000000
--- a/DOCS/interface-changes/escape-ass.txt
+++ /dev/null
@@ -1 +0,0 @@
-add the `escape-ass` command
diff --git a/DOCS/interface-changes/floating-point_property_expansion.txt b/DOCS/interface-changes/floating-point_property_expansion.txt
deleted file mode 100644
index eeda63d113..0000000000
--- a/DOCS/interface-changes/floating-point_property_expansion.txt
+++ /dev/null
@@ -1 +0,0 @@
-add `>` for fixed precision floating-point property expansion
diff --git a/DOCS/interface-changes/input-select.txt b/DOCS/interface-changes/input-select.txt
new file mode 100644
index 0000000000..03e421a6c7
--- /dev/null
+++ b/DOCS/interface-changes/input-select.txt
@@ -0,0 +1 @@
+`add mp.input.select()`
diff --git a/DOCS/interface-changes/input-touch-emulate-mouse.txt b/DOCS/interface-changes/input-touch-emulate-mouse.txt
new file mode 100644
index 0000000000..00b08b7715
--- /dev/null
+++ b/DOCS/interface-changes/input-touch-emulate-mouse.txt
@@ -0,0 +1 @@
+add --input-touch-emulate-mouse option
diff --git a/DOCS/interface-changes/native-touch.txt b/DOCS/interface-changes/native-touch.txt
new file mode 100644
index 0000000000..91c3a53bad
--- /dev/null
+++ b/DOCS/interface-changes/native-touch.txt
@@ -0,0 +1 @@
+add --native-touch option
diff --git a/DOCS/interface-changes/normalize-path.txt b/DOCS/interface-changes/normalize-path.txt
new file mode 100644
index 0000000000..5abdaf421d
--- /dev/null
+++ b/DOCS/interface-changes/normalize-path.txt
@@ -0,0 +1 @@
+add the `normalize-path` command
diff --git a/DOCS/interface-changes/pa-defaults.txt b/DOCS/interface-changes/pa-defaults.txt
deleted file mode 100644
index 7298de173a..0000000000
--- a/DOCS/interface-changes/pa-defaults.txt
+++ /dev/null
@@ -1 +0,0 @@
-change `--pulse-latency-hacks` default to `yes`
diff --git a/DOCS/interface-changes/show-in-taskbar.txt b/DOCS/interface-changes/show-in-taskbar.txt
new file mode 100644
index 0000000000..c37bda0872
--- /dev/null
+++ b/DOCS/interface-changes/show-in-taskbar.txt
@@ -0,0 +1 @@
+add `--show-in-taskbar` option
diff --git a/DOCS/interface-changes/sub-text-ass-full.txt b/DOCS/interface-changes/sub-text-ass-full.txt
new file mode 100644
index 0000000000..e0f4206af8
--- /dev/null
+++ b/DOCS/interface-changes/sub-text-ass-full.txt
@@ -0,0 +1 @@
+add `sub-text/ass-full` sub-property
diff --git a/DOCS/interface-changes/sub-text-ass.txt b/DOCS/interface-changes/sub-text-ass.txt
new file mode 100644
index 0000000000..58db3f7f0c
--- /dev/null
+++ b/DOCS/interface-changes/sub-text-ass.txt
@@ -0,0 +1 @@
+deprecate `sub-text-ass` property; add `sub-text/ass` sub-property
diff --git a/DOCS/interface-changes/sub-times.txt b/DOCS/interface-changes/sub-times.txt
new file mode 100644
index 0000000000..8c2929b15a
--- /dev/null
+++ b/DOCS/interface-changes/sub-times.txt
@@ -0,0 +1 @@
+change type of `sub-start` and `sub-end` properties to time
diff --git a/DOCS/interface-changes/term-size.txt b/DOCS/interface-changes/term-size.txt
deleted file mode 100644
index dd65a66256..0000000000
--- a/DOCS/interface-changes/term-size.txt
+++ /dev/null
@@ -1 +0,0 @@
-add `term-size` property
diff --git a/DOCS/interface-changes/touch-pos.txt b/DOCS/interface-changes/touch-pos.txt
new file mode 100644
index 0000000000..a390d2369f
--- /dev/null
+++ b/DOCS/interface-changes/touch-pos.txt
@@ -0,0 +1 @@
+add `touch-pos` property
diff --git a/DOCS/interface-changes/track-list-decoder-tag.txt b/DOCS/interface-changes/track-list-decoder-tag.txt
new file mode 100644
index 0000000000..2e999af3c2
--- /dev/null
+++ b/DOCS/interface-changes/track-list-decoder-tag.txt
@@ -0,0 +1 @@
+add `track-list/N/decoder`
diff --git a/DOCS/interface-changes/wasapi-exclusive-buffer.txt b/DOCS/interface-changes/wasapi-exclusive-buffer.txt
new file mode 100644
index 0000000000..161f2271c7
--- /dev/null
+++ b/DOCS/interface-changes/wasapi-exclusive-buffer.txt
@@ -0,0 +1 @@
+add `--wasapi-exclusive-buffer` option
diff --git a/DOCS/man/ao.rst b/DOCS/man/ao.rst
index 4890747bc9..78dfed3b51 100644
--- a/DOCS/man/ao.rst
+++ b/DOCS/man/ao.rst
@@ -138,11 +138,21 @@ Available audio output drivers are:
passthrough (even if the device reports it as supported). Use with
extreme care.
-
``coreaudio_exclusive`` (macOS only)
Native macOS audio output driver using direct device access and
exclusive mode (bypasses the sound server).
+``avfoundation`` (macOS only)
+ Native macOS audio output driver using ``AVSampleBufferAudioRenderer``
+ in AVFoundation, which supports `spatial audio
+ <https://support.apple.com/en-us/HT211775>`_.
+
+ .. warning::
+
+ Turning on spatial audio may hang the playback
+ if mpv is not started out of the bundle,
+ though playback with spatial audio off always works.
+
``openal``
OpenAL audio output driver.
@@ -287,3 +297,18 @@ Available audio output drivers are:
``wasapi``
Audio output to the Windows Audio Session API.
+
+ The following global options are supported by this audio output:
+
+ ``--wasapi-exclusive-buffer=<default|min|1-2000000>``
+ Set buffer duration in exclusive mode (i.e., with
+ ``--audio-exclusive=yes``). ``default`` and ``min`` use the default and
+ minimum device period reported by WASAPI, respectively. You can also
+ directly specify the buffer duration in microseconds, in which case a
+ duration shorter than the minimum device period will be rounded up to
+ the minimum period.
+
+ The default buffer duration should provide robust playback in most
+ cases, but reportedly on some devices there are glitches following
+ stream resets under the default setting. In such cases, specifying a
+ shorter duration might help.
diff --git a/DOCS/man/console.rst b/DOCS/man/console.rst
index b9f169f1cc..69cc103c15 100644
--- a/DOCS/man/console.rst
+++ b/DOCS/man/console.rst
@@ -123,7 +123,7 @@ Configuration
This script can be customized through a config file ``script-opts/console.conf``
placed in mpv's user directory and through the ``--script-opts`` command-line
-option. The configuration syntax is described in `ON SCREEN CONTROLLER`_.
+option. The configuration syntax is described in `mp.options functions`_.
Key bindings can be changed in a standard way, see for example stats.lua
documentation.
diff --git a/DOCS/man/encode.rst b/DOCS/man/encode.rst
index 399eba2a43..26f3d6cbc8 100644
--- a/DOCS/man/encode.rst
+++ b/DOCS/man/encode.rst
@@ -77,9 +77,8 @@ You can encode files from one format/codec to another using this facility.
and all pts are passed through as-is. Never seek backwards or use multiple
input files in this mode!
-``--no-ocopy-metadata``
- Turns off copying of metadata from input files to output files when
- encoding (which is enabled by default).
+``--ocopy-metadata=<yes|no>``
+ Copy metadata from input files to output files when encoding (default: yes).
``--oset-metadata=<metadata-tag[,metadata-tag,...]>``
Specifies metadata to include in the output file.
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index 341d20c926..e0bfadf98f 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -49,8 +49,8 @@ input.conf syntax
``[Shift+][Ctrl+][Alt+][Meta+]<key> [{<section>}] <command> ( ; <command> )*``
Note that by default, the right Alt key can be used to create special
-characters, and thus does not register as a modifier. The option
-``--no-input-right-alt-gr`` changes this behavior.
+characters, and thus does not register as a modifier. This can be changed
+with ``--input-right-alt-gr`` option.
Newlines always start a new binding. ``#`` starts a comment (outside of quoted
string arguments). To bind commands to the ``#`` key, ``SHARP`` can be used.
@@ -264,7 +264,7 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
``ignore``
Use this to "block" keys that should be unbound, and do nothing. Useful for
disabling default bindings, without disabling all bindings with
- ``--no-input-default-bindings``.
+ ``--input-default-bindings=no``.
``seek <target> [<flags>]``
Change the playback position. By default, seeks by a relative amount of
@@ -775,7 +775,11 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
Steps through the secondary subtitles.
``sub-seek <skip> <flags>``
- Seek to the next (skip set to 1) or the previous (skip set to -1) subtitle.
+ Change video and audio position such that the subtitle event after
+ ``<skip>`` subtitle events is displayed. For example, ``sub-seek 1`` skips
+ to the next subtitle, ``sub-seek -1`` skips to the previous subtitles, and
+ ``sub-seek 0`` seeks to the beginning of the current subtitle.
+
This is similar to ``sub-step``, except that it seeks video and audio
instead of adjusting the subtitle delay.
@@ -788,7 +792,7 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
For embedded subtitles (like with Matroska), this works only with subtitle
events that have already been displayed, or are within a short prefetch
- range.
+ range. See `Cache`_ for details on how to control the available prefetch range.
``print-text <text>``
Print text to stdout. The string can contain properties (see
@@ -806,12 +810,12 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
<level>
The minimum OSD level to show the text at (see ``--osd-level``).
-``expand-text <string>``
+``expand-text <text>``
Property-expand the argument and return the expanded string. This can be
used only through the client API or from a script using
``mp.command_native``. (see `Property Expansion`_).
-``expand-path "<string>"``
+``expand-path "<text>"``
Expand a path's double-tilde placeholders into a platform-specific path.
As ``expand-text``, this can only be used through the client API or from
a script using ``mp.command_native``.
@@ -823,6 +827,33 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
This line of Lua would show the location of the user's mpv
configuration directory on the OSD.
+``normalize-path <filename>``
+ Return a canonical representation of the path ``filename`` by converting it
+ to an absolute path, removing consecutive slashes, removing ``.``
+ components, resolving ``..`` components, and converting slashes to
+ backslashes on Windows. Symlinks are not resolved unless the platform is
+ Unix-like and one of the path components is ``..``. If ``filename`` is a
+ URL, it is returned unchanged. This can only be used through the client API
+ or from a script using ``mp.command_native``.
+
+ .. admonition:: Example
+
+ ``mp.osd_message(mp.command_native({"normalize-path", "/foo//./bar"}))``
+
+ This line of Lua prints "/foo/bar" on the OSD.
+
+``escape-ass <text>``
+ Modify ``text`` so that commands and functions that interpret ASS tags,
+ such as ``osd-overlay`` and ``mp.create_osd_overlay``, will display it
+ verbatim, and return it. This can only be used through the client API or
+ from a script using ``mp.command_native``.
+
+ .. admonition:: Example
+
+ ``mp.osd_message(mp.command_native({"escape-ass", "foo {bar}"}))``
+
+ This line of Lua prints "foo \\{bar}" on the OSD.
+
``show-progress``
Show the progress bar, the elapsed time and the total duration of the file
on the OSD. ``no-osd`` has no effect on this command.
@@ -927,6 +958,9 @@ Remember to quote string arguments in input.conf (see `Flat command syntax`_).
<keep-selection>
Do not change current track selections.
+``context-menu``
+ Show context menu on the video window. See `Context Menu`_ section for details.
+
Input Commands that are Possibly Subject to Change
--------------------------------------------------
@@ -1259,18 +1293,6 @@ Input Commands that are Possibly Subject to Change
use the ``mp.create_osd_overlay()`` helper instead of invoking this
command directly.
-``escape-ass <text>``
- Modify ``text`` so that commands and functions that interpret ASS tags,
- such as ``osd-overlay`` and ``mp.create_osd_overlay``, will display it
- verbatim, and return it. This can only be used through the client API or
- from a script using ``mp.command_native``.
-
- .. admonition:: Example
-
- ``mp.osd_message(mp.command_native({"escape-ass", "foo {bar}"}))``
-
- This line of Lua prints "foo \\{bar}" on the OSD.
-
``script-message [<arg1> [<arg2> [...]]]``
Send a message to all clients, and pass it the following list of arguments.
What this message means, how many arguments it takes, and what the arguments
@@ -2315,6 +2337,11 @@ Property list
other byte-oriented input layer) in bytes per second. May be inaccurate or
missing.
+ ``ts-per-stream`` is an array containing an entry for each stream type: video,
+ audio, and subtitle. For each stream type, the details for the demuxer cache
+ for that stream type are available as ``cache-duration``, ``reader-pts`` and
+ ``cache-end``.
+
When querying the property with the client API using ``MPV_FORMAT_NODE``,
or with Lua ``mp.get_property_native``, this will return a mpv_node with
the following contents:
@@ -2334,6 +2361,12 @@ Property list
"reader-pts" MPV_FORMAT_DOUBLE
"cache-duration" MPV_FORMAT_DOUBLE
"raw-input-rate" MPV_FORMAT_INT64
+ "ts-per-stream" MPV_FORMAT_NODE_ARRAY
+ MPV_FORMAT_NODE_MAP
+ "type" MPV_FORMAT_STRING
+ "cache-duration" MPV_FORMAT_DOUBLE
+ "reader-pts" MPV_FORMAT_DOUBLE
+ "cache-end" MPV_FORMAT_DOUBLE
Other fields (might be changed or removed in the future):
@@ -2398,12 +2431,6 @@ Property list
Similar to ``ao-volume``, but controls the mute state. May be unimplemented
even if ``ao-volume`` works.
-``audio-codec``
- Audio codec selected for decoding.
-
-``audio-codec-name``
- Audio codec.
-
``audio-params``
Audio format as output by the audio decoder.
This has a number of sub-properties:
@@ -2487,12 +2514,6 @@ Property list
multiple interop drivers for the same hardware decoder, depending on
platform and VO.
-``video-format``
- Video format as string.
-
-``video-codec``
- Video codec selected for decoding.
-
``width``, ``height``
Video size. This uses the size of the video as decoded, or if no video
frame has been decoded yet, the (possibly incorrect) container indicated
@@ -2531,7 +2552,7 @@ Property list
Display aspect ratio as float.
``video-params/aspect-name``
- Display aspect ratio name as string. The name coresponds to motion
+ Display aspect ratio name as string. The name corresponds to motion
picture film format that introduced given aspect ratio in film.
``video-params/par``
@@ -2699,30 +2720,6 @@ Property list
enabled, or after precise seeking). Files with imprecise timestamps (such
as Matroska) might lead to unstable results.
-``window-scale`` (RW)
- Window size multiplier. Setting this will resize the video window to the
- values contained in ``dwidth`` and ``dheight`` multiplied with the value
- set with this property. Setting ``1`` will resize to original video size
- (or to be exact, the size the video filters output). ``2`` will set the
- double size, ``0.5`` halves the size.
-
- Note that setting a value identical to its previous value will not resize
- the window. That's because this property mirrors the ``window-scale``
- option, and setting an option to its previous value is ignored. If this
- value is set while the window is in a fullscreen, the multiplier is not
- applied until the window is taken out of that state. Writing this property
- to a maximized window can unmaximize the window depending on the OS and
- window manager. If the window does not unmaximize, the multiplier will be
- applied if the user unmaximizes the window later.
-
- See ``current-window-scale`` for the value derived from the actual window
- size.
-
- Since mpv 0.31.0, this always returns the previously set value (or the
- default value), instead of the value implied by the actual window size.
- Before mpv 0.31.0, this returned what ``current-window-scale`` returns now,
- after the window was created.
-
``current-window-scale`` (RW)
The ``window-scale`` value calculated from the current window size. This
has the same value as ``window-scale`` if the window size was not changed
@@ -2731,10 +2728,9 @@ Property list
calculated from the last non-fullscreen size of the window. The property
is unavailable if no video is active.
- When setting this property in the fullscreen or maximized state, the behavior
- is the same as window-scale. In all other cases, setting the value of this
- property will always resize the window. This does not affect the value of
- ``window-scale``.
+ It is also possible to write to this property. This has the same behavior as
+ writing ``window-scale``. Note that writing to ``current-window-scale`` will
+ not affect the value of ``window-scale``.
``focused``
Whether the window has focus. Might not be supported by all VOs.
@@ -2745,11 +2741,11 @@ Property list
are the GDI names (\\.\DISPLAY1, \\.\DISPLAY2, etc.) and the first display
in the list will be the one that Windows considers associated with the
window (as determined by the MonitorFromWindow API.) On macOS these are the
- Display Product Names as used in the System Information and only one display
- name is returned since a window can only be on one screen. On Wayland, these
- are the wl_output names if protocol version >= 4 is used
- (LVDS-1, HDMI-A-1, X11-1, etc.), or the wl_output model reported by the
- geometry event if protocol version < 4 is used.
+ Display Product Names as used in the System Information with a serial number
+ in brackets and only one display name is returned since a window can only be
+ on one screen. On Wayland, these are the wl_output names if protocol
+ version >= 4 is used (LVDS-1, HDMI-A-1, X11-1, etc.), or the wl_output model
+ reported by the geometry event if protocol version < 4 is used.
``display-fps``
The refresh rate of the current display. Currently, this is the lowest FPS
@@ -2834,7 +2830,7 @@ Property list
not being opened yet or not being supported by the VO.
``mouse-pos``
- Read-only - last known mouse position, normalizd to OSD dimensions.
+ Read-only - last known mouse position, normalized to OSD dimensions.
Has the following sub-properties (which can be read as ``MPV_FORMAT_NODE``
or Lua table with ``mp.get_property_native``):
@@ -2847,6 +2843,35 @@ Property list
coordinates should be ignored when this value is false, because the
video backends update them only when the pointer hovers the window.
+``touch-pos``
+ Read-only - last known touch point positions, normalized to OSD dimensions.
+
+ This has a number of sub-properties. Replace ``N`` with the 0-based touch
+ point index. Whenever a new finger touches the screen, a new touch point is
+ added to the list of touch points with the smallest unused ``N`` available.
+
+ ``touch-pos/count``
+ Number of active touch points.
+
+ ``touch-pos/N/x``, ``touch-pos/N/y``
+ Position of the Nth touch point.
+
+ ``touch-pos/N/id``
+ Unique identifier of the touch point. This can be used to identify
+ individual touch points when their indexes change.
+
+ When querying the property with the client API using ``MPV_FORMAT_NODE``,
+ or with Lua ``mp.get_property_native``, this will return a mpv_node with
+ the following contents:
+
+ ::
+
+ MPV_FORMAT_NODE_ARRAY
+ MPV_FORMAT_NODE_MAP (for each touch point)
+ "x" MPV_FORMAT_INT64
+ "y" MPV_FORMAT_INT64
+ "id" MPV_FORMAT_INT64
+
``sub-ass-extradata``
The current ASS subtitle track's extradata. There is no formatting done.
The extradata is returned as a string as-is. This property is not
@@ -2857,25 +2882,38 @@ Property list
stripped. If the subtitle is not text-based (i.e. DVD/BD subtitles), an
empty string is returned.
-``sub-text-ass``
- Like ``sub-text``, but return the text in ASS format. Text subtitles in
- other formats are converted. For native ASS subtitles, events that do
- not contain any text (but vector drawings etc.) are not filtered out. If
- multiple events match with the current playback time, they are concatenated
- with line breaks. Contains only the "Text" part of the events.
+ This has sub-properties for different formats:
+
+ ``sub-text/ass``
+ Like ``sub-text``, but return the text in ASS format. Text subtitles in
+ other formats are converted. For native ASS subtitles, events that do
+ not contain any text (but vector drawings etc.) are not filtered out. If
+ multiple events match with the current playback time, they are concatenated
+ with line breaks. Contains only the "Text" part of the events.
+
+ This property is not enough to render ASS subtitles correctly, because ASS
+ header and per-event metadata are not returned. Use ``/ass-full`` for that.
- This property is not enough to render ASS subtitles correctly, because ASS
- header and per-event metadata are not returned. You likely need to do
- further filtering on the returned string to make it useful.
+ ``sub-text/ass-full``
+ Like ``sub-text-ass``, but return the full event with all fields, formatted as
+ lines in a .ass text file. Use with ``sub-ass-extradata`` for style information.
+
+``sub-text-ass`` (deprecated)
+ Deprecated alias for ``sub-text/ass``.
``secondary-sub-text``
- Same as ``sub-text``, but for the secondary subtitles.
+ Same as ``sub-text`` (with the same sub-properties), but for the secondary subtitles.
``sub-start``
The current subtitle start time (in seconds). If there's multiple current
subtitles, returns the first start time. If no current subtitle is present
null is returned instead.
+ This has a sub-property:
+
+ ``sub-start/full``
+ ``sub-start`` with milliseconds.
+
``secondary-sub-start``
Same as ``sub-start``, but for the secondary subtitles.
@@ -2885,6 +2923,11 @@ Property list
if it's present but has unknown or incorrect duration, null is returned
instead.
+ This has a sub-property:
+
+ ``sub-end/full``
+ ``sub-end`` with milliseconds.
+
``secondary-sub-end``
Same as ``sub-end``, but for the secondary subtitles.
@@ -2975,7 +3018,7 @@ Property list
Name of the Nth entry. Available if the playlist file contains
such fields and mpv's parser supports it for the given
playlist format, or if the playlist entry has been opened before and a
- media-title other then then filename has been acquired.
+ media-title other than filename has been acquired.
``playlist/N/id``
Unique ID for this entry. This is an automatically assigned integer ID
@@ -3054,6 +3097,13 @@ Property list
The codec name used by this track, for example ``h264``. Unavailable
in some rare cases.
+ ``track-list/N/codec-desc``
+ The codec descriptive name used by this track.
+
+ ``track-list/N/codec-profile``
+ The codec profile used by this track. Available only if the track has
+ been already decoded.
+
``track-list/N/external``
``yes``/true if the track is an external file, ``no``/false or
unavailable otherwise. This is set for separate subtitle files.
@@ -3079,6 +3129,9 @@ Property list
match even if the default (builtin) demuxer is used, but there is
no hard guarantee.
+ ``track-list/N/decoder``
+ If this track is being decoded, the short decoder name,
+
``track-list/N/decoder-desc``
If this track is being decoded, the human-readable decoder name,
@@ -3132,6 +3185,10 @@ Property list
values currently. It's possible that future mpv versions will make
these properties unavailable instead in this case.
+ ``track-list/N/dolby-vision-profile``, ``track-list/N/dolby-vision-level``
+ Dolby Vision profile and level. May not be available if the container
+ does not provide this information.
+
When querying the property with the client API using ``MPV_FORMAT_NODE``,
or with Lua ``mp.get_property_native``, this will return a mpv_node with
the following contents:
@@ -3154,6 +3211,8 @@ Property list
"external" MPV_FORMAT_FLAG
"external-filename" MPV_FORMAT_STRING
"codec" MPV_FORMAT_STRING
+ "codec-desc" MPV_FORMAT_STRING
+ "codec-profile" MPV_FORMAT_STRING
"ff-index" MPV_FORMAT_INT64
"decoder-desc" MPV_FORMAT_STRING
"demux-w" MPV_FORMAT_INT64
@@ -3174,6 +3233,8 @@ Property list
"replaygain-track-gain" MPV_FORMAT_DOUBLE
"replaygain-album-peak" MPV_FORMAT_DOUBLE
"replaygain-album-gain" MPV_FORMAT_DOUBLE
+ "dolby-vision-profile" MPV_FORMAT_INT64
+ "dolby-vision-level" MPV_FORMAT_INT64
``current-tracks/...``
This gives access to currently selected tracks. It redirects to the correct
@@ -3454,6 +3515,48 @@ Property list
and not using raw mode, the underlying content will be given (e.g. strings will be
printed directly, rather than quoted and JSON-escaped).
+``menu-data`` (RW)
+ This property stores the raw menu definition. See `Context Menu`_ section for details.
+
+ ``type``
+ Menu item type. Can be: ``separator``, ``submenu``, or empty.
+
+ ``title``
+ Menu item title. Required if type is not ``separator``.
+
+ ``cmd``
+ Command to execute when the menu item is clicked.
+
+ ``shortcut``
+ Menu item shortcut key which appears to the right of the menu item.
+ A shortcut key does not have to be functional; it's just a visual hint.
+
+ ``state``
+ Menu item state. Can be: ``checked``, ``disabled``, ``hidden``, or empty.
+
+ ``submenu``
+ Submenu items, which is required if type is ``submenu``.
+
+ When querying the property with the client API using ``MPV_FORMAT_NODE``, or with
+ Lua ``mp.get_property_native``, this will return a mpv_node with the following
+ contents:
+
+ ::
+
+ MPV_FORMAT_NODE_ARRAY
+ MPV_FORMAT_NODE_MAP (menu item)
+