Command line video player
Go to file
wm4 fee4d3b473 osd: add setting to display OSD always on terminal
Now the option --term-osd=force will cause mplayer to display all OSD
messages on the terminal, even if there is video.

Possible values for --term-osd:
- auto: use video OSD, or of there's no video, the terminal (default)
- off: always use video for OSD
- force: always use terminal for OSD

-term-osd and --term-osd are equivalent to --term-osd=force. This
changes the meaning of the option, since -term-osd used to enable the
OSD default behavior, i.e. --term-osd=auto.

-noterm-osd has the same effect as --term-osd=off, and is kept for
compatibility.

Implementation note:

The location for the OSD text was shared between the two code paths (it
was in osd_state.osd_text). We can't rely on the fact that the video-OSD
update code normally isn't run when --term-osd is called. When e.g.
panscan is updated, the video OSD code will draw the OSD anyway. This
would sometimes show unwanted OSD text on the video.

Deal with this by putting the current terminal-OSD text in a different
place (in MPContext.terminal_osd_text) to deal with this.
2012-01-18 04:33:30 +01: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 etc/input.conf: make file contents match default key bindings 2012-01-18 04:14:34 +01:00
ffmpeg_files configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
input Merge branch 'utf8_input' into my_master 2012-01-18 04:19:24 +01:00
libaf Merge branch 'softvol' into my_master 2012-01-18 04:21:58 +01:00
libao2 Merge branch 'softvol' into my_master 2012-01-18 04:21:58 +01:00
libmpcodecs Merge branch 'gradfun' into my_master 2012-01-18 04:22:48 +01:00
libmpdemux core: add new support for reading .cue files 2012-01-18 04:25:19 +01:00
libvo Merge branch 'eosd' into my_master 2012-01-18 04:22:23 +01:00
loader loader/module.c: Fix compilation with --disable-qtx 2011-07-06 13:01:08 +03:00
osdep input: handle UTF-8 terminal input 2012-01-18 04:13:27 +01:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream stream_vcd: fix option value allocated with strdup 2012-01-16 22:40:14 +02:00
sub configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
timeline core: add new support for reading .cue files 2012-01-18 04:25:19 +01: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 core: add new support for reading .cue files 2012-01-18 04:25:19 +01: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
av_log.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +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 2011-04-20 04:36:05 +03:00
av_opts.h
bstr.c bstr: add some utility functions 2012-01-18 04:24:38 +01:00
bstr.h bstr: add some utility functions 2012-01-18 04:24:38 +01:00
cfg-mplayer.h osd: add setting to display OSD always on terminal 2012-01-18 04:33:30 +01:00
codec-cfg.c build: Revert "codec-cfg.c: avoid including aviheader.h" 2011-07-07 07:38:24 +03:00
codec-cfg.h
command.c Merge branch 'softvol' into my_master 2012-01-18 04:21:58 +01:00
command.h
configure configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
cpudetect.c cpudetect.c: check OS SSE support only with runtime detection 2011-07-06 13:01:07 +03:00
cpudetect.h
cpuinfo.c
defaultopts.c osd: add setting to display OSD always on terminal 2012-01-18 04:33:30 +01:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
edl.c
edl.h
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: allow choice options without parameter 2012-01-18 04:33:30 +01:00
m_option.h options: allow choice options without parameter 2012-01-18 04:33:30 +01: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 mixer, libao: add proper mute control 2012-01-18 04:21:46 +01:00
mixer.h mixer, libao: add proper mute control 2012-01-18 04:21:46 +01:00
mp_core.h osd: add setting to display OSD always on terminal 2012-01-18 04:33:30 +01:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-01-18 04:11:48 +01:00
mp_fifo.h input: allow unicode keys and reassign internal key codes 2012-01-18 04:11:48 +01:00
mp_msg.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
mp_msg.h libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
mp_osd.h
mpbswap.h
mpcommon.c cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
mpcommon.h subs: move vobsub loading logic down to find_subfiles.c 2011-04-20 04:22:52 +03:00
mplayer.c osd: add setting to display OSD always on terminal 2012-01-18 04:33:30 +01: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, core/hrseek: add --hr-seek-demuxer-offset 2011-11-14 20:24:39 +02:00
parser-cfg.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03: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 bstr: rename BSTR() -> bstr() 2011-07-27 08:38:12 +03:00
path.h bstr.[ch], path.[ch]: add string and path handling functions 2011-02-26 16:40:31 +02:00
playtree.c playtree: --shuffle shouldn't make playlist navigation useless 2012-01-18 02:53:30 +01: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
pnm_loader.h
screenshot.c screenshot: improve quality by using additional swscale flags 2012-01-18 02:53:30 +01: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 talloc.[ch]: remove "type safety" hack that violates C types 2011-08-19 03:01:16 +03:00
version.sh build: change version number generation 2011-02-19 19:07:12 +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.