mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-28 23:13:18 +08:00
e41378ea7186a4be1d5ed3f0d55a1d4cb93f2f10
There are many input commands which are redundant to properties. They were parsed like normal commands, but set_property_command() in command.c handled them automatically using the property mechanism. This still required having the command specifications around, and the code in command.c was quite messy. Replace this with a text based replacement mechanism. Some corner cases are not handled: commands of form "seek_chapter 3 1" are supposed to set the "chapter" property to 3. This use is probably rare, and doesn't show up in the default input.conf. The reason compatibility is kept is because breaking input.conf is quite annoying, so a minimal effort is made to avoid this. Currently we print an annoying warning every time a legacy command is used, though. Also add a compatibility entry for "pt_step", which was removed some time ago. Variations in whitespace are not handled, but it's good enough to deal with old input.conf entries.
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.
Languages
C
88%
Lua
5.8%
Swift
2.3%
Meson
1.1%
Python
0.8%
Other
2%