PipeWire Metadata
- 
struct WpMetadataItem
- WpMetadataItem holds the subject, key, type and value of a metadata entry. 
- 
struct WpMetadata
- The WpMetadata class allows accessing the properties and methods of PipeWire metadata object ( - struct pw_metadata).- A WpMetadata is constructed internally when a new metadata object appears on the PipeWire registry and it is made available through the WpObjectManager API. - GObject Signals - changed
- Emitted when metadata changevoid changed_callback (WpMetadata * self, guint subject, gchar * key, gchar * type, gchar * value, gpointer user_data) Parameters: - subject- the metadata subject id
- key- the metadata key
- type- the value type
- value- the metadata value
 Flags: G_SIGNAL_RUN_LAST 
 
- 
struct WpImplMetadata
- Implementation of the metadata object. - Activate this object with at least WP_PROXY_FEATURE_BOUND to export it to PipeWire. 
- 
enum WpMetadataFeatures
- An extension of WpProxyFeatures for WpMetadata objects. - Values: - 
enumerator WP_METADATA_FEATURE_DATA = (WP_PROXY_FEATURE_CUSTOM_START << 0)
- caches metadata locally 
 
- 
enumerator WP_METADATA_FEATURE_DATA = (WP_PROXY_FEATURE_CUSTOM_START << 0)
- 
WpMetadataItem *wp_metadata_item_ref(WpMetadataItem *self)
- Increases the reference count of a metadata item object. - Since
- 0.5.0 
 - Parameters:
- self -- a metadata item object 
 
- Returns:
- (transfer full): self with an additional reference count on it 
 
- 
void wp_metadata_item_unref(WpMetadataItem *self)
- Decreases the reference count on self and frees it when the ref count reaches zero. - Since
- 0.5.0 
 - Parameters:
- self -- (transfer full): a metadata item object 
 
 
- 
guint32 wp_metadata_item_get_subject(WpMetadataItem *self)
- Gets the subject from a metadata item. - Since
- 0.5.0 
 - Parameters:
- self -- the item held by the GValue that was returned from the WpIterator of wp_metadata_new_iterator() 
 
- Returns:
- the metadata subject of the item 
 
- 
const gchar *wp_metadata_item_get_key(WpMetadataItem *self)
- Gets the key from a metadata item. - Since
- 0.5.0 
 - Parameters:
- self -- the item held by the GValue that was returned from the WpIterator of wp_metadata_new_iterator() 
 
- Returns:
- (transfer none): the metadata key of the item 
 
- 
const gchar *wp_metadata_item_get_value_type(WpMetadataItem *self)
- Gets the value type from a metadata item. - Since
- 0.5.0 
 - Parameters:
- self -- the item held by the GValue that was returned from the WpIterator of wp_metadata_new_iterator() 
 
- Returns:
- (transfer none): the metadata value type of the item 
 
- 
const gchar *wp_metadata_item_get_value(WpMetadataItem *self)
- Gets the value from a metadata item. - Since
- 0.5.0 
 - Parameters:
- self -- the item held by the GValue that was returned from the WpIterator of wp_metadata_new_iterator() 
 
- Returns:
- (transfer none): the metadata value of the item 
 
- 
WpIterator *wp_metadata_new_iterator(WpMetadata *self, guint32 subject)
- Iterates over metadata items that matches the given subject. - If no constraints are specified, the returned iterator iterates over all the stored metadata. - Note that this method works on cached metadata. When you change metadata with wp_metadata_set(), this cache will be updated on the next round-trip with the pipewire server. - Parameters:
- self -- a metadata object 
- subject -- the metadata subject id, or -1 (PW_ID_ANY) 
 
- Returns:
- (transfer full): an iterator that iterates over the found metadata. The type of the iterator item is WpMetadataItem. 
 
- 
const gchar *wp_metadata_find(WpMetadata *self, guint32 subject, const gchar *key, const gchar **type)
- Finds the metadata value given its subject and key. - Parameters:
- self -- a metadata object 
- subject -- the metadata subject id 
- key -- the metadata key name 
- type -- (out)(optional): the metadata type name 
 
- Returns:
- the metadata string value, or NULL if not found. 
 
- 
void wp_metadata_set(WpMetadata *self, guint32 subject, const gchar *key, const gchar *type, const gchar *value)
- Sets the metadata associated with the given subject and key. Use NULL as a value to unset the given key and use NULL in both key and value to remove all metadata associated with the given subject. - Parameters:
- self -- the metadata object 
- subject -- the subject id for which this metadata property is being set 
- key -- (nullable): the key to set, or NULL to remove all metadata for subject 
- type -- (nullable): the type of the value; NULL is synonymous to "string" 
- value -- (nullable): the value to set, or NULL to unset the given key 
 
 
- 
void wp_metadata_clear(WpMetadata *self)
- Clears permanently all stored metadata. - Parameters:
- self -- the metadata object 
 
 
- 
WpImplMetadata *wp_impl_metadata_new(WpCore *core)
- Creates a new metadata implementation. - Parameters:
- core -- the core 
 
- Returns:
- (transfer full): a new WpImplMetadata 
 
- 
WpImplMetadata *wp_impl_metadata_new_full(WpCore *core, const gchar *name, WpProperties *properties)
- Creates a new metadata implementation with name and properties. - Since
- 0.4.3 
 - Parameters:
- core -- the core 
- name -- (nullable): the metadata name 
- properties -- (nullable) (transfer full): the metadata properties 
 
- Returns:
- (transfer full): a new WpImplMetadata 
 
- 
WP_TYPE_METADATA_ITEM (wp_metadata_item_get_type ())
- The WpMetadataItem GType. 
- 
WP_TYPE_METADATA (wp_metadata_get_type ())
- The WpMetadata GType. 
- 
WP_TYPE_IMPL_METADATA (wp_impl_metadata_get_type ())
- The WpImplMetadata GType.