summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-04-21 23:52:14 +0200
committerwm4 <wm4@nowhere>2014-04-22 01:42:57 +0200
commitb430c886aa33813287499df075aad8dadb6bd7b3 (patch)
tree839acd61a7c937869e98bf28db266d32a559fe0d /player
parentbdfe02158f22da7d078978ee6625701226412a54 (diff)
downloadmpv-b430c886aa33813287499df075aad8dadb6bd7b3.tar.bz2
mpv-b430c886aa33813287499df075aad8dadb6bd7b3.tar.xz
client API: make mpv_set_option set options natively
This should fix some issues, such as not being able to set the "no-video" option with MPV_FORMAT_FLAG. Note that this changes semantics a bit. Now setting an option strictly overwrite it, even if the corresponding command line option does not. For example, if we change --sub to append by default, then setting the "sub" option via the client API would still never append. (Oddly, this also applies to --vf-add, which will overwrite the old value when using the client API.) I'm doing this because there's no proper separation between the command line parser and setting an option using the MPV_FORMAT_STRING format. Maybe the solution to this mess would be adding format aware code (i.e. m_option_set_node) to every option type, and falling back to strings only if needed - but this would mean that you couldn't set e.g. an integer option using MPV_FORMAT_STRING, which doesn't seem to be ideal either. In conclusion, the current approach seems to be most robust, but I'm open to suggestions should someone find that these semantics are a problem.
Diffstat (limited to 'player')
-rw-r--r--player/client.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/player/client.c b/player/client.c
index 9e12d75afa..afcff83f9f 100644
--- a/player/client.c
+++ b/player/client.c
@@ -652,7 +652,7 @@ int mpv_set_option(mpv_handle *ctx, const char *name, mpv_format format,
data = &tmp;
}
int err = m_config_set_option_node(ctx->mpctx->mconfig, bstr0(name),
- data, 0);
+ data);
switch (err) {
case M_OPT_MISSING_PARAM:
case M_OPT_INVALID: