mpv/player
wm4 423e53ba0b m_config: introduce basic mechanism to synchronize global option updates
The way option runtime changes are handled is pretty bad in the current
codebase. There's a big option struct (MPOpts), which contains almost
everything, and for which no synchronization mechanism exists. This was
handled by either making some options read-only after initialization,
duplicating the option struct, using sub-options (in the VO), and so on.

Introduce a mechanism that creates a copy of the global options (or
parts of it), and provides a well-defined way to update them in a
thread-safe way.

Most code can remain the same, just that all the component glue code has
to explicitly make use of it first.

There is still lots of room for improvement. For example, the update
mechanism could be better.
2016-09-02 15:50:40 +02:00
..
lua player: fix minor spelling mistake in osc.lua 2016-08-27 09:02:11 +02:00
audio.c audio: avoid missed wakeups with ab-loops 2016-08-24 12:14:48 +02:00
client.c client API: create core thread at an earlier time 2016-09-01 21:55:21 +02:00
client.h client API: add stream_cb API for user-defined stream implementations 2016-08-07 19:33:20 +02:00
command.c command: deprecate "cache" property, replace with "cache-percent" 2016-09-02 09:42:19 +02:00
command.h command: add options to property list 2016-09-01 20:00:43 +02:00
configfiles.c options: make mp_vo_opts options an actual sub-option group 2016-08-30 23:50:57 +02:00
core.h player: make looping slightly more seamless 2016-08-18 20:40:23 +02:00
external_files.c ta: remove old and redundant macro 2016-05-17 10:53:14 +02:00
external_files.h
lavfi.c lavfi: shut up false positive compiler warnings 2016-04-26 19:38:51 +02:00
lavfi.h player: add complex filter graph support 2016-02-05 23:19:56 +01:00
loadfile.c player: don't directly access demuxer->stream 2016-08-26 13:33:38 +02:00
lua.c osd: cleanup: make OSDTYPE_ constants private to OSD code 2016-03-08 22:01:57 +01:00
main.c m_config: introduce basic mechanism to synchronize global option updates 2016-09-02 15:50:40 +02:00
misc.c m_config: introduce basic mechanism to synchronize global option updates 2016-09-02 15:50:40 +02:00
osd.c player: add option to disable video OSD 2016-08-28 18:26:59 +02:00
playloop.c options: make mp_vo_opts options an actual sub-option group 2016-08-30 23:50:57 +02:00
screenshot.c video: refactor how VO exports hwdec device handles 2016-05-09 20:03:22 +02:00
screenshot.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
scripting.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
sub.c osd: cleanup: make OSDTYPE_ constants private to OSD code 2016-03-08 22:01:57 +01:00
video.c command: fix or document some property/option consistency issues 2016-09-01 20:57:33 +02:00