Command line video player
Go to file
wm4 13482fb397 core: refactor MPContext.demuxer field accesses
Whenever the demuxer is accessed to retrieve metadata, use the newly
introduced master_demuxer field instead. If a timeline is used, the
master_demuxer will still refer to the main file, instead to segments.
Instead of mpctx->demuxer->stream, access mpctx->stream; even though
they are the same, the code becomes shorter. For the TV code, introduce
a function get_tvh() to access the TV handle, instead of duplicating the
code all over the place. Often the demuxer field is checked to determine
whether something is currently played; prefer other methods over that.

Note that the code before always accessed the current timeline segment,
and would e.g. read file metadata of the current segment. Now it always
returns metadata for the master file. This may have various wanted and
unwanted effects.
2012-09-18 20:58:16 +02:00
DOCS libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
TOOLS vf_dlopen: add a generic filter to load external filters 2012-08-23 13:13:53 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
etc libmpcodecs: remove redundant audio and video decoders 2012-08-20 15:36:04 +02:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input command: remove sub_remove command 2012-09-07 16:06:36 +02:00
libaf libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
libao2 libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
libmpcodecs libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
libmpdemux libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
libvo cocoa_common: improve conditional dock hiding from 3259e4a7a 2012-08-28 23:21:07 +02:00
osdep timer: remove timer_name 2012-09-07 16:06:36 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
sub osd_libass: fix displaying empty text, fix API usage 2012-08-21 18:58:15 +02:00
timeline core, timeline: don't keep separate stream field 2012-09-07 16:06:36 +02:00
.gitignore manpage: merge new manpage 2012-08-02 22:05:27 +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 vf_dlopen: add a generic filter to load external filters 2012-08-23 13:13:53 +02:00
README osd: remove freetype font rendering code 2012-07-28 23:36:08 +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
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
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 Remove support for libnemesi RTSP streaming 2012-08-20 15:36:03 +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 core: refactor MPContext.demuxer field accesses 2012-09-18 20:58:16 +02:00
command.h Merge svn changes up to r30475 2010-03-09 19:18:43 +02:00
configure configure: disable optimization if --enable-debug is used 2012-08-25 20:04:32 +02: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 image_writer: add option parsing 2012-08-06 17:48:30 +02:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +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
m_config.c m_config: support auto-allocated sub-structs 2012-08-06 17:45:17 +02:00
m_config.h m_config: support auto-allocated sub-structs 2012-08-06 17:45:17 +02:00
m_option.c libaf: rename af_format.h to format.h 2012-08-29 00:50:26 +02:00
m_option.h m_config: support auto-allocated sub-structs 2012-08-06 17:45:17 +02:00
m_property.c options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +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
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 mixer: silence message about inserting volume filter 2012-07-30 01:46:04 +02:00
mixer.h mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mp_core.h core: refactor MPContext.demuxer field accesses 2012-09-18 20:58:16 +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: remove filename_recode 2012-07-31 01:35:53 +02:00
mp_msg.h mp_msg: remove filename_recode 2012-07-31 01:35:53 +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 Change version string 2012-07-29 00:04:17 +02:00
mpcommon.h options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
mplayer.c core: refactor MPContext.demuxer field accesses 2012-09-18 20:58:16 +02:00
mplayer.h libvo: remove exit_player_bad() 2012-07-30 15:46:05 +02:00
options.h image_writer: add option parsing 2012-08-06 17:48:30 +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 Remove dvdnav support (DVD menus) 2012-08-16 17:17:49 +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.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
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
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 image_writer: add option parsing 2012-08-06 17:48:30 +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.sh Change version string 2012-07-29 00:04:17 +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 (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.