diff --git a/src/pipewire/core.c b/src/pipewire/core.c index 3459237d4..554ea86ba 100644 --- a/src/pipewire/core.c +++ b/src/pipewire/core.c @@ -1288,3 +1288,23 @@ struct spa_handle *pw_core_load_spa_handle(struct pw_core *core, return handle; } + +SPA_EXPORT +int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type) +{ + pw_log_debug("core %p: Add export type %d/%s to core", core, type->type, + spa_debug_type_find_name(pw_type_info(), type->type)); + spa_list_append(&core->export_list, &type->link); + return 0; +} + +SPA_EXPORT +const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type) +{ + const struct pw_export_type *t; + spa_list_for_each(t, &core->export_list, link) { + if (t->type == type) + return t; + } + return NULL; +} diff --git a/src/pipewire/core.h b/src/pipewire/core.h index 7fdce82e9..bdfb16ce6 100644 --- a/src/pipewire/core.h +++ b/src/pipewire/core.h @@ -44,6 +44,7 @@ struct pw_core; #include #include +#include #include #include #include @@ -157,6 +158,22 @@ struct spa_handle *pw_core_load_spa_handle(struct pw_core *core, const char *factory_name, const struct spa_dict *info); + +/** data for registering export functions */ +struct pw_export_type { + struct spa_list link; + uint32_t type; + struct pw_proxy * (*func) (struct pw_remote *remote, + uint32_t type, struct pw_properties *properties, void *object, + size_t user_data_size); +}; + +/** register a type that can be exported on a core_proxy. This is usually used by + * extension modules */ +int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type); +/** find information about registered export type */ +const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type); + #ifdef __cplusplus } #endif diff --git a/src/pipewire/remote.c b/src/pipewire/remote.c index 99d82aaad..b06056dc4 100644 --- a/src/pipewire/remote.c +++ b/src/pipewire/remote.c @@ -581,22 +581,3 @@ exit: errno = -res; return NULL; } - -SPA_EXPORT -int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type) -{ - pw_log_debug("core %p: Add export type %d/%s to core", core, type->type, - spa_debug_type_find_name(pw_type_info(), type->type)); - spa_list_append(&core->export_list, &type->link); - return 0; -} - -const struct pw_export_type *pw_core_find_export_type(struct pw_core *core, uint32_t type) -{ - const struct pw_export_type *t; - spa_list_for_each(t, &core->export_list, link) { - if (t->type == type) - return t; - } - return NULL; -} diff --git a/src/pipewire/remote.h b/src/pipewire/remote.h index d35bb0bd0..0b975f7e5 100644 --- a/src/pipewire/remote.h +++ b/src/pipewire/remote.h @@ -203,19 +203,6 @@ struct pw_proxy *pw_remote_export(struct pw_remote *remote, /**< the remote */ void *object, /**< object to export */ size_t user_data_size /**< extra user data */); -/** data for registering export functions */ -struct pw_export_type { - struct spa_list link; - uint32_t type; - struct pw_proxy * (*func) (struct pw_remote *remote, - uint32_t type, struct pw_properties *properties, void *object, - size_t user_data_size); -}; - -/** register a type that can be exported on a remote. This is usually used by - * extension modules */ -int pw_core_register_export_type(struct pw_core *core, struct pw_export_type *type); - #ifdef __cplusplus } #endif