summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-01-09 18:16:41 +0100
committerwm4 <wm4@nowhere>2020-01-09 18:16:41 +0100
commit363048077f0ee3a98f1184b363a25c6c50afd6df (patch)
treec522fc8f4548ecd8b4e18841701b44f0163af04a
parent3a9f0f537fc108eb4c8a485ba9df686277ab57c2 (diff)
downloadmpv-363048077f0ee3a98f1184b363a25c6c50afd6df.tar.bz2
mpv-363048077f0ee3a98f1184b363a25c6c50afd6df.tar.xz
client API: fix property notification from non-playloop sources
This code assumed that the function is only called from the playloop itself (and since property notification is done at the end of it, i.e. before sleeping, it obviously would not have needed to wake up the core). But this function is actually called from some comments (such as playlist-move), so this assumption was incorrect. Use the same method as the other function. Untested. Fixes: #7339 (probably)
-rw-r--r--player/client.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/player/client.c b/player/client.c
index af222e1873..0a3f5491a7 100644
--- a/player/client.c
+++ b/player/client.c
@@ -1576,8 +1576,10 @@ static void notify_property_events(struct mpv_handle *ctx, int event)
ctx->has_pending_properties = true;
}
}
- // Note: assume this function is called from the playloop only (at least
- // if called with events that trigger property changes).
+
+ // Same as in mp_client_property_change().
+ if (ctx->has_pending_properties)
+ mp_dispatch_adjust_timeout(ctx->mpctx->dispatch, 0);
}
// Call with ctx->lock held (only). May temporarily drop the lock.