diff options
author | wm4 <wm4@nowhere> | 2020-02-19 22:18:15 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2020-02-19 22:18:15 +0100 |
commit | e2ab6b7f3567542a2a1b5aab053d513737e72878 (patch) | |
tree | 36f3f24792e4974cf1e6c5601a61e799b098e69a /input/input.h | |
parent | d06ebe2251b2ac75ebc6b63b1580ed15adecd3cc (diff) | |
download | mpv-e2ab6b7f3567542a2a1b5aab053d513737e72878.tar.bz2 mpv-e2ab6b7f3567542a2a1b5aab053d513737e72878.tar.xz |
scripting: add a way to run sub processes as "scripts"
This is just a more convenient way to start IPC client scripts per mpv
instance.
Does not work on Windows, although it could if the subprocess and IPC
parts are implemented (and I guess .exe/.bat suffixes are required).
Also untested whether it builds on Windows. A lot of other things are
untested too, so don't complain.
Diffstat (limited to 'input/input.h')
-rw-r--r-- | input/input.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/input/input.h b/input/input.h index df51cb7ed4..1a90a47d42 100644 --- a/input/input.h +++ b/input/input.h @@ -213,10 +213,20 @@ void mp_input_sdl_gamepad_add(struct input_ctx *ictx); struct mp_ipc_ctx; struct mp_client_api; +struct mpv_handle; // Platform specific implementation, provided by ipc-*.c. struct mp_ipc_ctx *mp_init_ipc(struct mp_client_api *client_api, struct mpv_global *global); +// Start a thread for the given handle and return a socket in out_fd[0] that +// is served by this thread. If the FD is not full-duplex, then out_fd[0] is +// the user's read-end, and out_fd[1] the write-end, otherwise out_fd[1] is set +// to -1. +// returns: +// true: out_fd[0] and out_fd[1] are set, ownership of h is transferred +// false: out_fd are not touched, caller retains ownership of h +bool mp_ipc_start_anon_client(struct mp_ipc_ctx *ctx, struct mpv_handle *h, + int out_fd[2]); void mp_uninit_ipc(struct mp_ipc_ctx *ctx); // Serialize the given mpv_event structure to JSON. Returns an allocated string. |