mpv/common
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
..
av_common.c video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
av_common.h video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
av_log.c player: fatal error if linked and compiled FFmpeg versions mismatch 2016-07-01 20:56:59 +02:00
av_log.h player: fatal error if linked and compiled FFmpeg versions mismatch 2016-07-01 20:56:59 +02:00
codecs.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
codecs.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
common.c Initial Android support 2016-02-10 21:29:36 +01:00
common.h common: add assert.h include 2016-08-28 19:33:04 +02:00
encode.h encode: make option struct local 2014-06-11 02:05:07 +02:00
encode_lavc.c encode_lavc: Migrate to codecpar API. 2016-04-11 14:57:20 -04:00
encode_lavc.h encode_lavc: Migrate to codecpar API. 2016-04-11 14:57:20 -04:00
global.h m_config: introduce basic mechanism to synchronize global option updates 2016-09-02 15:50:40 +02:00
msg.c msg: introduce partial line buffers per mp_log 2016-03-01 22:36:05 +01:00
msg.h Update license headers 2015-04-13 12:10:01 +02:00
msg_control.h client API: allow using msg-level option for log messages 2015-06-20 21:40:47 +02:00
playlist.c playlist: improve shuffle algorithm 2016-03-20 19:51:22 +01:00
playlist.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
tags.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
tags.h player: filter tags, add --display-tags option 2014-12-29 22:51:18 +01:00
version.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00