From ef827af06cbf334a497fb0de8c9b75188549d03e Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 2 Feb 2015 17:24:33 +0100 Subject: client API: add mpv_wait_async_requests() This does what it's documented to do. The implementation reuses the code in mpv_detach_destroy(). Due to the way async requests currently work, just sending a synchronous dummy request (like a "ignore" command) would be enough to ensure synchronization, but this code will continue to work even if this changes. The line "ctx->event_mask = 0;" is removed, but it shouldn't be needed. (If a client is somehow very slow to terminate, this could silence an annoying queue overflow message, but all in all it does nothing.) Calling mpv_wait_async_requests() and mpv_wait_event() concurrently is in theory allowed, so change pthread_cond_signal() to pthread_cond_broadcast() to avoid missed wakeups. As requested in issue #1542. --- DOCS/client-api-changes.rst | 1 + 1 file changed, 1 insertion(+) (limited to 'DOCS/client-api-changes.rst') diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst index 8fa325a870..626474779b 100644 --- a/DOCS/client-api-changes.rst +++ b/DOCS/client-api-changes.rst @@ -25,6 +25,7 @@ API changes :: + 1.14 - add mpv_wait_async_requests() 1.13 - add MPV_EVENT_QUEUE_OVERFLOW 1.12 - add class Handle to qthelper.hpp - improve opengl_cb.h API uninitialization behavior, and fix the qml -- cgit v1.2.3