PipeWire
0.3.33
|
The core global object. More...
Data Structures | |
struct | pw_core_info |
The core information. More... | |
struct | pw_core_events |
Core events. More... | |
struct | pw_core_methods |
Core methods. More... | |
Functions | |
struct pw_core_info * | pw_core_info_update (struct pw_core_info *info, const struct pw_core_info *update) |
Update and existing pw_core_info with update. More... | |
void | pw_core_info_free (struct pw_core_info *info) |
Free a pw_core_info More... | |
struct pw_core * | pw_context_connect (struct pw_context *context, struct pw_properties *properties, size_t user_data_size) |
Connect to a PipeWire instance. More... | |
struct pw_core * | pw_context_connect_fd (struct pw_context *context, int fd, struct pw_properties *properties, size_t user_data_size) |
Connect to a PipeWire instance on the given socket. More... | |
struct pw_core * | pw_context_connect_self (struct pw_context *context, struct pw_properties *properties, size_t user_data_size) |
Connect to a given PipeWire instance. More... | |
int | pw_core_steal_fd (struct pw_core *core) |
Steal the fd of the core connection or < 0 on error. More... | |
int | pw_core_set_paused (struct pw_core *core, bool paused) |
Pause or resume the core. More... | |
int | pw_core_disconnect (struct pw_core *core) |
disconnect and destroy a core More... | |
void * | pw_core_get_user_data (struct pw_core *core) |
Get the user_data. More... | |
struct pw_client * | pw_core_get_client (struct pw_core *core) |
Get the client proxy of the connected core. More... | |
struct pw_context * | pw_core_get_context (struct pw_core *core) |
Get the context object used to created this core. More... | |
const struct pw_properties * | pw_core_get_properties (struct pw_core *core) |
Get properties from the core. More... | |
int | pw_core_update_properties (struct pw_core *core, const struct spa_dict *dict) |
Update the core properties. More... | |
struct pw_mempool * | pw_core_get_mempool (struct pw_core *core) |
Get the core mempool object. More... | |
struct pw_proxy * | pw_core_find_proxy (struct pw_core *core, uint32_t id) |
Get the proxy with the given id. More... | |
struct pw_proxy * | pw_core_export (struct pw_core *core, const char *type, const struct spa_dict *props, void *object, size_t user_data_size) |
Export an object into the PipeWire instance associated with core. More... | |
The core global object.
This is a special singleton object. It is used for internal PipeWire protocol features. Connecting to a PipeWire instance returns one core object, the caller should then register event listeners using pw_core_add_listener.
Updates to the core object are then provided through the pw_core_events interface. See Tutorial - Part 2: Enumerating objects for an example.
#define pw_core_add_listener | ( | c, | |
... | |||
) | pw_core_method(c,add_listener,0,__VA_ARGS__) |
#define pw_core_destroy | ( | c, | |
... | |||
) | pw_core_method(c,destroy,0,__VA_ARGS__) |
#define pw_core_error | ( | c, | |
... | |||
) | pw_core_method(c,error,0,__VA_ARGS__) |
#define PW_CORE_EVENT_ADD_MEM 6 |
#define PW_CORE_EVENT_BOUND_ID 5 |
#define PW_CORE_EVENT_DONE 1 |
#define PW_CORE_EVENT_ERROR 3 |
#define PW_CORE_EVENT_INFO 0 |
Core.
#define PW_CORE_EVENT_NUM 8 |
#define PW_CORE_EVENT_PING 2 |
#define PW_CORE_EVENT_REMOVE_ID 4 |
#define PW_CORE_EVENT_REMOVE_MEM 7 |
#define pw_core_hello | ( | c, | |
... | |||
) | pw_core_method(c,hello,0,__VA_ARGS__) |
#define pw_core_method | ( | o, | |
method, | |||
version, | |||
... | |||
) |
#define PW_CORE_METHOD_ADD_LISTENER 0 |
#define PW_CORE_METHOD_CREATE_OBJECT 6 |
#define PW_CORE_METHOD_DESTROY 7 |
#define PW_CORE_METHOD_ERROR 4 |
#define PW_CORE_METHOD_GET_REGISTRY 5 |
#define PW_CORE_METHOD_HELLO 1 |
#define PW_CORE_METHOD_NUM 8 |
#define PW_CORE_METHOD_PONG 3 |
#define PW_CORE_METHOD_SYNC 2 |
#define pw_core_pong | ( | c, | |
... | |||
) | pw_core_method(c,pong,0,__VA_ARGS__) |
#define pw_core_sync | ( | c, | |
... | |||
) | pw_core_method(c,sync,0,__VA_ARGS__) |
#define PW_DEFAULT_REMOTE "pipewire-0" |
The default remote name to connect to.
#define PW_ID_ANY (uint32_t)(0xffffffff) |
#define PW_ID_CORE 0 |
default ID for the core object after connect
#define PW_TYPE_INTERFACE_Core PW_TYPE_INFO_INTERFACE_BASE "Core" |
#define PW_TYPE_INTERFACE_Registry PW_TYPE_INFO_INTERFACE_BASE "Registry" |
#define PW_VERSION_CORE 3 |
#define PW_VERSION_REGISTRY 3 |
struct pw_core* pw_context_connect | ( | struct pw_context * | context, |
struct pw_properties * | properties, | ||
size_t | user_data_size | ||
) |
Connect to a PipeWire instance.
context | a PipeWire Context |
properties | optional properties, ownership of the properties is taken. |
user_data_size | extra user data size |
Referenced by pw_context_connect_self().
struct pw_core* pw_context_connect_fd | ( | struct pw_context * | context, |
int | fd, | ||
struct pw_properties * | properties, | ||
size_t | user_data_size | ||
) |
Connect to a PipeWire instance on the given socket.
context | a PipeWire Context |
fd | the connected socket to use, the socket will be closed automatically on disconnect or error. |
properties | optional properties, ownership of the properties is taken. |
user_data_size | extra user data size |
struct pw_core* pw_context_connect_self | ( | struct pw_context * | context, |
struct pw_properties * | properties, | ||
size_t | user_data_size | ||
) |
Connect to a given PipeWire instance.
context | a PipeWire Context to connect to |
properties | optional properties, ownership of the properties is taken. |
user_data_size | extra user data size |
References pw_context_connect(), PW_KEY_REMOTE_NAME, pw_properties_new(), and pw_properties_set().
int pw_core_disconnect | ( | struct pw_core * | core | ) |
disconnect and destroy a core
References NAME, pw_log_debug, pw_proxy_destroy(), and pw_proxy_remove().
Referenced by pw_context_destroy(), pw_filter_disconnect(), and pw_stream_disconnect().
struct pw_proxy* pw_core_export | ( | struct pw_core * | core, |
const char * | type, | ||
const struct spa_dict * | props, | ||
void * | object, | ||
size_t | user_data_size | ||
) |
Export an object into the PipeWire instance associated with core.
core | the core |
type | the type of object |
props | extra properties |
object | object to export |
user_data_size | extra user data |
References pw_export_type::func, NAME, props, pw_context_find_export_type(), pw_log_debug, pw_log_error, spa_strerror, and pw_export_type::type.
Referenced by sm_media_session_export(), sm_media_session_export_device(), and sm_media_session_export_node().
struct pw_proxy* pw_core_find_proxy | ( | struct pw_core * | core, |
uint32_t | id | ||
) |
Get the proxy with the given id.
struct pw_client* pw_core_get_client | ( | struct pw_core * | core | ) |
Get the client proxy of the connected core.
This will have the id of PW_ID_CLIENT (1)
struct pw_context* pw_core_get_context | ( | struct pw_core * | core | ) |
Get the context object used to created this core.
struct pw_mempool* pw_core_get_mempool | ( | struct pw_core * | core | ) |
Get the core mempool object.
const struct pw_properties* pw_core_get_properties | ( | struct pw_core * | core | ) |
Get properties from the core.
void* pw_core_get_user_data | ( | struct pw_core * | core | ) |
Get the user_data.
It is of the size specified when this object was constructed
void pw_core_info_free | ( | struct pw_core_info * | info | ) |
Free a pw_core_info
References pw_core_info::host_name, pw_core_info::name, pw_core_info::props, pw_core_info::user_name, and pw_core_info::version.
struct pw_core_info* pw_core_info_update | ( | struct pw_core_info * | info, |
const struct pw_core_info * | update | ||
) |
Update and existing pw_core_info with update.
References pw_core_info::change_mask, pw_core_info::cookie, pw_core_info::host_name, pw_core_info::id, pw_core_info::name, pw_core_info::props, PW_CORE_CHANGE_MASK_PROPS, pw_core_info::user_name, and pw_core_info::version.
int pw_core_set_paused | ( | struct pw_core * | core, |
bool | paused | ||
) |
Pause or resume the core.
When the core is paused, no new events will be dispatched until the core is resumed again.
References NAME, pw_log_debug, and pw_protocol_client_set_paused.
int pw_core_steal_fd | ( | struct pw_core * | core | ) |
Steal the fd of the core connection or < 0 on error.
The core will be disconnected after this call.
References NAME, pw_log_debug, and pw_protocol_client_steal_fd.
int pw_core_update_properties | ( | struct pw_core * | core, |
const struct spa_dict * | dict | ||
) |
Update the core properties.
This updates the properties of the associated client.
References pw_properties::dict, NAME, pw_client_update_properties, pw_log_debug, and pw_properties_update().