From 999b26c5907504a47ade382c9ae9e9233d977963 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Wed, 20 Nov 2024 12:34:31 +0100 Subject: [PATCH] static inline more macros --- src/pipewire/loop.h | 114 +++++++++++++++++++++++++++++++++++------- src/pipewire/thread.h | 26 ++++++++-- 2 files changed, 116 insertions(+), 24 deletions(-) diff --git a/src/pipewire/loop.h b/src/pipewire/loop.h index 2ec26f5ee..824b324d5 100644 --- a/src/pipewire/loop.h +++ b/src/pipewire/loop.h @@ -42,27 +42,103 @@ pw_loop_destroy(struct pw_loop *loop); int pw_loop_set_name(struct pw_loop *loop, const char *name); -#define pw_loop_add_source(l,...) spa_loop_add_source((l)->loop,__VA_ARGS__) -#define pw_loop_update_source(l,...) spa_loop_update_source((l)->loop,__VA_ARGS__) -#define pw_loop_remove_source(l,...) spa_loop_remove_source((l)->loop,__VA_ARGS__) -#define pw_loop_invoke(l,...) spa_loop_invoke((l)->loop,__VA_ARGS__) +SPA_API_IMPL int pw_loop_add_source(struct pw_loop *object, struct spa_source *source) +{ + return spa_loop_add_source(object->loop, source); +} +SPA_API_IMPL int pw_loop_update_source(struct pw_loop *object, struct spa_source *source) +{ + return spa_loop_update_source(object->loop, source); +} +SPA_API_IMPL int pw_loop_remove_source(struct pw_loop *object, struct spa_source *source) +{ + return spa_loop_remove_source(object->loop, source); +} +SPA_API_IMPL int pw_loop_invoke(struct pw_loop *object, + spa_invoke_func_t func, uint32_t seq, const void *data, + size_t size, bool block, void *user_data) +{ + return spa_loop_invoke(object->loop, func, seq, data, size, block, user_data); +} -#define pw_loop_get_fd(l) spa_loop_control_get_fd((l)->control) -#define pw_loop_add_hook(l,...) spa_loop_control_add_hook((l)->control,__VA_ARGS__) -#define pw_loop_enter(l) spa_loop_control_enter((l)->control) -#define pw_loop_leave(l) spa_loop_control_leave((l)->control) -#define pw_loop_iterate(l,...) spa_loop_control_iterate_fast((l)->control,__VA_ARGS__) +SPA_API_IMPL int pw_loop_get_fd(struct pw_loop *object) +{ + return spa_loop_control_get_fd(object->control); +} +SPA_API_IMPL void pw_loop_add_hook(struct pw_loop *object, + struct spa_hook *hook, const struct spa_loop_control_hooks *hooks, + void *data) +{ + spa_loop_control_add_hook(object->control, hook, hooks, data); +} +SPA_API_IMPL void pw_loop_enter(struct pw_loop *object) +{ + spa_loop_control_enter(object->control); +} +SPA_API_IMPL void pw_loop_leave(struct pw_loop *object) +{ + spa_loop_control_leave(object->control); +} +SPA_API_IMPL int pw_loop_iterate(struct pw_loop *object, + int timeout) +{ + return spa_loop_control_iterate_fast(object->control, timeout); +} -#define pw_loop_add_io(l,...) spa_loop_utils_add_io((l)->utils,__VA_ARGS__) -#define pw_loop_update_io(l,...) spa_loop_utils_update_io((l)->utils,__VA_ARGS__) -#define pw_loop_add_idle(l,...) spa_loop_utils_add_idle((l)->utils,__VA_ARGS__) -#define pw_loop_enable_idle(l,...) spa_loop_utils_enable_idle((l)->utils,__VA_ARGS__) -#define pw_loop_add_event(l,...) spa_loop_utils_add_event((l)->utils,__VA_ARGS__) -#define pw_loop_signal_event(l,...) spa_loop_utils_signal_event((l)->utils,__VA_ARGS__) -#define pw_loop_add_timer(l,...) spa_loop_utils_add_timer((l)->utils,__VA_ARGS__) -#define pw_loop_update_timer(l,...) spa_loop_utils_update_timer((l)->utils,__VA_ARGS__) -#define pw_loop_add_signal(l,...) spa_loop_utils_add_signal((l)->utils,__VA_ARGS__) -#define pw_loop_destroy_source(l,...) spa_loop_utils_destroy_source((l)->utils,__VA_ARGS__) +SPA_API_IMPL struct spa_source * +pw_loop_add_io(struct pw_loop *object, int fd, uint32_t mask, + bool close, spa_source_io_func_t func, void *data) +{ + return spa_loop_utils_add_io(object->utils, fd, mask, close, func, data); +} +SPA_API_IMPL int pw_loop_update_io(struct pw_loop *object, + struct spa_source *source, uint32_t mask) +{ + return spa_loop_utils_update_io(object->utils, source, mask); +} +SPA_API_IMPL struct spa_source * +pw_loop_add_idle(struct pw_loop *object, bool enabled, + spa_source_idle_func_t func, void *data) +{ + return spa_loop_utils_add_idle(object->utils, enabled, func, data); +} +SPA_API_IMPL int pw_loop_enable_idle(struct pw_loop *object, + struct spa_source *source, bool enabled) +{ + return spa_loop_utils_enable_idle(object->utils, source, enabled); +} +SPA_API_IMPL struct spa_source * +pw_loop_add_event(struct pw_loop *object, spa_source_event_func_t func, void *data) +{ + return spa_loop_utils_add_event(object->utils, func, data); +} +SPA_API_IMPL int pw_loop_signal_event(struct pw_loop *object, + struct spa_source *source) +{ + return spa_loop_utils_signal_event(object->utils, source); +} +SPA_API_IMPL struct spa_source * +pw_loop_add_timer(struct pw_loop *object, spa_source_timer_func_t func, void *data) +{ + return spa_loop_utils_add_timer(object->utils, func, data); +} +SPA_API_IMPL int pw_loop_update_timer(struct pw_loop *object, + struct spa_source *source, struct timespec *value, + struct timespec *interval, bool absolute) +{ + return spa_loop_utils_update_timer(object->utils, source, value, interval, absolute); +} +SPA_API_IMPL struct spa_source * +pw_loop_add_signal(struct pw_loop *object, int signal_number, + spa_source_signal_func_t func, void *data) +{ + return spa_loop_utils_add_signal(object->utils, signal_number, func, data); +} +SPA_API_IMPL void pw_loop_destroy_source(struct pw_loop *object, + struct spa_source *source) +{ + return spa_loop_utils_destroy_source(object->utils, source); +} /** * \} diff --git a/src/pipewire/thread.h b/src/pipewire/thread.h index 5ce948dcb..3b8e54e76 100644 --- a/src/pipewire/thread.h +++ b/src/pipewire/thread.h @@ -29,11 +29,27 @@ void pw_thread_utils_set(struct spa_thread_utils *impl); struct spa_thread_utils *pw_thread_utils_get(void); void *pw_thread_fill_attr(const struct spa_dict *props, void *attr); -#define pw_thread_utils_create(...) spa_thread_utils_create(pw_thread_utils_get(), ##__VA_ARGS__) -#define pw_thread_utils_join(...) spa_thread_utils_join(pw_thread_utils_get(), ##__VA_ARGS__) -#define pw_thread_utils_get_rt_range(...) spa_thread_utils_get_rt_range(pw_thread_utils_get(), ##__VA_ARGS__) -#define pw_thread_utils_acquire_rt(...) spa_thread_utils_acquire_rt(pw_thread_utils_get(), ##__VA_ARGS__) -#define pw_thread_utils_drop_rt(...) spa_thread_utils_drop_rt(pw_thread_utils_get(), ##__VA_ARGS__) +SPA_API_IMPL struct spa_thread *pw_thread_utils_create( + const struct spa_dict *props, void *(*start_routine)(void*), void *arg) +{ + return spa_thread_utils_create(pw_thread_utils_get(), props, start_routine, arg); +} +SPA_API_IMPL int pw_thread_utils_join(struct spa_thread *thread, void **retval) +{ + return spa_thread_utils_join(pw_thread_utils_get(), thread, retval); +} +SPA_API_IMPL int pw_thread_utils_get_rt_range(const struct spa_dict *props, int *min, int *max) +{ + return spa_thread_utils_get_rt_range(pw_thread_utils_get(), props, min, max); +} +SPA_API_IMPL int pw_thread_utils_acquire_rt(struct spa_thread *thread, int priority) +{ + return spa_thread_utils_acquire_rt(pw_thread_utils_get(), thread, priority); +} +SPA_API_IMPL int pw_thread_utils_drop_rt(struct spa_thread *thread) +{ + return spa_thread_utils_drop_rt(pw_thread_utils_get(), thread); +} /** * \}