summaryrefslogtreecommitdiffstats
path: root/libmpv
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-09-26 14:09:14 +0200
committerwm4 <wm4@nowhere>2019-09-26 14:17:00 +0200
commit31c04f162b8c7bfaed7f76eaa18da3c4f41c090e (patch)
treeda069482c49e3d8211688dab000a496d160fb4dd /libmpv
parent4d43c79e4c1b76d70bf0e976e6c72945ce962140 (diff)
downloadmpv-31c04f162b8c7bfaed7f76eaa18da3c4f41c090e.tar.bz2
mpv-31c04f162b8c7bfaed7f76eaa18da3c4f41c090e.tar.xz
client API: be explicit about usage rules and deadlocks some more
I think a popular libmpv application did exactly this: enabling advanced control, and then receiving deadlocks. I didn't confirm it, though. In any case, the API docs should avoid tricking users into making this easy mistake.
Diffstat (limited to 'libmpv')
-rw-r--r--libmpv/render.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libmpv/render.h b/libmpv/render.h
index afea7c2e10..293de3c9f0 100644
--- a/libmpv/render.h
+++ b/libmpv/render.h
@@ -239,6 +239,13 @@ typedef enum mpv_render_param_type {
* - Rendering screenshots with the GPU API if supported by the backend
* (instead of using a suboptimal software fallback via libswscale).
*
+ * Warning: do not just add this without reading the "Threading" section
+ * above, and then wondering that deadlocks happen. The
+ * requirements are tricky. But also note that even if advanced
+ * control is disabled, not adhering to the rules will lead to
+ * playback problems. Enabling advanced controls simply makes
+ * violating these rules fatal.
+ *
* Type: int*: 0 for disable (default), 1 for enable
*/
MPV_RENDER_PARAM_ADVANCED_CONTROL = 10,