mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 03:52:22 +02:00
command: add property indicating per-file options
Fixes #2165, more or less.
This commit is contained in:
parent
86a60a4dd2
commit
3cbf68b470
@ -20,6 +20,7 @@ Interface changes
|
||||
::
|
||||
|
||||
--- mpv 0.10.0 will be released ---
|
||||
- add "option-info/<name>/set-locally" property
|
||||
- add --cache-backbuffer; change --cache-default default to 75MB
|
||||
the new total cache size is the sum of backbuffer and the cache size
|
||||
specified by --cache-default or --cache
|
||||
|
@ -1872,6 +1872,12 @@ Property list
|
||||
``no`` otherwise. What this is set to if the option is e.g. changed
|
||||
at runtime is left undefined (meaning it could change in the future).
|
||||
|
||||
``option-info/<name>/set-locally``
|
||||
Return ``yes`` if the option was set per-file. This is the case with
|
||||
automatically loaded profiles, file-dir configs, and other cases. It
|
||||
means the option value will be restored to the value before playback
|
||||
start when playback ends.
|
||||
|
||||
``option-info/<name>/default-value``
|
||||
The default value of the option. May not always be available.
|
||||
|
||||
|
@ -272,6 +272,7 @@ static void ensure_backup(struct m_config *config, struct m_config_option *co)
|
||||
m_option_copy(co->opt, bc->backup, co->data);
|
||||
bc->next = config->backup_opts;
|
||||
config->backup_opts = bc;
|
||||
co->is_set_locally = true;
|
||||
}
|
||||
|
||||
void m_config_restore_backups(struct m_config *config)
|
||||
@ -282,6 +283,7 @@ void m_config_restore_backups(struct m_config *config)
|
||||
|
||||
m_option_copy(bc->co->opt, bc->co->data, bc->backup);
|
||||
m_option_free(bc->co->opt, bc->backup);
|
||||
bc->co->is_set_locally = false;
|
||||
talloc_free(bc);
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ struct mp_log;
|
||||
struct m_config_option {
|
||||
bool is_generated : 1; // Automatically added ("no-" options)
|
||||
bool is_set_from_cmdline : 1; // Set by user from command line
|
||||
bool is_set_locally : 1; // Has a backup entry
|
||||
bool warning_was_printed : 1;
|
||||
const char *name; // Full name (ie option-subopt)
|
||||
const struct m_option *opt; // Option description
|
||||
|
@ -3261,6 +3261,7 @@ static int mp_property_option_info(void *ctx, struct m_property *prop,
|
||||
{"name", SUB_PROP_STR(co->name)},
|
||||
{"type", SUB_PROP_STR(opt->type->name)},
|
||||
{"set-from-commandline", SUB_PROP_FLAG(co->is_set_from_cmdline)},
|
||||
{"set-locally", SUB_PROP_FLAG(co->is_set_locally)},
|
||||
{"default-value", *opt, def},
|
||||
{"min", SUB_PROP_DOUBLE(opt->min),
|
||||
.unavailable = !(has_minmax && (opt->flags & M_OPT_MIN))},
|
||||
|
Loading…
Reference in New Issue
Block a user