diff options
author | wm4 <wm4@nowhere> | 2019-11-10 23:49:23 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2019-11-10 23:49:23 +0100 |
commit | 4cae19237758a21685c9d988d24dafac713f3a30 (patch) | |
tree | 066c6a4fa77239a2a43b546d7b2182d0b7432c70 /options/m_option.h | |
parent | 20c9538e3236779fabe21c6fbdb7e6e039bd32b1 (diff) | |
download | mpv-4cae19237758a21685c9d988d24dafac713f3a30.tar.bz2 mpv-4cae19237758a21685c9d988d24dafac713f3a30.tar.xz |
options: remove M_OPT_FIXED
Options marked with this flag were changed to strictly read-only after
initialization (mpv_initialize() in the client API, after option parsing
and config file loading with the CLI player).
This used to be necessary, because there was a single option struct that
could be accessed by multiple threads. For example, --config-dir sets
MPOpts.force_configdir, which was read whenever anything accessed the
mpv config dir (which could be on different threads, e.g. font
initialization tries to lookup fonts.conf from an arbitrary thread).
This isn't needed anymore, because threads now access these in a thread
safe way. In the case of --config-dir, the path is actually just copied
on init.
This M_OPT_FIXED mechanism is thus not strictly needed anymore. It still
prevents writing to some options that cannot take effect at runtime, but
even that can be dropped. In general, all mpv options can be changed any
time at runtime, even if they never take effect, and there's no need to
make an exception for a very low number of options. So just get rid of
it.
Diffstat (limited to 'options/m_option.h')
-rw-r--r-- | options/m_option.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/options/m_option.h b/options/m_option.h index cd785a5cab..7be8ae4b7b 100644 --- a/options/m_option.h +++ b/options/m_option.h @@ -386,12 +386,6 @@ char *format_file_size(int64_t size); // The option is forbidden in config files. #define M_OPT_NOCFG (1 << 2) -// Can not be freely changed at runtime (normally, all options can be changed, -// even if the settings don't get effective immediately). Note that an option -// might still change even if this is set, e.g. via properties or per-file -// options. -#define M_OPT_FIXED (1 << 3) - // The option should be set during command line pre-parsing #define M_OPT_PRE_PARSE (1 << 4) @@ -707,7 +701,7 @@ extern const char m_option_path_separator; #define OPT_PRINT(optname, fn) \ {.name = optname, \ - .flags = M_OPT_FIXED | M_OPT_NOCFG | M_OPT_PRE_PARSE | M_OPT_NOPROP, \ + .flags = M_OPT_NOCFG | M_OPT_PRE_PARSE | M_OPT_NOPROP, \ .type = &m_option_type_print_fn, \ .priv = MP_EXPECT_TYPE(m_opt_print_fn, fn), \ .offset = -1} |