summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2016-09-08 18:53:20 +0200
committerwm4 <wm4@nowhere>2016-09-08 18:53:20 +0200
commita2fce5ba26dbab4836df4cb75a1458ca41f0dcb6 (patch)
tree23b04527949610022b8ac16795a467d80e932eab /player
parentc3097422f2e6f5fc687a21022e541a3f16e8ad19 (diff)
downloadmpv-a2fce5ba26dbab4836df4cb75a1458ca41f0dcb6.tar.bz2
mpv-a2fce5ba26dbab4836df4cb75a1458ca41f0dcb6.tar.xz
vo: don't access global options unsynchronized
And since there's no proper fine-grained option change notification mechanism yet, intercept updates to "framedrop" manually.
Diffstat (limited to 'player')
-rw-r--r--player/command.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/player/command.c b/player/command.c
index 03ea4d640c..e63e9181e5 100644
--- a/player/command.c
+++ b/player/command.c
@@ -2673,6 +2673,16 @@ static int mp_property_display_fps(void *ctx, struct m_property *prop,
return m_property_double_ro(action, arg, fps);
}
+static int mp_property_framedrop(void *ctx, struct m_property *prop,
+ int action, void *arg)
+{
+ MPContext *mpctx = ctx;
+ int ret = mp_property_generic_option(mpctx, prop, action, arg);
+ if (action == M_PROPERTY_SET && ret == M_PROPERTY_OK && mpctx->video_out)
+ vo_event(mpctx->video_out, VO_EVENT_WIN_STATE);
+ return ret;
+}
+
static int mp_property_estimated_display_fps(void *ctx, struct m_property *prop,
int action, void *arg)
{
@@ -3881,6 +3891,7 @@ static const struct m_property mp_properties_base[] = {
{"display-fps", mp_property_display_fps},
{"estimated-display-fps", mp_property_estimated_display_fps},
{"vsync-jitter", mp_property_vsync_jitter},
+ {"framedrop", mp_property_framedrop},
{"working-directory", mp_property_cwd},