From 6d7cfdfae582353e1f10797bb2c587e6ada0aed7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 23 Mar 2018 16:24:17 +0100 Subject: [PATCH] client API: deprecate mpv_get_wakeup_pipe() I don't think anything even uses it. --- DOCS/client-api-changes.rst | 3 +++ DOCS/man/lua.rst | 2 +- libmpv/client.h | 36 ++++++++++++++++++++---------------- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst index 38fbc284b0..83db23df30 100644 --- a/DOCS/client-api-changes.rst +++ b/DOCS/client-api-changes.rst @@ -38,6 +38,9 @@ API changes API. This also means compatibility for anything but x11 and wayland through the old opengl-cb GL_MP_MPGetNativeDisplay method is now unsupported. + - deprecate mpv_get_wakeup_pipe(). It's complex, but easy to replace + using normal API (just set a wakeup callback to a function which + writes to a pipe). 1.29 - the behavior of mpv_terminate_destroy() and mpv_detach_destroy() changes subtly (see documentation in the header file). In particular, mpv_detach_destroy() will not leave the player running in all diff --git a/DOCS/man/lua.rst b/DOCS/man/lua.rst index 53e6d1db21..be2cf5bcb8 100644 --- a/DOCS/man/lua.rst +++ b/DOCS/man/lua.rst @@ -427,7 +427,7 @@ are useful only in special situations. ``mp.get_wakeup_pipe()`` Calls ``mpv_get_wakeup_pipe()`` and returns the read end of the wakeup - pipe. (See ``client.h`` for details.) + pipe. This is deprecated, but still works. (See ``client.h`` for details.) ``mp.get_next_timeout()`` Return the relative time in seconds when the next timer (``mp.add_timeout`` diff --git a/libmpv/client.h b/libmpv/client.h index 12459f7a0d..cd646eb218 100644 --- a/libmpv/client.h +++ b/libmpv/client.h @@ -1668,6 +1668,22 @@ void mpv_wakeup(mpv_handle *ctx); */ void mpv_set_wakeup_callback(mpv_handle *ctx, void (*cb)(void *d), void *d); +/** + * Block until all asynchronous requests are done. This affects functions like + * mpv_command_async(), which return immediately and return their result as + * events. + * + * This is a helper, and somewhat equivalent to calling mpv_wait_event() in a + * loop until all known asynchronous requests have sent their reply as event, + * except that the event queue is not emptied. + * + * In case you called mpv_suspend() before, this will also forcibly reset the + * suspend counter of the given handle. + */ +void mpv_wait_async_requests(mpv_handle *ctx); + +#if MPV_ENABLE_DEPRECATED + /** * Return a UNIX file descriptor referring to the read end of a pipe. This * pipe can be used to wake up a poll() based processing loop. The purpose of @@ -1719,27 +1735,15 @@ void mpv_set_wakeup_callback(mpv_handle *ctx, void (*cb)(void *d), void *d); * } * } * + * @deprecated this function will be removed in the future. If you need this + * functionality, use mpv_set_wakeup_callback(), create a pipe + * manually, and call write() on your pipe in the callback. + * * @return A UNIX FD of the read end of the wakeup pipe, or -1 on error. * On MS Windows/MinGW, this will always return -1. */ int mpv_get_wakeup_pipe(mpv_handle *ctx); -/** - * Block until all asynchronous requests are done. This affects functions like - * mpv_command_async(), which return immediately and return their result as - * events. - * - * This is a helper, and somewhat equivalent to calling mpv_wait_event() in a - * loop until all known asynchronous requests have sent their reply as event, - * except that the event queue is not emptied. - * - * In case you called mpv_suspend() before, this will also forcibly reset the - * suspend counter of the given handle. - */ -void mpv_wait_async_requests(mpv_handle *ctx); - -#if MPV_ENABLE_DEPRECATED - /** * @deprecated use render.h */