summaryrefslogtreecommitdiffstats
path: root/libmpv
diff options
context:
space:
mode:
Diffstat (limited to 'libmpv')
-rw-r--r--libmpv/client.h2
-rw-r--r--libmpv/render.h22
2 files changed, 13 insertions, 11 deletions
diff --git a/libmpv/client.h b/libmpv/client.h
index 2fea40de13..670f45c626 100644
--- a/libmpv/client.h
+++ b/libmpv/client.h
@@ -223,7 +223,7 @@ extern "C" {
* relational operators (<, >, <=, >=).
*/
#define MPV_MAKE_VERSION(major, minor) (((major) << 16) | (minor) | 0UL)
-#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION(1, 104)
+#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION(1, 105)
/**
* The API user is allowed to "#define MPV_ENABLE_DEPRECATED 0" before
diff --git a/libmpv/render.h b/libmpv/render.h
index 6d594e0c06..afea7c2e10 100644
--- a/libmpv/render.h
+++ b/libmpv/render.h
@@ -79,16 +79,6 @@ extern "C" {
* is logged. If you set MPV_RENDER_PARAM_ADVANCED_CONTROL, you promise that
* this won't happen, and must absolutely guarantee it, or a real deadlock
* will freeze the mpv core thread forever.
- * - if MPV_RENDER_PARAM_ADVANCED_CONTROL is used, you currently must call all
- * mpv_render*() API functions from the same thread on which the
- * mpv_render_context was returned by mpv_render_context_create(). This
- * requirement always existed. Not honoring it will lead to UB (deadlocks,
- * use of invalid pthread_t handles). This requirement might be removed in
- * the future, but will require some considerable work internal to libmpv.
- * You can avoid this issue by setting "vd-lavc-dr" to "no".
- * - MPV_RENDER_PARAM_ADVANCED_CONTROL has some other libmpv-internal problems,
- * which may result in random deadlocks (see top of vo_libmpv.c).
- * You can probably avoid this issue by setting "vd-lavc-dr" to "no".
*
* libmpv functions which are safe to call from a render thread are:
* - functions marked with "Safe to be called from mpv render API threads."
@@ -104,6 +94,18 @@ extern "C" {
* - if the mpv_handle parameter refers to a different mpv core than the one
* you're rendering for (very obscure, but allowed)
*
+ * Note about old libmpv version:
+ *
+ * Before API version 1.105 (basically in mpv 0.29.x), simply enabling
+ * MPV_RENDER_PARAM_ADVANCED_CONTROL could cause deadlock issues. This can
+ * be worked around by setting the "vd-lavc-dr" option to "no".
+ * In addition, you were required to call all mpv_render*() API functions
+ * from the same thread on which mpv_render_context_create() was originally
+ * run (for the same the mpv_render_context). Not honoring it led to UB
+ * (deadlocks, use of invalid pthread_t handles), even if you moved your GL
+ * context to a different thread correctly.
+ * These problems were addressed in API version 1.105 (mpv 0.30.0).
+ *
* Context and handle lifecycle
* ----------------------------
*