1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-27 17:42:17 +00:00
Command line video player
Go to file
wm4 32c5a87a01 commands: change property expansion format string
This affects property format strings like they are used in the
"show_text" input command, for --playing-msg, and other places.

To quote the documentation comment on m_properties_expand_string():

    ${NAME} is expanded to the value of property NAME.
    If NAME starts with '=', use the raw value of the property.
    ${NAME:STR} expands to the property, or STR if the property is not
    available.
    ${?NAME:STR} expands to STR if the property is available.
    ${!NAME:STR} expands to STR if the property is not available.
    STR is recursively expanded using the same rules.
    "$$" can be used to escape "$", and "$}" to escape "}".
    "$>" disables parsing of "$" for the rest of the string.

Most importantly, "?(property:str)" becomes "${?property:str}".

Make the simple fallback case easier, e.g. "${property:fallback}"
instead of "${property}?(!property:fallback)".

Add the ability to escape the format meta characters. "$" is used for
escaping, because escaping with "\" is taken by the commands parser in
the layer below. "$>" can be used to disable interpretation of format
strings (of course escapes by the commands parser can't be canceled).

By default, properties which are unavailable or don't exist are turned
into a string signaling the status (e.g. "(unavailable)"), instead of
an empty string. If an empty string is desired, this has to be done
explicitly: "${property:}" (the fallback part is an empty string). Raw
properties still return an empty string on error.

m_properties_expand_string() now returns a talloc'ed pointer, instead of
a malloc'ed one.
2012-10-12 10:10:32 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS commands: add more property-option bridge uses, rename some options 2012-10-12 10:10:31 +02:00
etc input: handle escapes always in command parser 2012-10-12 10:10:32 +02:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input input: warn about non-existing commands, add explicit "ignore" command 2012-10-12 10:10:32 +02:00
libaf rawaudio: use mplayer audio format for format option 2012-09-18 21:07:29 +02:00
libao2 encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
libmpcodecs vf_rectangle: remove as it is very dirty and we have a replacement now 2012-09-18 21:08:20 +02:00
libmpdemux libmpdemux: add back demux_ts 2012-09-18 21:07:30 +02:00
libvo input: verify input.conf on loading 2012-10-12 10:10:32 +02:00
osdep timer: remove timer_name 2012-09-07 16:06:36 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
sub subs, vo_vdpau: support RGBA color for PGS subtitles 2012-09-18 21:07:30 +02:00
timeline core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
TOOLS commands: rename properties, update input.conf 2012-10-12 10:10:30 +02:00
.gitignore manpage: merge new manpage 2012-08-02 22:05:27 +02:00
asxparser.c Remove dead code 2012-08-01 17:07:35 +02:00
asxparser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
AUTHORS
av_log.c stream_ffmpeg: fix broken line from 30afc64532 2012-04-18 01:27:55 +03: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 Adjust ffmpeg/libav #includes to work with recent upstream changes 2012-08-21 18:22:00 +02:00
bstr.h input: handle escapes always in command parser 2012-10-12 10:10:32 +02:00
cfg-mplayer.h commands: add more property-option bridge uses, rename some options 2012-10-12 10:10:31 +02:00
codec-cfg.c options, codecs.conf, img_format: unify imgfmt name handling 2012-08-29 00:14:11 +02:00
codec-cfg.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
command.c commands: change property expansion format string 2012-10-12 10:10:32 +02:00
command.h commands: change property expansion format string 2012-10-12 10:10:32 +02:00
configure encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
Copyright
cpudetect.c cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
cpudetect.h cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
defaultopts.c mplayer: unbreak OSD with CONFIG_ENCODING undefined 2012-09-18 21:08:20 +02:00
defaultopts.h
encode_lavc.c encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
encode_lavc.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
encode.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
fmt-conversion.c cleanup: remove XvMC remains, reformat img_format.c 2012-08-28 23:26:16 +02:00
fmt-conversion.h
image_writer.c image_writer: make JPG default and increase quality (for screenshots) 2012-08-16 00:01:19 +02:00
image_writer.h image_writer: rename "filetype" option to "format" 2012-08-06 19:05:32 +02:00
LICENSE
m_config.c commands: add more property-option bridge uses, rename some options 2012-10-12 10:10:31 +02:00
m_config.h commands: add more property-option bridge uses, rename some options 2012-10-12 10:10:31 +02:00
m_option.c commands: handle property clamping in m_option 2012-10-12 10:10:31 +02:00
m_option.h commands: don't replicate mapping to option in levels_property_helper 2012-10-12 10:10:31 +02:00
m_property.c commands: change property expansion format string 2012-10-12 10:10:32 +02:00
m_property.h commands: change property expansion format string 2012-10-12 10:10:32 +02:00
m_struct.c options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
m_struct.h Remove dead code 2012-08-01 17:07:35 +02:00
Makefile encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mangle.h mangle: change preprocessor define for macosx 2012-08-01 08:46:20 +02:00
mixer.c mixer: silence message about inserting volume filter 2012-07-30 01:46:04 +02:00
mixer.h mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mp_core.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-01-18 04:11:48 +01:00
mp_fifo.h VO: remove old VO glue 2012-08-07 01:29:56 +02:00
mp_msg.c mp_msg: remove filename_recode 2012-07-31 01:35:53 +02:00
mp_msg.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mp_osd.h commands: change input commands to make OSD usage explicit 2012-10-12 10:10:30 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c core: remove duplicated format_time() functions 2012-09-18 21:04:47 +02:00
mpcommon.h Fix MP_TARRAY_GROW macro 2012-10-12 10:10:32 +02:00
mplayer.c commands: change property expansion format string 2012-10-12 10:10:32 +02:00
mplayer.h commands: replace --hardframedrop, change framedropping property 2012-10-12 10:10:30 +02:00
options.h commands: replace --hardframedrop, change framedropping property 2012-10-12 10:10:30 +02:00
parser-cfg.c parser-cfg: specify which config file contains the unknown option 2012-08-20 15:36:05 +02:00
parser-cfg.h
parser-mpcmd.c options: fix "--" 2012-09-18 21:07:29 +02:00
parser-mpcmd.h options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
path.c Remove win32/qt/xanim/real binary codecs loading 2012-08-16 17:16:33 +02:00
path.h Remove win32/qt/xanim/real binary codecs loading 2012-08-16 17:16:33 +02:00
playlist_parser.c mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
playlist_parser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
playlist.c playlist: do not add playlist base path to URLs 2012-08-07 03:14:53 +02:00
playlist.h playlist: rename params_count field to num_params for consistency 2012-08-04 19:59:55 +02:00
pnm_loader.c
pnm_loader.h
README osd: remove freetype font rendering code 2012-07-28 23:36:08 +02:00
screenshot.c commands: change property expansion format string 2012-10-12 10:10:32 +02:00
screenshot.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01:00
subopt-helper.c Remove dead code 2012-08-01 17:07:35 +02:00
subopt-helper.h Remove dead code 2012-08-01 17:07:35 +02:00
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.c build: move mpcommon.c to version.c 2012-09-18 21:04:47 +02:00
version.sh Change version string 2012-07-29 00:04:17 +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 (for libass)
 - libfontconfig (for libass)
 - 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.