5 #ifndef PIPEWIRE_EXT_METADATA_H
6 #define PIPEWIRE_EXT_METADATA_H
22 #define PW_TYPE_INTERFACE_Metadata PW_TYPE_INFO_INTERFACE_BASE "Metadata"
24 #define PW_METADATA_PERM_MASK PW_PERM_RWX
26 #define PW_VERSION_METADATA 3
29 #define PW_EXTENSION_MODULE_METADATA PIPEWIRE_MODULE_PREFIX "module-metadata"
31 #define PW_METADATA_EVENT_PROPERTY 0
32 #define PW_METADATA_EVENT_NUM 1
37 #define PW_VERSION_METADATA_EVENTS 0
47 #define PW_METADATA_METHOD_ADD_LISTENER 0
48 #define PW_METADATA_METHOD_SET_PROPERTY 1
49 #define PW_METADATA_METHOD_CLEAR 2
50 #define PW_METADATA_METHOD_NUM 3
54 #define PW_VERSION_METADATA_METHODS 0
89 int (*
clear) (
void *object);
93 #define pw_metadata_method(o,method,version,...) \
95 int _res = -ENOTSUP; \
96 spa_interface_call_res((struct spa_interface*)o, \
97 struct pw_metadata_methods, _res, \
98 method, version, ##__VA_ARGS__); \
102 #define pw_metadata_add_listener(c,...) pw_metadata_method(c,add_listener,0,__VA_ARGS__)
103 #define pw_metadata_set_property(c,...) pw_metadata_method(c,set_property,0,__VA_ARGS__)
104 #define pw_metadata_clear(c) pw_metadata_method(c,clear,0)
106 #define PW_KEY_METADATA_NAME "metadata.name"
107 #define PW_KEY_METADATA_VALUES "metadata.values"
A hook, contains the structure with functions and the data passed to the functions.
Definition: hook.h:350