Command line video player
Go to file
wm4 3e6e80a32c x11: fix setting UTF-8 window titles for some special cases
Setting the WM_NAME/WM_ICON_NAME window properties didn't always work:
apparently there are some characters that can't be represented in the X
STRING or COMPOUND_TEXT encodings, such as U+2013 EN DASH. The function
Xutf8TextListToTextProperty partially converts the string, and returns
a value different from 'Success'. This means vo_x11_set_property_string
didn't set these window properties.

On most modern window managers, this is not a problem, since these use
the _NET_WM_NAME/_NET_ICON_NAME and the UTF8_STRING encoding. Some older
WMs like IceWM don't read these, and the window title remains blank.

It's not clear what exactly we should do in this situation, but fix it
by setting set the WM_NAME/WM_ICON_NAME properties as UTF8_TEXT. This
violates the ICCCM, but at least IceWM seems to handle this well.

See also:
  http://lists.freedesktop.org/archives/xorg/2004-September/003391.html
  http://lists.freedesktop.org/archives/xorg/2004-September/003395.html
2012-03-25 22:30:37 +03:00
DOCS core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
TOOLS vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
drivers
etc libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input windows support: unicode filenames 2012-03-09 20:48:54 +02:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
libmpcodecs timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
libmpdemux cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
libvo x11: fix setting UTF-8 window titles for some special cases 2012-03-25 22:30:37 +03:00
loader cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
osdep windows: terminal: unicode, --msgcolor, size change 2012-03-09 20:48:54 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream windows support: unicode filenames 2012-03-09 20:48:54 +02:00
sub timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
timeline windows support: unicode filenames 2012-03-09 20:48:54 +02:00
.gitignore .gitignore: add /cpuinfo 2011-03-13 22:20:51 +02:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
Makefile cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
asxparser.c asxparser: remove code confusing asx/player options 2011-07-26 05:31:30 +03:00
asxparser.h Merge svn change r31134 2010-05-07 22:03:48 +03:00
av_log.c configure, build: support compiling without libpostproc 2012-02-27 18:18:49 +02: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 options: fix failure to parse trailing ',' in string list 2011-07-31 20:25:22 +03:00
bstr.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
cfg-mplayer.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
codec-cfg.c build: Revert "codec-cfg.c: avoid including aviheader.h" 2011-07-07 07:38:24 +03:00
codec-cfg.h codec-cfg: set CODEC_CFG_MIN to the release value in codecs.conf 2010-11-02 04:11:07 +02:00
command.c timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
command.h
configure configure: fix --enable-static 2012-03-09 20:48:55 +02:00
cpudetect.c cpudetect.c: check OS SSE support only with runtime detection 2011-07-06 13:01:07 +03:00
cpudetect.h loader: Reuse do_cpuid from cpudetect.c in loader/win32.c 2010-11-02 04:15:01 +02:00
cpuinfo.c
defaultopts.c options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
fmt-conversion.c configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
fmt-conversion.h
m_config.c options: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_config.h options: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_option.c options: make "choice" option type parsing ignore case 2011-09-11 16:35:44 +03:00
m_option.h core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
m_property.c commands: osd_show_property_text: fix \xNN escapes 2011-08-05 03:46:06 +03:00
m_property.h
m_struct.c options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
m_struct.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
mangle.h
metadata.h
mixer.c options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
mixer.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
mp_core.h timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
mp_fifo.c input: rework event reading and command queuing 2011-07-17 07:36:09 +03:00
mp_fifo.h input: rework event reading and command queuing 2011-07-17 07:36:09 +03:00
mp_msg.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_msg.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mp_osd.h options: more mplayer.c options moved to option struct 2010-11-14 00:14:56 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
mpcommon.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mplayer.c timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
mplayer.h options: move sub_name, sub_auto and vobsub_name to struct 2011-04-20 04:22:52 +03:00
options.h options: move mixer.h options to struct 2012-03-20 14:51:32 +02:00
parser-cfg.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
parser-cfg.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
parser-mpcmd.c options: commandline: support "--no-opt" for flag options 2011-09-01 18:32:11 +03:00
parser-mpcmd.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
path.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
path.h windows support: unicode filenames 2012-03-09 20:48:54 +02:00
playtree.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtree.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
playtreeparser.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtreeparser.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
pnm_loader.c vo_gl: Move the read_pnm function into a separate file 2010-11-02 04:18:37 +02:00
pnm_loader.h vo_gl: Move the read_pnm function into a separate file 2010-11-02 04:18:37 +02:00
screenshot.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
screenshot.h core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
subopt-helper.c subopt-helper: support "no-" prefix to negate suboptions 2011-11-14 20:24:39 +02:00
subopt-helper.h
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.sh Update copyright year 2012-01-28 13:49:13 +02:00

README

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
 - libfontconfig
 - 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.