summaryrefslogtreecommitdiffstats
path: root/player/client.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 20:36:56 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 20:36:56 +0000
commit51de1d8436100f725f3576aefa24a2bd2057bc28 (patch)
treec6d1d5264b6d40a8d7ca34129f36b7d61e188af3 /player/client.h
parentInitial commit. (diff)
downloadmpv-upstream/0.37.0.tar.xz
mpv-upstream/0.37.0.zip
Adding upstream version 0.37.0.upstream/0.37.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'player/client.h')
-rw-r--r--player/client.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/player/client.h b/player/client.h
new file mode 100644
index 0000000..ddc568e
--- /dev/null
+++ b/player/client.h
@@ -0,0 +1,58 @@
+#ifndef MP_CLIENT_H_
+#define MP_CLIENT_H_
+
+#include <stdint.h>
+#include <stdbool.h>
+
+#include "libmpv/client.h"
+#include "libmpv/stream_cb.h"
+#include "misc/bstr.h"
+
+struct MPContext;
+struct mpv_handle;
+struct mp_client_api;
+struct mp_log;
+struct mpv_global;
+
+// Includes space for \0
+#define MAX_CLIENT_NAME 64
+
+void mp_clients_init(struct MPContext *mpctx);
+void mp_clients_destroy(struct MPContext *mpctx);
+void mp_shutdown_clients(struct MPContext *mpctx);
+bool mp_is_shutting_down(struct MPContext *mpctx);
+bool mp_clients_all_initialized(struct MPContext *mpctx);
+
+bool mp_client_id_exists(struct MPContext *mpctx, int64_t id);
+void mp_client_broadcast_event(struct MPContext *mpctx, int event, void *data);
+int mp_client_send_event(struct MPContext *mpctx, const char *client_name,
+ uint64_t reply_userdata, int event, void *data);
+int mp_client_send_event_dup(struct MPContext *mpctx, const char *client_name,
+ int event, void *data);
+void mp_client_property_change(struct MPContext *mpctx, const char *name);
+void mp_client_send_property_changes(struct MPContext *mpctx);
+
+struct mpv_handle *mp_new_client(struct mp_client_api *clients, const char *name);
+void mp_client_set_weak(struct mpv_handle *ctx);
+struct mp_log *mp_client_get_log(struct mpv_handle *ctx);
+struct mpv_global *mp_client_get_global(struct mpv_handle *ctx);
+
+void mp_client_broadcast_event_external(struct mp_client_api *api, int event,
+ void *data);
+
+// m_option.c
+void *node_get_alloc(struct mpv_node *node);
+
+// for vo_libmpv.c
+struct osd_state;
+struct mpv_render_context;
+bool mp_set_main_render_context(struct mp_client_api *client_api,
+ struct mpv_render_context *ctx, bool active);
+struct mpv_render_context *
+mp_client_api_acquire_render_context(struct mp_client_api *ca);
+void kill_video_async(struct mp_client_api *client_api);
+
+bool mp_streamcb_lookup(struct mpv_global *g, const char *protocol,
+ void **out_user_data, mpv_stream_cb_open_ro_fn *out_fn);
+
+#endif