wm4 a4f7a3df50 mplayer: fix idle mode regressions
Commit 89a17bcda6 simplified the idle loop to run any commands
mplayer receives, not just playlist related commands. Unfortunately, it
turns out many slave commands always assume the presence of a demuxer.
MPContext->demuxer is assumed not to be NULL. This made the player
crash when receiving slave commands like pause/unpause, chapter
control, subtitle selection.

We want mplayer being able to handle this. Any slave command or
property, as long as it's backed by a persistent setting, should be run
successfully, even if no file is being played. If the slave command
doesn't make sense in this state, it shouldn't crash the player.

Insert some NULL checks when accessing demuxers. If sh_video or
sh_audio are not NULL, assume demuxer can't be NULL.

(There actually aren't that many properties which need to be changed. If
it gets too complicated, we could employ alternative mechanisms instead,
such as explicitly marking safe properties with a flag.)
2012-08-04 19:56:23 +02:00
2012-08-03 01:49:35 +02:00
2012-08-03 00:12:46 +02:00
2012-08-03 02:18:29 +02:00
2012-08-03 01:00:55 +02:00
2012-07-31 01:35:53 +02:00
2012-08-02 22:05:27 +02:00
2012-08-01 17:07:35 +02:00
2012-02-01 22:46:27 +02:00
2012-08-03 03:34:38 +02:00
2012-08-03 01:43:03 +02:00
2012-08-04 19:56:23 +02:00
2010-03-09 19:18:43 +02:00
2011-04-02 07:28:53 +03:00
2012-08-03 01:43:03 +02:00
2012-08-01 17:07:35 +02:00
2012-08-01 17:07:35 +02:00
2012-08-03 02:05:23 +02:00
2012-08-04 19:56:23 +02:00
2012-07-31 01:35:53 +02:00
2012-07-31 01:35:53 +02:00
2012-07-29 00:04:17 +02:00
2012-08-04 19:56:23 +02:00
2012-07-30 15:46:05 +02:00
2012-08-02 23:22:52 +02:00
2012-03-09 20:48:54 +02:00
2012-08-01 17:07:35 +02:00
2012-08-01 17:07:35 +02:00
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.
S
Description
🎥 Command line media player
Readme
184 MiB
Languages
C 88%
Lua 5.8%
Swift 2.3%
Meson 1.1%
Python 0.8%
Other 2%