25#ifndef PIPEWIRE_EXT_PROFILER_H
26#define PIPEWIRE_EXT_PROFILER_H
42#define PW_TYPE_INTERFACE_Profiler PW_TYPE_INFO_INTERFACE_BASE "Profiler"
44#define PW_VERSION_PROFILER 3
47#define PW_EXTENSION_MODULE_PROFILER PIPEWIRE_MODULE_PREFIX "module-profiler"
49#define PW_PROFILER_EVENT_PROFILE 0
50#define PW_PROFILER_EVENT_NUM 1
54#define PW_VERSION_PROFILER_EVENTS 0
60#define PW_PROFILER_METHOD_ADD_LISTENER 0
61#define PW_PROFILER_METHOD_NUM 1
65#define PW_VERSION_PROFILER_METHODS 0
74#define pw_profiler_method(o,method,version,...) \
76 int _res = -ENOTSUP; \
77 spa_interface_call_res((struct spa_interface*)o, \
78 struct pw_profiler_methods, _res, \
79 method, version, ##__VA_ARGS__); \
83#define pw_profiler_add_listener(c,...) pw_profiler_method(c,add_listener,0,__VA_ARGS__)
85#define PW_KEY_PROFILER_NAME "profiler.name"
Profiler events
Definition: src/pipewire/extensions/profiler.h:63
uint32_t version
Definition: src/pipewire/extensions/profiler.h:66
void(* profile)(void *data, const struct spa_pod *pod)
Definition: src/pipewire/extensions/profiler.h:68
Profiler methods
Definition: src/pipewire/extensions/profiler.h:77
int(* add_listener)(void *object, struct spa_hook *listener, const struct pw_profiler_events *events, void *data)
Definition: src/pipewire/extensions/profiler.h:82
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:351