diff --git a/src/pipewire/protocol.c b/src/pipewire/protocol.c index c7776c75f..d3ed3ad90 100644 --- a/src/pipewire/protocol.c +++ b/src/pipewire/protocol.c @@ -72,6 +72,12 @@ struct pw_protocol *pw_protocol_new(struct pw_core *core, return protocol; } +SPA_EXPORT +struct pw_core *pw_protocol_get_core(struct pw_protocol *protocol) +{ + return protocol->core; +} + SPA_EXPORT void *pw_protocol_get_user_data(struct pw_protocol *protocol) { diff --git a/src/pipewire/protocol.h b/src/pipewire/protocol.h index b35e02af8..62283e524 100644 --- a/src/pipewire/protocol.h +++ b/src/pipewire/protocol.h @@ -112,6 +112,8 @@ struct pw_protocol *pw_protocol_new(struct pw_core *core, const char *name, size void pw_protocol_destroy(struct pw_protocol *protocol); +struct pw_core *pw_protocol_get_core(struct pw_protocol *protocol); + void *pw_protocol_get_user_data(struct pw_protocol *protocol); const struct pw_protocol_implementaton * diff --git a/src/pipewire/proxy.c b/src/pipewire/proxy.c index ddcecba1e..b6a3f5c6c 100644 --- a/src/pipewire/proxy.c +++ b/src/pipewire/proxy.c @@ -146,6 +146,12 @@ uint32_t pw_proxy_get_type(struct pw_proxy *proxy, uint32_t *version) return proxy->type; } +SPA_EXPORT +struct pw_remote *pw_proxy_get_remote(struct pw_proxy *proxy) +{ + return proxy->remote; +} + SPA_EXPORT struct pw_protocol *pw_proxy_get_protocol(struct pw_proxy *proxy) { diff --git a/src/pipewire/proxy.h b/src/pipewire/proxy.h index 6abea8846..d32ec7374 100644 --- a/src/pipewire/proxy.h +++ b/src/pipewire/proxy.h @@ -154,6 +154,9 @@ uint32_t pw_proxy_get_id(struct pw_proxy *proxy); /** Get the type and version of the proxy */ uint32_t pw_proxy_get_type(struct pw_proxy *proxy, uint32_t *version); +/** Get the remote managing this proxy */ +struct pw_remote *pw_proxy_get_remote(struct pw_proxy *proxy); + /** Get the protocol used for the proxy */ struct pw_protocol *pw_proxy_get_protocol(struct pw_proxy *proxy);