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