Command line video player
Go to file
wm4 06b1de2687 mixer, libao: add proper mute control
The mixer frontend code can now make use of a proper system mixer mute
toggle, if the audio output driver supports it.

The consequence is that, if support is available, mplayer will no longer
temporarily set the system volume to 0 if mute is enabled.

Generally, the code now deals with the following combinations of available
AO features:
- software volume control forced by user (--softvol / soft_vol flag)
  => if enabled, never touch the "hardware" controls
- "hardware"/driver volume control available (whether
  AOCONTROL_GET/SET_VOLUME works)
  => if not available, enable volume controls by enabling softvol
- "hardware"/driver mute control (AOCONTROL_GET/SET_MUTE)
  => if not available, emulate by setting volume to 0
- whether the volume+mute controls are kept or not when the AO is closed
  (indicated by ao->no_persistent_volume)
  => if not persistent, restore the volume/mute next time the AO is opened
2012-01-18 04:21:46 +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 libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
ffmpeg_files ffmpeg_files/intreadwrite.h: fix AV_RL32/AV_RB32 signedness 2011-06-15 00:10:47 +03:00
input core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-01-18 04:21:46 +01:00
libao2 mixer, libao: add proper mute control 2012-01-18 04:21:46 +01:00
libmpcodecs vf_expand: always clear the added borders 2011-12-19 21:56:00 +02:00
libmpdemux configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
libvo configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
loader loader/module.c: Fix compilation with --disable-qtx 2011-07-06 13:01:08 +03:00
osdep getch2.c: fix negative keycodes returned for non-ascii 2011-10-03 04:12:15 +03:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
sub core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
timeline demuxer.h: avoid including stream.h 2011-08-19 21:37:16 +03: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 configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
access_mpcontext.h cleanup: remove warnings under libmenu/ 2011-06-24 22:55:09 +03: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 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 configure, build: remove --disable-libav support 2011-12-11 07:48:26 +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
command.c core: remove EDL muting 2012-01-18 04:21:45 +01:00
command.h
configure configure, build: remove --disable-libav support 2011-12-11 07:48:26 +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 options: change --ass-hinting default to 0 2011-12-07 00:25:38 +02:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
edl.c
edl.h
fmt-conversion.c video/colorspaces: add new 9/10-bit formats from libavcodec 2011-06-26 06:27:50 +03: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 options: add "disabled option" functionality 2011-09-04 14:36:09 +03: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 core: remove EDL muting 2012-01-18 04:21:45 +01: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 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 options: more mplayer.c options moved to option struct 2010-11-14 00:14:56 +02:00
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 core: remove EDL muting 2012-01-18 04:21:45 +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 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
pnm_loader.h
screenshot.c core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +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 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.