mpv/options
Dudemanguy 76367dae35 m_config_core: fix forced option notification with m_config_cache
bc28f7693d originally added this, but the
implementation isn't correct and causes excessive notifications when
writing to other options which may have bad behavior in some some
circumstances. Fix this by reworking the implementation for force
options so that the timestamps of the option update compared instead.
Whenever an option gets changed, the internal timestamp in the cache is
always incremented. For a special force option, we can save this
timestamp internally as well.

Because cache_check_update is always checked before potentially sending
an option notification, we know that if the internal timestamp is equal
to the timestamp saved by a force update option, it must have been
previously written. Thus, the notification can be sent. This lets
options like geometry work repeatedly but without constantly sending
notifications. Fixes #13954.
2024-04-26 17:42:52 +00:00
..
m_config.h options/m_config: fix no newline at end of file 2024-03-19 08:58:18 +01:00
m_config_core.c m_config_core: fix forced option notification with m_config_cache 2024-04-26 17:42:52 +00:00
m_config_core.h m_config_core: remove mp_read_option_raw 2023-09-22 14:20:38 +00:00
m_config_frontend.c m_property: add `>` for fixed precision floating-point expansion 2024-03-21 03:50:11 +01:00
m_config_frontend.h various: sort some standard headers 2023-10-20 21:31:09 +02:00
m_option.c m_option: change confusing error messages for obj_settings_list 2024-04-18 16:28:21 +02:00
m_option.h m_option: add a force_update boolean 2024-04-18 17:40:16 +00:00
m_property.c m_property: add `>` for fixed precision floating-point expansion 2024-03-21 03:50:11 +01:00
m_property.h m_property: add `>` for fixed precision floating-point expansion 2024-03-21 03:50:11 +01:00
options.c options: flag geometry/autofit options with force_update 2024-04-18 17:40:16 +00:00
options.h sd_ass: add `sub-vsfilter-bidi-compat` to enable vsfilter bidi compat 2024-04-18 00:14:44 +02:00
parse_commandline.c player: change insert_next to insert_at 2024-02-26 02:03:21 +00:00
parse_commandline.h player: get rid of mpv_global.opts 2018-05-24 19:56:35 +02:00
parse_configfile.c options: read config file as stream 2023-04-29 22:34:54 +00:00
parse_configfile.h options: read config file as stream 2023-04-29 22:34:54 +00:00
path.c path: don't load any files if --no-config is passed 2024-03-11 21:29:46 +01:00
path.h options/path: move path utility functions to misc/path_utils 2024-02-23 21:35:57 +01:00