PipeWire 1.4.1
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
core.h File Reference

pipewire/core.h More...

Go to the source code of this file.

Data Structures

struct  pw_core_info
 The core information. More...
 
struct  pw_core_events
 Core events. More...
 
struct  pw_core_methods
 Core methods. More...
 
struct  pw_registry_events
 Registry events. More...
 
struct  pw_registry_methods
 Registry methods. More...
 

Macros

#define PW_TYPE_INTERFACE_Core   PW_TYPE_INFO_INTERFACE_BASE "Core"
 
#define PW_TYPE_INTERFACE_Registry   PW_TYPE_INFO_INTERFACE_BASE "Registry"
 
#define PW_CORE_PERM_MASK   PW_PERM_R|PW_PERM_X|PW_PERM_M
 
#define PW_VERSION_CORE   4
 
#define PW_VERSION_REGISTRY   3
 
#define PW_API_CORE_IMPL   static inline
 
#define PW_API_REGISTRY_IMPL   static inline
 
#define PW_DEFAULT_REMOTE   "pipewire-0"
 The default remote name to connect to.
 
#define PW_ID_CORE   0
 default ID for the core object after connect
 
#define PW_ID_ANY   (uint32_t)(0xffffffff)
 
#define PW_CORE_CHANGE_MASK_PROPS   (1 << 0)
 
#define PW_CORE_CHANGE_MASK_ALL   ((1 << 1)-1)
 
#define PW_CORE_EVENT_INFO   0
 Core.
 
#define PW_CORE_EVENT_DONE   1
 
#define PW_CORE_EVENT_PING   2
 
#define PW_CORE_EVENT_ERROR   3
 
#define PW_CORE_EVENT_REMOVE_ID   4
 
#define PW_CORE_EVENT_BOUND_ID   5
 
#define PW_CORE_EVENT_ADD_MEM   6
 
#define PW_CORE_EVENT_REMOVE_MEM   7
 
#define PW_CORE_EVENT_BOUND_PROPS   8
 
#define PW_CORE_EVENT_NUM   9
 
#define PW_VERSION_CORE_EVENTS   1
 
#define PW_CORE_METHOD_ADD_LISTENER   0
 
#define PW_CORE_METHOD_HELLO   1
 
#define PW_CORE_METHOD_SYNC   2
 
#define PW_CORE_METHOD_PONG   3
 
#define PW_CORE_METHOD_ERROR   4
 
#define PW_CORE_METHOD_GET_REGISTRY   5
 
#define PW_CORE_METHOD_CREATE_OBJECT   6
 
#define PW_CORE_METHOD_DESTROY   7
 
#define PW_CORE_METHOD_NUM   8
 
#define PW_VERSION_CORE_METHODS   0
 
#define PW_REGISTRY_EVENT_GLOBAL   0
 
#define PW_REGISTRY_EVENT_GLOBAL_REMOVE   1
 
#define PW_REGISTRY_EVENT_NUM   2
 
#define PW_VERSION_REGISTRY_EVENTS   0
 
#define PW_REGISTRY_METHOD_ADD_LISTENER   0
 
#define PW_REGISTRY_METHOD_BIND   1
 
#define PW_REGISTRY_METHOD_DESTROY   2
 
#define PW_REGISTRY_METHOD_NUM   3
 
#define PW_VERSION_REGISTRY_METHODS   0
 

Functions

struct pw_core_infopw_core_info_update (struct pw_core_info *info, const struct pw_core_info *update)
 Update an existing pw_core_info with update with reset.
 
struct pw_core_infopw_core_info_merge (struct pw_core_info *info, const struct pw_core_info *update, bool reset)
 Update an existing pw_core_info with update.
 
void pw_core_info_free (struct pw_core_info *info)
 Free a pw_core_info

 
PW_API_CORE_IMPL int pw_core_add_listener (struct pw_core *object, struct spa_hook *listener, const struct pw_core_events *events, void *data)
 
PW_API_CORE_IMPL int pw_core_hello (struct pw_core *object, uint32_t version)
 Start a conversation with the server.
 
PW_API_CORE_IMPL int pw_core_sync (struct pw_core *object, uint32_t id, int seq)
 Do server roundtrip.
 
PW_API_CORE_IMPL int pw_core_pong (struct pw_core *object, uint32_t id, int seq)
 Reply to a server ping event.
 
PW_API_CORE_IMPL int pw_core_error (struct pw_core *object, uint32_t id, int seq, int res, const char *message)
 Fatal error event.
 
 PW_API_CORE_IMPL (5, 0) int pw_core_errorv(struct pw_core *core
 
 vsnprintf (buffer, sizeof(buffer), message, args)
 
return pw_core_error (core, id, seq, res, buffer)
 
 PW_API_CORE_IMPL (5, 6) int pw_core_errorf(struct pw_core *core
 
 va_start (args, message)
 
 va_end (args)
 
PW_API_CORE_IMPL struct pw_registrypw_core_get_registry (struct pw_core *core, uint32_t version, size_t user_data_size)
 Get the registry object.
 
PW_API_CORE_IMPL void * pw_core_create_object (struct pw_core *core, const char *factory_name, const char *type, uint32_t version, const struct spa_dict *props, size_t user_data_size)
 Create a new object on the PipeWire server from a factory.
 
PW_API_CORE_IMPL void pw_core_destroy (struct pw_core *core, void *proxy)
 Destroy an resource.
 
PW_API_REGISTRY_IMPL int pw_registry_add_listener (struct pw_registry *registry, struct spa_hook *listener, const struct pw_registry_events *events, void *data)
 Registry.
 
PW_API_REGISTRY_IMPL void * pw_registry_bind (struct pw_registry *registry, uint32_t id, const char *type, uint32_t version, size_t user_data_size)
 Bind to a global object.
 
PW_API_REGISTRY_IMPL int pw_registry_destroy (struct pw_registry *registry, uint32_t id)
 Attempt to destroy a global object.
 
struct pw_corepw_context_connect (struct pw_context *context, struct pw_properties *properties, size_t user_data_size)
 Connect to a PipeWire instance.
 
struct pw_corepw_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.
 
struct pw_corepw_context_connect_self (struct pw_context *context, struct pw_properties *properties, size_t user_data_size)
 Connect to a given PipeWire instance.
 
int pw_core_steal_fd (struct pw_core *core)
 Steal the fd of the core connection or < 0 on error.
 
int pw_core_set_paused (struct pw_core *core, bool paused)
 Pause or resume the core.
 
int pw_core_disconnect (struct pw_core *core)
 disconnect and destroy a core
 
void * pw_core_get_user_data (struct pw_core *core)
 Get the user_data.
 
struct pw_clientpw_core_get_client (struct pw_core *core)
 Get the client proxy of the connected core.
 
struct pw_contextpw_core_get_context (struct pw_core *core)
 Get the context object used to created this core.
 
const struct pw_propertiespw_core_get_properties (struct pw_core *core)
 Get properties from the core.
 
int pw_core_update_properties (struct pw_core *core, const struct spa_dict *dict)
 Update the core properties.
 
struct pw_mempoolpw_core_get_mempool (struct pw_core *core)
 Get the core mempool object.
 
struct pw_proxypw_core_find_proxy (struct pw_core *core, uint32_t id)
 Get the proxy with the given id.
 
struct pw_proxypw_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.
 

Variables

uint32_t id
 
uint32_t int seq
 
uint32_t int int res
 
uint32_t int int const char * message
 
uint32_t int int const char va_list args
 
 buffer [1023] = '\0'
 
uint32_t int int const char int r
 

Detailed Description