PipeWire 1.0.4
Loading...
Searching...
No Matches
Metadata

Metadata interface. More...

Files

 

Data Structures

struct  pw_metadata_events
 Metadata events More...
 
struct  pw_metadata_methods
 Metadata methods More...
 
struct  pw_metadata
 

Macros

#define PW_TYPE_INTERFACE_Metadata   PW_TYPE_INFO_INTERFACE_BASE "Metadata"
 
#define PW_METADATA_PERM_MASK   PW_PERM_RWX
 
#define PW_VERSION_METADATA   3
 
#define PW_EXTENSION_MODULE_METADATA   PIPEWIRE_MODULE_PREFIX "module-metadata"
 
#define PW_METADATA_EVENT_PROPERTY   0
 
#define PW_METADATA_EVENT_NUM   1
 
#define PW_VERSION_METADATA_EVENTS   0
 
#define PW_METADATA_METHOD_ADD_LISTENER   0
 
#define PW_METADATA_METHOD_SET_PROPERTY   1
 
#define PW_METADATA_METHOD_CLEAR   2
 
#define PW_METADATA_METHOD_NUM   3
 
#define PW_VERSION_METADATA_METHODS   0
 
#define pw_metadata_method(o, method, version, ...)
 
#define pw_metadata_add_listener(c, ...)   pw_metadata_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_metadata_set_property(c, ...)   pw_metadata_method(c,set_property,0,__VA_ARGS__)
 Set a metadata property.
 
#define pw_metadata_clear(c)   pw_metadata_method(c,clear,0)
 Clear all metadata.
 
#define PW_KEY_METADATA_NAME   "metadata.name"
 
#define PW_KEY_METADATA_VALUES   "metadata.values"
 

Detailed Description

Metadata interface.

Macro Definition Documentation

◆ PW_TYPE_INTERFACE_Metadata

#define PW_TYPE_INTERFACE_Metadata   PW_TYPE_INFO_INTERFACE_BASE "Metadata"

◆ PW_METADATA_PERM_MASK

#define PW_METADATA_PERM_MASK   PW_PERM_RWX

◆ PW_VERSION_METADATA

#define PW_VERSION_METADATA   3

◆ PW_EXTENSION_MODULE_METADATA

#define PW_EXTENSION_MODULE_METADATA   PIPEWIRE_MODULE_PREFIX "module-metadata"

◆ PW_METADATA_EVENT_PROPERTY

#define PW_METADATA_EVENT_PROPERTY   0

◆ PW_METADATA_EVENT_NUM

#define PW_METADATA_EVENT_NUM   1

◆ PW_VERSION_METADATA_EVENTS

#define PW_VERSION_METADATA_EVENTS   0

◆ PW_METADATA_METHOD_ADD_LISTENER

#define PW_METADATA_METHOD_ADD_LISTENER   0

◆ PW_METADATA_METHOD_SET_PROPERTY

#define PW_METADATA_METHOD_SET_PROPERTY   1

◆ PW_METADATA_METHOD_CLEAR

#define PW_METADATA_METHOD_CLEAR   2

◆ PW_METADATA_METHOD_NUM

#define PW_METADATA_METHOD_NUM   3

◆ PW_VERSION_METADATA_METHODS

#define PW_VERSION_METADATA_METHODS   0

◆ pw_metadata_method

#define pw_metadata_method (   o,
  method,
  version,
  ... 
)

◆ pw_metadata_add_listener

#define pw_metadata_add_listener (   c,
  ... 
)    pw_metadata_method(c,add_listener,0,__VA_ARGS__)

◆ pw_metadata_set_property

#define pw_metadata_set_property (   c,
  ... 
)    pw_metadata_method(c,set_property,0,__VA_ARGS__)

Set a metadata property.

Automatically emit property events for the subject and key when they are changed.

Parameters
subjectthe id of the global to associate the metadata with.
keythe key of the metadata, NULL clears all metadata for the subject.
typethe type of the metadata, this can be blank
valuethe metadata value. NULL clears the metadata.

This requires X and W permissions on the metadata. It also requires M permissions on the subject global.

See also
pw_metadata_methods.set_property

◆ pw_metadata_clear

#define pw_metadata_clear (   c)    pw_metadata_method(c,clear,0)

Clear all metadata.

This requires X and W permissions on the metadata.

See also
pw_metadata_methods.clear

◆ PW_KEY_METADATA_NAME

#define PW_KEY_METADATA_NAME   "metadata.name"

◆ PW_KEY_METADATA_VALUES

#define PW_KEY_METADATA_VALUES   "metadata.values"