1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-11 17:39:38 +00:00
Command line video player
Go to file
Uoti Urpala 7807f46cd1 audio: keep volume level internally (not only in AO)
Current volume was always queried from the the audio output driver (or
filter in case of --softvol). The only case where it was stored on
mixer level was that when turning off mute, volume was set to the
value it had before mute was activated. Change the mixer code to
always store the current target volume internally. It still checks for
significant changes from external sources and resets the internal
value in that case.

The main functionality changes are:

Volume will now be kept separately from mute status. Increasing or
decreasing volume will now change it relative to the original value
before mute, even if mute is implemented by setting AO level volume to
0. Volume changes no longer automatically disable mute. The exception
is relative changes up (like the volume increase key in default
keybindings); that's the only case which still disables mute.

Keeping the value internally avoids problems with granularity of
possible volume values supported by AO. Increase/decrease keys could
work unsymmetrically, or when specifying a smaller than default
--volstep, even fail completely. In one case occurring in practice, if
the AO only supports changing volume in steps of about 2 and rounds
down the requested volume, then volume down key would decrease by 4
but volume up would increase by 2 (previous volume plus or minus the
default change of 3, rounded down to a multiple of 2). Now, the
internal value will keep full precision.
2012-04-11 00:13:11 +03:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
drivers the great MPlayer tab removal: part I 2010-04-12 10:56:17 +00:00
etc etc/input.conf: make file contents match default key bindings 2012-03-25 22:30:37 +03:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input ao_pulse, core: make pulse thread wake up core for more data 2012-03-26 03:55:31 +03:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 libao2: change control() types to enum, remove unused ones 2012-04-08 16:35:09 +03: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 build: remove OS/2 support 2012-04-06 17:45:56 +03:00
loader build: remove OS/2 support 2012-04-06 17:45:56 +03:00
osdep build: remove OS/2 support 2012-04-06 17:45:56 +03:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream build: remove OS/2 support 2012-04-06 17:45:56 +03: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
TOOLS vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
.gitignore .gitignore: add /cpuinfo 2011-03-13 22:20:51 +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
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02: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 input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
bstr.h input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
cfg-mplayer.h options, x11+cocoa: add option --cursor-autohide-delay 2012-03-25 22:30:37 +03: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 audio: keep volume level internally (not only in AO) 2012-04-11 00:13:11 +03:00
command.h Merge svn changes up to r30475 2010-03-09 19:18:43 +02:00
configure build: remove OS/2 support 2012-04-06 17:45:56 +03:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c build: remove OS/2 support 2012-04-06 17:45:56 +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 the great MPlayer tab removal: part II 2010-05-03 23:34:38 +00:00
defaultopts.c options, x11+cocoa: add option --cursor-autohide-delay 2012-03-25 22:30:37 +03: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 Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
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 Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
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
Makefile build: remove OS/2 support 2012-04-06 17:45:56 +03:00
mangle.h Use configure code to define PIC instead of duplicating the check in mangle.h. 2009-11-10 13:08:36 +00:00
metadata.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mixer.c audio: keep volume level internally (not only in AO) 2012-04-11 00:13:11 +03:00
mixer.h audio: keep volume level internally (not only in AO) 2012-04-11 00:13:11 +03:00
mp_core.h timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_fifo.h input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +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 audio: keep volume level internally (not only in AO) 2012-04-11 00:13:11 +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, x11+cocoa: add option --cursor-autohide-delay 2012-03-25 22:30:37 +03: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 build: remove OS/2 support 2012-04-06 17:45:56 +03: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
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +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 Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00: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.sh Update copyright year 2012-01-28 13:49:13 +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
 - 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.