PipeWire 1.1.0
Loading...
Searching...
No Matches
pw_core_events Struct Reference

Core events. More...

#include <pipewire/core.h>

Data Fields

uint32_t version
 
void(* info )(void *data, const struct pw_core_info *info)
 Notify new core info.
 
void(* done )(void *data, uint32_t id, int seq)
 Emit a done event.
 
void(* ping )(void *data, uint32_t id, int seq)
 Emit a ping event.
 
void(* error )(void *data, uint32_t id, int seq, int res, const char *message)
 Fatal error event.
 
void(* remove_id )(void *data, uint32_t id)
 Remove an object ID.
 
void(* bound_id )(void *data, uint32_t id, uint32_t global_id)
 Notify an object binding.
 
void(* add_mem )(void *data, uint32_t id, uint32_t type, int fd, uint32_t flags)
 Add memory for a client.
 
void(* remove_mem )(void *data, uint32_t id)
 Remove memory for a client.
 
void(* bound_props )(void *data, uint32_t id, uint32_t global_id, const struct spa_dict *props)
 Notify an object binding.
 

Detailed Description

Field Documentation

◆ version

uint32_t pw_core_events::version

◆ info

void(* pw_core_events::info) (void *data, const struct pw_core_info *info)

Notify new core info.

This event is emitted when first bound to the core or when the hello method is called.

Parameters
infonew core info

◆ done

void(* pw_core_events::done) (void *data, uint32_t id, int seq)

Emit a done event.

The done event is emitted as a result of a sync method with the same seq number.

Parameters
seqthe seq number passed to the sync method call

◆ ping

void(* pw_core_events::ping) (void *data, uint32_t id, int seq)

Emit a ping event.

The client should reply with a pong reply with the same seq number.

◆ error

void(* pw_core_events::error) (void *data, uint32_t id, int seq, int res, const char *message)

Fatal error event.

The error event is sent out when a fatal (non-recoverable) error has occurred. The id argument is the proxy object where the error occurred, most often in response to a request to that object. The message is a brief description of the error, for (debugging) convenience.

This event is usually also emitted on the proxy object with id.

Parameters
idobject where the error occurred
seqthe sequence number that generated the error
reserror code
messageerror description

◆ remove_id

void(* pw_core_events::remove_id) (void *data, uint32_t id)

Remove an object ID.

This event is used internally by the object ID management logic. When a client deletes an object, the server will send this event to acknowledge that it has seen the delete request. When the client receives this event, it will know that it can safely reuse the object ID.

Parameters
iddeleted object ID

◆ bound_id

void(* pw_core_events::bound_id) (void *data, uint32_t id, uint32_t global_id)

Notify an object binding.

This event is emitted when a local object ID is bound to a global ID. It is emitted before the global becomes visible in the registry.

The bound_props event is an enhanced version of this event that also contains the extra global properties.

Parameters
idbound object ID
global_idthe global id bound to

◆ add_mem

void(* pw_core_events::add_mem) (void *data, uint32_t id, uint32_t type, int fd, uint32_t flags)

Add memory for a client.

Memory is given to a client as fd of a certain memory type.

Further references to this fd will be made with the per memory unique identifier id.

Parameters
idthe unique id of the memory
typethe memory type, one of enum spa_data_type
fdthe file descriptor
flagsextra flags

◆ remove_mem

void(* pw_core_events::remove_mem) (void *data, uint32_t id)

Remove memory for a client.

Parameters
idthe memory id to remove

◆ bound_props

void(* pw_core_events::bound_props) (void *data, uint32_t id, uint32_t global_id, const struct spa_dict *props)

Notify an object binding.

This event is emitted when a local object ID is bound to a global ID. It is emitted before the global becomes visible in the registry.

This is an enhanced version of the bound_id event.

Parameters
idbound object ID
global_idthe global id bound to
propsThe properties of the new global object.

The documentation for this struct was generated from the following file: