1
mirror of https://github.com/mpv-player/mpv synced 2024-09-12 23:45:53 +02:00
Go to file
wm4 db565ca4f8 mplayer: fix crash when muted and audio codec fails
When audio codec initialization fails, reinit_audio_chain() will call
uninit_player() to close the AO. mpctx->ao is set, but mpctx->mixer.ao
is still NULL. uninit_player() assumes both variables are always the
same, and calls mixer_uninit(), even though mpctx->mixer.ao is NULL.
That function tries to access the ao without NULL check if mute was
enabled.

Fix this in mplayer.c by not relying on the assumption that
mpctx->ao == mpctx->mixer.ao. Also, add a check for NULL to mixer.c
(function muxer_uninit()). One of the checks is redundant and only one
of them is needed, but we add both for general robustness.
2012-10-03 01:41:13 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS Remove useless video filters 2012-10-03 01:28:40 +02:00
etc encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input commands: fix parsing bug 2012-09-23 14:57:41 +02:00
libaf rawaudio: use mplayer audio format for format option 2012-09-18 21:07:29 +02:00
libao2 encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
libmpcodecs Remove useless video filters 2012-10-03 01:28:40 +02:00
libmpdemux demuxer: fix crash with demux_rawvideo 2012-09-23 15:15:43 +02:00
libvo encode: fix -ocopyts with certain DVD images 2012-09-29 15:02:36 +02:00
osdep windows support: include io.h when building on Cygwin 2012-09-30 15:16:53 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
sub subs, vo_vdpau: support RGBA color for PGS subtitles 2012-09-18 21:07:30 +02:00
timeline core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
TOOLS Fix string.format compatibility with Python 2.6 2012-10-01 14:28:29 +02:00
.gitignore .gitignore: ignore .exe files 2012-09-30 15:17:37 +02:00
asxparser.c Remove dead code 2012-08-01 17:07:35 +02:00
asxparser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
av_log.c stream_ffmpeg: fix broken line from 30afc64532 2012-04-18 01:27:55 +03: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 Add missing multiple inclusion guards. 2009-01-25 20:10:36 +00:00
bstr.c Adjust ffmpeg/libav #includes to work with recent upstream changes 2012-08-21 18:22:00 +02:00
bstr.h bstr.h: fix compilation with C++ 2012-08-03 03:34:38 +02:00
cfg-mplayer.h encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
codec-cfg.c options, codecs.conf, img_format: unify imgfmt name handling 2012-08-29 00:14:11 +02:00
codec-cfg.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
command.c vf_rectangle: remove as it is very dirty and we have a replacement now 2012-09-18 21:08:20 +02:00
command.h Merge svn changes up to r30475 2010-03-09 19:18:43 +02:00
configure Remove useless video filters 2012-10-03 01:28:40 +02:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
cpudetect.h cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
defaultopts.c softvol, ao_pulse: prefer ao_pulse volume control by default 2012-09-23 14:57:01 +02:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
encode_lavc.c encode: remove dependency on current ffmpeg 2012-10-01 11:04:48 +02:00
encode_lavc.h encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
encode.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
fmt-conversion.c cleanup: remove XvMC remains, reformat img_format.c 2012-08-28 23:26:16 +02:00
fmt-conversion.h Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
image_writer.c image_writer: make JPG default and increase quality (for screenshots) 2012-08-16 00:01:19 +02:00
image_writer.h image_writer: rename "filetype" option to "format" 2012-08-06 19:05:32 +02:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
m_config.c options: handle alias options differently 2012-09-23 14:58:56 +02:00
m_config.h options: handle alias options differently 2012-09-23 14:58:56 +02:00
m_option.c options: accept "yes" and "no" only for flags 2012-09-23 14:58:21 +02:00
m_option.h options: simplify somewhat by introducing a union for option values 2012-09-23 14:58:31 +02:00
m_property.c options: simplify somewhat by introducing a union for option values 2012-09-23 14:58:31 +02: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: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
m_struct.h Remove dead code 2012-08-01 17:07:35 +02:00
Makefile Remove useless video filters 2012-10-03 01:28:40 +02:00
mangle.h mangle: change preprocessor define for macosx 2012-08-01 08:46:20 +02:00
metadata.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mixer.c mplayer: fix crash when muted and audio codec fails 2012-10-03 01:41:13 +02:00
mixer.h softvol, ao_pulse: prefer ao_pulse volume control by default 2012-09-23 14:57:01 +02:00
mp_core.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_fifo.h VO: remove old VO glue 2012-08-07 01:29:56 +02:00
mp_msg.c mp_msg: make MSGL_STATUS use the same color as MSGL_INFO 2012-09-23 15:25:01 +02:00
mp_msg.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mp_osd.h mplayer: make OSD stack a member of MPContext 2012-08-04 19:59:56 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c core: remove duplicated format_time() functions 2012-09-18 21:04:47 +02:00
mpcommon.h core: remove duplicated format_time() functions 2012-09-18 21:04:47 +02:00
mplayer.c mplayer: fix crash when muted and audio codec fails 2012-10-03 01:41:13 +02:00
mplayer.h core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
options.h encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
parser-cfg.c parser-cfg: specify which config file contains the unknown option 2012-08-20 15:36:05 +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: fix "--" 2012-09-18 21:07:29 +02:00
parser-mpcmd.h options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
path.c Remove win32/qt/xanim/real binary codecs loading 2012-08-16 17:16:33 +02:00
path.h Remove win32/qt/xanim/real binary codecs loading 2012-08-16 17:16:33 +02:00
playlist_parser.c mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
playlist_parser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
playlist.c playlist: do not add playlist base path to URLs 2012-08-07 03:14:53 +02:00
playlist.h playlist: rename params_count field to num_params for consistency 2012-08-04 19:59:55 +02: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 osd: remove freetype font rendering code 2012-07-28 23:36:08 +02:00
screenshot.c core: remove duplicated format_time() functions 2012-09-18 21:04:47 +02:00
screenshot.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01:00
subopt-helper.c Remove dead code 2012-08-01 17:07:35 +02:00
subopt-helper.h Remove dead code 2012-08-01 17:07:35 +02: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.c build: move mpcommon.c to version.c 2012-09-18 21:04:47 +02:00
version.sh Change version string 2012-07-29 00:04:17 +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 (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.