Crate pipewire_sys

Source

Structs§

_IO_FILE
_IO_codecvt
_IO_marker
_IO_wide_data
__BindgenBitfieldUnit
__va_list_tag
pw_array
\addtogroup pw_array {
pw_buffer
a buffer structure obtained from pw_stream_dequeue_buffer(). The size of this structure can grow as more fields are added in the future
pw_buffers
pw_client
pw_client_endpoint
pw_client_endpoint_events
pw_client_endpoint_methods
pw_client_events
Client events
pw_client_info
The client information. Extra information can be added in later versions
pw_client_methods
Client methods
pw_client_node
pw_client_node_buffer
information about a buffer
pw_client_node_events
\ref pw_client_node events
pw_client_node_methods
\ref pw_client_node methods
pw_client_session
pw_client_session_events
pw_client_session_methods
pw_context
\addtogroup pw_context @{
pw_context_events
context events emitted by the context object added with \ref pw_context_add_listener
pw_control
\addtogroup pw_control {
pw_control_events
Port events, use \ref pw_control_add_listener
pw_core
pw_core_events
\struct pw_core_events \brief Core events
pw_core_info
The core information. Extra information may be added in later versions, clients must not assume a constant struct size
pw_core_methods
\struct pw_core_methods \brief Core methods
pw_data_loop
\addtogroup pw_data_loop {
pw_data_loop_events
Loop events, use \ref pw_data_loop_add_listener to add a listener
pw_device
pw_device_events
Device events
pw_device_info
The device information. Extra information can be added in later versions
pw_device_methods
Device methods
pw_endpoint
pw_endpoint_events
pw_endpoint_info
pw_endpoint_link
pw_endpoint_link_events
pw_endpoint_link_info
pw_endpoint_link_methods
pw_endpoint_methods
pw_endpoint_stream
pw_endpoint_stream_events
pw_endpoint_stream_info
pw_endpoint_stream_methods
pw_export_type
data for registering export functions
pw_factory
pw_factory_events
Factory events
pw_factory_info
The factory information. Extra information can be added in later versions
pw_factory_methods
Factory methods
pw_filter
\addtogroup pw_filter {
pw_filter_events
Events for a filter. These events are always called from the mainloop unless explicitly documented otherwise.
pw_global
\addtogroup pw_global {
pw_global_events
Global events, use \ref pw_global_add_listener
pw_impl_client
\addtogroup api_pw_impl
pw_impl_client_events
The events that a client can emit
pw_impl_core
\addtogroup pw_impl_core {
pw_impl_core_events
Factory events, listen to them with \ref pw_impl_core_add_listener
pw_impl_device
\addtogroup pw_impl_device {
pw_impl_device_events
Device events, listen to them with \ref pw_impl_device_add_listener
pw_impl_factory
\addtogroup pw_impl_factory {
pw_impl_factory_events
Factory events, listen to them with \ref pw_impl_factory_add_listener
pw_impl_factory_implementation
pw_impl_link
\addtogroup pw_impl_link {
pw_impl_link_events
link events added with \ref pw_impl_link_add_listener
pw_impl_metadata
\addtogroup pw_impl_metadata {
pw_impl_metadata_events
Metadata events, listen to them with \ref pw_impl_metadata_add_listener
pw_impl_module
\addtogroup pw_impl_module {
pw_impl_module_events
Module events added with \ref pw_impl_module_add_listener
pw_impl_node
\defgroup pw_impl_node Node Impl
pw_impl_node_events
Node events, listen to them with \ref pw_impl_node_add_listener
pw_impl_node_rt_events
pw_impl_port
\addtogroup pw_impl_port {
pw_impl_port_events
Port events, use \ref pw_impl_port_add_listener
pw_link
pw_link_events
Link events
pw_link_info
The link information. Extra information can be added in later versions
pw_link_methods
Link methods
pw_loop
\addtogroup pw_loop {
pw_main_loop
A main loop object
pw_main_loop_events
Events of the main loop
pw_map
A map. This struct should be treated as opaque by the caller.
pw_map_range
parameters to map a memory range
pw_memblock
Memory block structure
pw_memchunk
pw_memmap
a mapped region of a pw_memblock
pw_mempool
A memory pool is a collection of pw_memblocks
pw_mempool_events
pw_metadata
pw_metadata_events
\ref pw_metadata events
pw_metadata_methods
\ref pw_metadata methods
pw_module
pw_module_events
Module events
pw_module_info
The module information. Extra information can be added in later versions
pw_module_methods
Module methods
pw_node
pw_node_events
Node events
pw_node_info
The node information. Extra information can be added in later versions
pw_node_methods
Node methods
pw_permission
pw_port
pw_port_events
Port events
pw_port_info
pw_port_methods
Port methods
pw_profiler
pw_profiler_events
\ref pw_profiler events
pw_profiler_methods
\ref pw_profiler methods
pw_properties
\addtogroup pw_properties {
pw_protocol
\addtogroup pw_protocol {
pw_protocol_client
pw_protocol_events
pw_protocol_implementation
pw_protocol_marshal
pw_protocol_native_demarshal
pw_protocol_native_ext
\ref pw_protocol_native_ext methods
pw_protocol_native_message
pw_protocol_server
pw_proxy
\addtogroup pw_proxy {
pw_proxy_events
Proxy events, use \ref pw_proxy_add_listener
pw_registry
pw_registry_events
Registry events
pw_registry_methods
Registry methods
pw_resource
\addtogroup pw_resource {
pw_resource_events
Resource events
pw_session
pw_session_events
pw_session_info
pw_session_methods
pw_stream
\addtogroup pw_stream {
pw_stream_control
pw_stream_events
Events for a stream. These events are always called from the mainloop unless explicitly documented otherwise.
pw_thread_loop
\addtogroup pw_thread_loop {
pw_thread_loop_events
Thread loop events
pw_time
A time structure.
pw_work_queue
\addtogroup pw_work_queue {
timespec

Constants§

PW_API_VERSION
PW_BUFFERS_FLAG_ASYNC
PW_BUFFERS_FLAG_DYNAMIC
PW_BUFFERS_FLAG_IN_PRIORITY
PW_BUFFERS_FLAG_NONE
PW_BUFFERS_FLAG_NO_MEM
PW_BUFFERS_FLAG_SHARED
PW_BUFFERS_FLAG_SHARED_MEM
PW_CLIENT_CHANGE_MASK_ALL
PW_CLIENT_CHANGE_MASK_PROPS
PW_CLIENT_ENDPOINT_EVENT_CREATE_LINK
PW_CLIENT_ENDPOINT_EVENT_NUM
PW_CLIENT_ENDPOINT_EVENT_SET_PARAM
PW_CLIENT_ENDPOINT_EVENT_SET_SESSION_ID
PW_CLIENT_ENDPOINT_EVENT_STREAM_SET_PARAM
PW_CLIENT_ENDPOINT_METHOD_ADD_LISTENER
PW_CLIENT_ENDPOINT_METHOD_NUM
PW_CLIENT_ENDPOINT_METHOD_STREAM_UPDATE
PW_CLIENT_ENDPOINT_METHOD_UPDATE
PW_CLIENT_ENDPOINT_STREAM_UPDATE_DESTROYED
PW_CLIENT_ENDPOINT_STREAM_UPDATE_INFO
PW_CLIENT_ENDPOINT_STREAM_UPDATE_PARAMS
PW_CLIENT_ENDPOINT_UPDATE_INFO
PW_CLIENT_ENDPOINT_UPDATE_PARAMS
PW_CLIENT_EVENT_INFO
PW_CLIENT_EVENT_NUM
PW_CLIENT_EVENT_PERMISSIONS
PW_CLIENT_METHOD_ADD_LISTENER
PW_CLIENT_METHOD_ERROR
PW_CLIENT_METHOD_GET_PERMISSIONS
PW_CLIENT_METHOD_NUM
PW_CLIENT_METHOD_UPDATE_PERMISSIONS
PW_CLIENT_METHOD_UPDATE_PROPERTIES
PW_CLIENT_NODE_EVENT_ADD_PORT
PW_CLIENT_NODE_EVENT_COMMAND
PW_CLIENT_NODE_EVENT_EVENT
PW_CLIENT_NODE_EVENT_NUM
PW_CLIENT_NODE_EVENT_PORT_SET_IO
PW_CLIENT_NODE_EVENT_PORT_SET_MIX_INFO
PW_CLIENT_NODE_EVENT_PORT_SET_PARAM
PW_CLIENT_NODE_EVENT_PORT_USE_BUFFERS
PW_CLIENT_NODE_EVENT_REMOVE_PORT
PW_CLIENT_NODE_EVENT_SET_ACTIVATION
PW_CLIENT_NODE_EVENT_SET_IO
PW_CLIENT_NODE_EVENT_SET_PARAM
PW_CLIENT_NODE_EVENT_TRANSPORT
PW_CLIENT_NODE_METHOD_ADD_LISTENER
PW_CLIENT_NODE_METHOD_EVENT
PW_CLIENT_NODE_METHOD_GET_NODE
PW_CLIENT_NODE_METHOD_NUM
PW_CLIENT_NODE_METHOD_PORT_BUFFERS
PW_CLIENT_NODE_METHOD_PORT_UPDATE
PW_CLIENT_NODE_METHOD_SET_ACTIVE
PW_CLIENT_NODE_METHOD_UPDATE
PW_CLIENT_NODE_PORT_UPDATE_INFO
PW_CLIENT_NODE_PORT_UPDATE_PARAMS
PW_CLIENT_NODE_UPDATE_INFO
PW_CLIENT_NODE_UPDATE_PARAMS
PW_CLIENT_PERM_MASK
PW_CLIENT_SESSION_EVENT_LINK_REQUEST_STATE
PW_CLIENT_SESSION_EVENT_LINK_SET_PARAM
PW_CLIENT_SESSION_EVENT_NUM
PW_CLIENT_SESSION_EVENT_SET_PARAM
PW_CLIENT_SESSION_LINK_UPDATE_DESTROYED
PW_CLIENT_SESSION_LINK_UPDATE_INFO
PW_CLIENT_SESSION_LINK_UPDATE_PARAMS
PW_CLIENT_SESSION_METHOD_ADD_LISTENER
PW_CLIENT_SESSION_METHOD_LINK_UPDATE
PW_CLIENT_SESSION_METHOD_NUM
PW_CLIENT_SESSION_METHOD_UPDATE
PW_CLIENT_SESSION_UPDATE_INFO
PW_CLIENT_SESSION_UPDATE_PARAMS
PW_CORE_CHANGE_MASK_ALL
PW_CORE_CHANGE_MASK_PROPS
PW_CORE_EVENT_ADD_MEM
PW_CORE_EVENT_BOUND_ID
PW_CORE_EVENT_BOUND_PROPS
PW_CORE_EVENT_DONE
PW_CORE_EVENT_ERROR
PW_CORE_EVENT_INFO
PW_CORE_EVENT_NUM
PW_CORE_EVENT_PING
PW_CORE_EVENT_REMOVE_ID
PW_CORE_EVENT_REMOVE_MEM
PW_CORE_METHOD_ADD_LISTENER
PW_CORE_METHOD_CREATE_OBJECT
PW_CORE_METHOD_DESTROY
PW_CORE_METHOD_ERROR
PW_CORE_METHOD_GET_REGISTRY
PW_CORE_METHOD_HELLO
PW_CORE_METHOD_NUM
PW_CORE_METHOD_PONG
PW_CORE_METHOD_SYNC
PW_DEFAULT_REMOTE
PW_DEVICE_CHANGE_MASK_ALL
PW_DEVICE_CHANGE_MASK_PARAMS
PW_DEVICE_CHANGE_MASK_PROPS
PW_DEVICE_EVENT_INFO
PW_DEVICE_EVENT_NUM
PW_DEVICE_EVENT_PARAM
PW_DEVICE_METHOD_ADD_LISTENER
PW_DEVICE_METHOD_ENUM_PARAMS
PW_DEVICE_METHOD_NUM
PW_DEVICE_METHOD_SET_PARAM
PW_DEVICE_METHOD_SUBSCRIBE_PARAMS
PW_DEVICE_PERM_MASK
PW_ENDPOINT_CHANGE_MASK_ALL
PW_ENDPOINT_CHANGE_MASK_PARAMS
PW_ENDPOINT_CHANGE_MASK_PROPS
PW_ENDPOINT_CHANGE_MASK_SESSION
PW_ENDPOINT_CHANGE_MASK_STREAMS
PW_ENDPOINT_EVENT_INFO
PW_ENDPOINT_EVENT_NUM
PW_ENDPOINT_EVENT_PARAM
PW_ENDPOINT_FLAG_PROVIDES_SESSION
PW_ENDPOINT_LINK_CHANGE_MASK_ALL
PW_ENDPOINT_LINK_CHANGE_MASK_PARAMS
PW_ENDPOINT_LINK_CHANGE_MASK_PROPS
PW_ENDPOINT_LINK_CHANGE_MASK_STATE
PW_ENDPOINT_LINK_EVENT_INFO
PW_ENDPOINT_LINK_EVENT_NUM
PW_ENDPOINT_LINK_EVENT_PARAM
PW_ENDPOINT_LINK_METHOD_ADD_LISTENER
PW_ENDPOINT_LINK_METHOD_DESTROY
PW_ENDPOINT_LINK_METHOD_ENUM_PARAMS
PW_ENDPOINT_LINK_METHOD_NUM
PW_ENDPOINT_LINK_METHOD_REQUEST_STATE
PW_ENDPOINT_LINK_METHOD_SET_PARAM
PW_ENDPOINT_LINK_METHOD_SUBSCRIBE_PARAMS
PW_ENDPOINT_LINK_PERM_MASK
PW_ENDPOINT_METHOD_ADD_LISTENER
PW_ENDPOINT_METHOD_CREATE_LINK
PW_ENDPOINT_METHOD_ENUM_PARAMS
PW_ENDPOINT_METHOD_NUM
PW_ENDPOINT_METHOD_SET_PARAM
PW_ENDPOINT_METHOD_SUBSCRIBE_PARAMS
PW_ENDPOINT_PERM_MASK
PW_ENDPOINT_STREAM_CHANGE_MASK_ALL
PW_ENDPOINT_STREAM_CHANGE_MASK_LINK_PARAMS
PW_ENDPOINT_STREAM_CHANGE_MASK_PARAMS
PW_ENDPOINT_STREAM_CHANGE_MASK_PROPS
PW_ENDPOINT_STREAM_EVENT_INFO
PW_ENDPOINT_STREAM_EVENT_NUM
PW_ENDPOINT_STREAM_EVENT_PARAM
PW_ENDPOINT_STREAM_METHOD_ADD_LISTENER
PW_ENDPOINT_STREAM_METHOD_ENUM_PARAMS
PW_ENDPOINT_STREAM_METHOD_NUM
PW_ENDPOINT_STREAM_METHOD_SET_PARAM
PW_ENDPOINT_STREAM_METHOD_SUBSCRIBE_PARAMS
PW_ENDPOINT_STREAM_PERM_MASK
PW_FACTORY_CHANGE_MASK_ALL
PW_FACTORY_CHANGE_MASK_PROPS
PW_FACTORY_EVENT_INFO
PW_FACTORY_EVENT_NUM
PW_FACTORY_METHOD_ADD_LISTENER
PW_FACTORY_METHOD_NUM
PW_FACTORY_PERM_MASK
PW_ID_CLIENT
PW_ID_CORE
PW_KEY_ACCESS
PW_KEY_APP_ICON
PW_KEY_APP_ICON_NAME
PW_KEY_APP_ID
PW_KEY_APP_LANGUAGE
PW_KEY_APP_NAME
PW_KEY_APP_PROCESS_BINARY
PW_KEY_APP_PROCESS_HOST
PW_KEY_APP_PROCESS_ID
PW_KEY_APP_PROCESS_MACHINE_ID
PW_KEY_APP_PROCESS_SESSION_ID
PW_KEY_APP_PROCESS_USER
PW_KEY_APP_VERSION
PW_KEY_AUDIO_ALLOWED_RATES
PW_KEY_AUDIO_CHANNEL
PW_KEY_AUDIO_CHANNELS
PW_KEY_AUDIO_FORMAT
PW_KEY_AUDIO_RATE
PW_KEY_CLIENT_ACCESS
PW_KEY_CLIENT_API
PW_KEY_CLIENT_ID
PW_KEY_CLIENT_NAME
PW_KEY_CONFIG_NAME
PW_KEY_CONFIG_OVERRIDE_NAME
PW_KEY_CONFIG_OVERRIDE_PREFIX
PW_KEY_CONFIG_PREFIX
PW_KEY_CONTEXT_PROFILE_MODULES
PW_KEY_CORE_DAEMON
PW_KEY_CORE_ID
PW_KEY_CORE_MONITORS
PW_KEY_CORE_NAME
PW_KEY_CORE_VERSION
PW_KEY_CPU_CORES
PW_KEY_CPU_MAX_ALIGN
PW_KEY_DEVICE_API
PW_KEY_DEVICE_BUS
PW_KEY_DEVICE_BUS_PATH
PW_KEY_DEVICE_CACHE_PARAMS
PW_KEY_DEVICE_CLASS
PW_KEY_DEVICE_DESCRIPTION
PW_KEY_DEVICE_FORM_FACTOR
PW_KEY_DEVICE_ICON
PW_KEY_DEVICE_ICON_NAME
PW_KEY_DEVICE_ID
PW_KEY_DEVICE_INTENDED_ROLES
PW_KEY_DEVICE_NAME
PW_KEY_DEVICE_NICK
PW_KEY_DEVICE_PLUGGED
PW_KEY_DEVICE_PRODUCT_ID
PW_KEY_DEVICE_PRODUCT_NAME
PW_KEY_DEVICE_SERIAL
PW_KEY_DEVICE_STRING
PW_KEY_DEVICE_SUBSYSTEM
PW_KEY_DEVICE_SYSFS_PATH
PW_KEY_DEVICE_VENDOR_ID
PW_KEY_DEVICE_VENDOR_NAME
PW_KEY_ENDPOINT_AUTOCONNECT
PW_KEY_ENDPOINT_CLIENT_ID
PW_KEY_ENDPOINT_ICON_NAME
PW_KEY_ENDPOINT_ID
PW_KEY_ENDPOINT_LINK_INPUT_ENDPOINT
PW_KEY_ENDPOINT_LINK_INPUT_STREAM
PW_KEY_ENDPOINT_LINK_OUTPUT_ENDPOINT
PW_KEY_ENDPOINT_LINK_OUTPUT_STREAM
PW_KEY_ENDPOINT_MONITOR
PW_KEY_ENDPOINT_NAME
PW_KEY_ENDPOINT_STREAM_DESCRIPTION
PW_KEY_ENDPOINT_STREAM_ID
PW_KEY_ENDPOINT_STREAM_NAME
PW_KEY_ENDPOINT_TARGET
PW_KEY_FACTORY_ID
PW_KEY_FACTORY_NAME
PW_KEY_FACTORY_TYPE_NAME
PW_KEY_FACTORY_TYPE_VERSION
PW_KEY_FACTORY_USAGE
PW_KEY_FORMAT_DSP
PW_KEY_HOST_NAME
PW_KEY_LIBRARY_NAME_DBUS
PW_KEY_LIBRARY_NAME_LOOP
PW_KEY_LIBRARY_NAME_SYSTEM
PW_KEY_LINK_ASYNC
PW_KEY_LINK_FEEDBACK
PW_KEY_LINK_ID
PW_KEY_LINK_INPUT_NODE
PW_KEY_LINK_INPUT_PORT
PW_KEY_LINK_OUTPUT_NODE
PW_KEY_LINK_OUTPUT_PORT
PW_KEY_LINK_PASSIVE
PW_KEY_LOOP_CANCEL
PW_KEY_LOOP_CLASS
PW_KEY_LOOP_NAME
PW_KEY_LOOP_RT_PRIO
PW_KEY_MEDIA_ALBUM
PW_KEY_MEDIA_ARTIST
PW_KEY_MEDIA_CATEGORY
PW_KEY_MEDIA_CLASS
PW_KEY_MEDIA_COMMENT
PW_KEY_MEDIA_COPYRIGHT
PW_KEY_MEDIA_DATE
PW_KEY_MEDIA_FILENAME
PW_KEY_MEDIA_FORMAT
PW_KEY_MEDIA_ICON
PW_KEY_MEDIA_ICON_NAME
PW_KEY_MEDIA_LANGUAGE
PW_KEY_MEDIA_NAME
PW_KEY_MEDIA_ROLE
PW_KEY_MEDIA_SOFTWARE
PW_KEY_MEDIA_TITLE
PW_KEY_MEDIA_TYPE
PW_KEY_METADATA_NAME
PW_KEY_METADATA_VALUES
PW_KEY_MODULE_AUTHOR
PW_KEY_MODULE_DEPRECATED
PW_KEY_MODULE_DESCRIPTION
PW_KEY_MODULE_ID
PW_KEY_MODULE_NAME
PW_KEY_MODULE_USAGE
PW_KEY_MODULE_VERSION
PW_KEY_NODE_ALWAYS_PROCESS
PW_KEY_NODE_ASYNC
PW_KEY_NODE_AUTOCONNECT
PW_KEY_NODE_CACHE_PARAMS
PW_KEY_NODE_CHANNELNAMES
PW_KEY_NODE_DESCRIPTION
PW_KEY_NODE_DEVICE_PORT_NAME_PREFIX
PW_KEY_NODE_DONT_RECONNECT
PW_KEY_NODE_DRIVER
PW_KEY_NODE_DRIVER_ID
PW_KEY_NODE_EXCLUSIVE
PW_KEY_NODE_FORCE_QUANTUM
PW_KEY_NODE_FORCE_RATE
PW_KEY_NODE_GROUP
PW_KEY_NODE_ID
PW_KEY_NODE_LATENCY
PW_KEY_NODE_LINK_GROUP
PW_KEY_NODE_LOCK_QUANTUM
PW_KEY_NODE_LOCK_RATE
PW_KEY_NODE_LOOP_CLASS
PW_KEY_NODE_LOOP_NAME
PW_KEY_NODE_MAX_LATENCY
PW_KEY_NODE_NAME
PW_KEY_NODE_NETWORK
PW_KEY_NODE_NICK
PW_KEY_NODE_PASSIVE
PW_KEY_NODE_PAUSE_ON_IDLE
PW_KEY_NODE_PLUGGED
PW_KEY_NODE_RATE
PW_KEY_NODE_SESSION
PW_KEY_NODE_STREAM
PW_KEY_NODE_SUPPORTS_LAZY
PW_KEY_NODE_SUPPORTS_REQUEST
PW_KEY_NODE_SUSPEND_ON_IDLE
PW_KEY_NODE_SYNC
PW_KEY_NODE_SYNC_GROUP
PW_KEY_NODE_TRANSPORT
PW_KEY_NODE_TRANSPORT_SYNC
PW_KEY_NODE_TRIGGER
PW_KEY_NODE_VIRTUAL
PW_KEY_NODE_WANT_DRIVER
PW_KEY_OBJECT_EXPORT
PW_KEY_OBJECT_ID
PW_KEY_OBJECT_LINGER
PW_KEY_OBJECT_PATH
PW_KEY_OBJECT_REGISTER
PW_KEY_OBJECT_SERIAL
PW_KEY_PORT_ALIAS
PW_KEY_PORT_CACHE_PARAMS
PW_KEY_PORT_CONTROL
PW_KEY_PORT_DIRECTION
PW_KEY_PORT_EXTRA
PW_KEY_PORT_GROUP
PW_KEY_PORT_ID
PW_KEY_PORT_IGNORE_LATENCY
PW_KEY_PORT_MONITOR
PW_KEY_PORT_NAME
PW_KEY_PORT_PASSIVE
PW_KEY_PORT_PHYSICAL
PW_KEY_PORT_TERMINAL
PW_KEY_PRIORITY_DRIVER
PW_KEY_PRIORITY_SESSION
PW_KEY_PROFILER_NAME
PW_KEY_PROTOCOL
PW_KEY_REMOTE_INTENTION
PW_KEY_REMOTE_NAME
PW_KEY_SEC_APP_ID
PW_KEY_SEC_ENGINE
PW_KEY_SEC_GID
PW_KEY_SEC_INSTANCE_ID
PW_KEY_SEC_LABEL
PW_KEY_SEC_PID
PW_KEY_SEC_SOCKET
PW_KEY_SEC_UID
PW_KEY_SESSION_ID
PW_KEY_STREAM_CAPTURE_SINK
PW_KEY_STREAM_DONT_REMIX
PW_KEY_STREAM_IS_LIVE
PW_KEY_STREAM_LATENCY_MAX
PW_KEY_STREAM_LATENCY_MIN
PW_KEY_STREAM_MONITOR
PW_KEY_TARGET_OBJECT
PW_KEY_USER_NAME
PW_KEY_VIDEO_FORMAT
PW_KEY_VIDEO_RATE
PW_KEY_VIDEO_SIZE
PW_KEY_WINDOW_X11_DISPLAY
PW_LINK_CHANGE_MASK_ALL
PW_LINK_CHANGE_MASK_FORMAT
PW_LINK_CHANGE_MASK_PROPS
PW_LINK_CHANGE_MASK_STATE
PW_LINK_EVENT_INFO
PW_LINK_EVENT_NUM
PW_LINK_METHOD_ADD_LISTENER
PW_LINK_METHOD_NUM
PW_LINK_PERM_MASK
PW_MAJOR
PW_METADATA_EVENT_NUM
PW_METADATA_EVENT_PROPERTY
PW_METADATA_METHOD_ADD_LISTENER
PW_METADATA_METHOD_CLEAR
PW_METADATA_METHOD_NUM
PW_METADATA_METHOD_SET_PROPERTY
PW_METADATA_PERM_MASK
PW_MICRO
PW_MINOR
PW_MODULE_CHANGE_MASK_ALL
PW_MODULE_CHANGE_MASK_PROPS
PW_MODULE_EVENT_INFO
PW_MODULE_EVENT_NUM
PW_MODULE_METHOD_ADD_LISTENER
PW_MODULE_METHOD_NUM
PW_MODULE_PERM_MASK
PW_NODE_CHANGE_MASK_ALL
PW_NODE_CHANGE_MASK_INPUT_PORTS
PW_NODE_CHANGE_MASK_OUTPUT_PORTS
PW_NODE_CHANGE_MASK_PARAMS
PW_NODE_CHANGE_MASK_PROPS
PW_NODE_CHANGE_MASK_STATE
PW_NODE_EVENT_INFO
PW_NODE_EVENT_NUM
PW_NODE_EVENT_PARAM
PW_NODE_METHOD_ADD_LISTENER
PW_NODE_METHOD_ENUM_PARAMS
PW_NODE_METHOD_NUM
PW_NODE_METHOD_SEND_COMMAND
PW_NODE_METHOD_SET_PARAM
PW_NODE_METHOD_SUBSCRIBE_PARAMS
PW_NODE_PERM_MASK
PW_PERMISSION_FORMAT
PW_PERM_ALL
PW_PERM_L
PW_PERM_M
PW_PERM_R
PW_PERM_RW
PW_PERM_RWX
PW_PERM_RWXM
PW_PERM_RWXML
PW_PERM_W
PW_PERM_X
PW_PORT_CHANGE_MASK_ALL
PW_PORT_CHANGE_MASK_PARAMS
PW_PORT_CHANGE_MASK_PROPS
PW_PORT_EVENT_INFO
PW_PORT_EVENT_NUM
PW_PORT_EVENT_PARAM
PW_PORT_METHOD_ADD_LISTENER
PW_PORT_METHOD_ENUM_PARAMS
PW_PORT_METHOD_NUM
PW_PORT_METHOD_SUBSCRIBE_PARAMS
PW_PORT_PERM_MASK
PW_PROFILER_EVENT_NUM
PW_PROFILER_EVENT_PROFILE
PW_PROFILER_METHOD_ADD_LISTENER
PW_PROFILER_METHOD_NUM
PW_PROFILER_PERM_MASK
PW_PROPERTIES_FLAG_ARRAY
PW_PROPERTIES_FLAG_COLORS
PW_PROPERTIES_FLAG_ENCLOSE
PW_PROPERTIES_FLAG_NL
PW_PROPERTIES_FLAG_RECURSE
PW_PROTOCOL_MARSHAL_FLAG_IMPL
PW_REGISTRY_EVENT_GLOBAL
PW_REGISTRY_EVENT_GLOBAL_REMOVE
PW_REGISTRY_EVENT_NUM
PW_REGISTRY_METHOD_ADD_LISTENER
PW_REGISTRY_METHOD_BIND
PW_REGISTRY_METHOD_DESTROY
PW_REGISTRY_METHOD_NUM
PW_SESSION_CHANGE_MASK_ALL
PW_SESSION_CHANGE_MASK_PARAMS
PW_SESSION_CHANGE_MASK_PROPS
PW_SESSION_EVENT_INFO
PW_SESSION_EVENT_NUM
PW_SESSION_EVENT_PARAM
PW_SESSION_METHOD_ADD_LISTENER
PW_SESSION_METHOD_CREATE_LINK
PW_SESSION_METHOD_ENUM_PARAMS
PW_SESSION_METHOD_NUM
PW_SESSION_METHOD_SET_PARAM
PW_SESSION_METHOD_SUBSCRIBE_PARAMS
PW_SESSION_PERM_MASK
PW_TYPE_FIRST
PW_TYPE_INFO_BASE
PW_TYPE_INFO_INTERFACE_BASE
PW_TYPE_INFO_Interface
PW_TYPE_INFO_OBJECT_BASE
PW_TYPE_INFO_Object
PW_TYPE_INFO_PROTOCOL_BASE
PW_TYPE_INFO_PROTOCOL_Native
PW_TYPE_INFO_Protocol
PW_TYPE_INTERFACE_Client
PW_TYPE_INTERFACE_ClientEndpoint
PW_TYPE_INTERFACE_ClientNode
PW_TYPE_INTERFACE_ClientSession
PW_TYPE_INTERFACE_Core
PW_TYPE_INTERFACE_Device
PW_TYPE_INTERFACE_Endpoint
PW_TYPE_INTERFACE_EndpointLink
PW_TYPE_INTERFACE_EndpointStream
PW_TYPE_INTERFACE_Factory
PW_TYPE_INTERFACE_Link
PW_TYPE_INTERFACE_Metadata
PW_TYPE_INTERFACE_Module
PW_TYPE_INTERFACE_Node
PW_TYPE_INTERFACE_Port
PW_TYPE_INTERFACE_Profiler
PW_TYPE_INTERFACE_Registry
PW_TYPE_INTERFACE_Session
PW_VERSION_CLIENT
PW_VERSION_CLIENT_ENDPOINT
PW_VERSION_CLIENT_ENDPOINT_EVENTS
PW_VERSION_CLIENT_ENDPOINT_METHODS
PW_VERSION_CLIENT_EVENTS
PW_VERSION_CLIENT_METHODS
PW_VERSION_CLIENT_NODE
PW_VERSION_CLIENT_NODE_EVENTS
PW_VERSION_CLIENT_NODE_METHODS
PW_VERSION_CLIENT_SESSION
PW_VERSION_CLIENT_SESSION_EVENTS
PW_VERSION_CLIENT_SESSION_METHODS
PW_VERSION_CONTEXT_EVENTS
PW_VERSION_CONTROL_EVENTS
PW_VERSION_CORE
PW_VERSION_CORE_EVENTS
PW_VERSION_CORE_METHODS
PW_VERSION_DATA_LOOP_EVENTS
PW_VERSION_DEVICE
PW_VERSION_DEVICE_EVENTS
PW_VERSION_DEVICE_METHODS
PW_VERSION_ENDPOINT
PW_VERSION_ENDPOINT_EVENTS
PW_VERSION_ENDPOINT_INFO
PW_VERSION_ENDPOINT_LINK
PW_VERSION_ENDPOINT_LINK_EVENTS
PW_VERSION_ENDPOINT_LINK_INFO
PW_VERSION_ENDPOINT_LINK_METHODS
PW_VERSION_ENDPOINT_METHODS
PW_VERSION_ENDPOINT_STREAM
PW_VERSION_ENDPOINT_STREAM_EVENTS
PW_VERSION_ENDPOINT_STREAM_INFO
PW_VERSION_ENDPOINT_STREAM_METHODS
PW_VERSION_FACTORY
PW_VERSION_FACTORY_EVENTS
PW_VERSION_FACTORY_METHODS
PW_VERSION_FILTER_EVENTS
PW_VERSION_GLOBAL_EVENTS
PW_VERSION_IMPL_CLIENT_EVENTS
PW_VERSION_IMPL_CORE_EVENTS
PW_VERSION_IMPL_DEVICE_EVENTS
PW_VERSION_IMPL_FACTORY_EVENTS
PW_VERSION_IMPL_FACTORY_IMPLEMENTATION
PW_VERSION_IMPL_LINK_EVENTS
PW_VERSION_IMPL_METADATA_EVENTS
PW_VERSION_IMPL_MODULE_EVENTS
PW_VERSION_IMPL_NODE_EVENTS
PW_VERSION_IMPL_NODE_RT_EVENTS
PW_VERSION_IMPL_PORT_EVENTS
PW_VERSION_LINK
PW_VERSION_LINK_EVENTS
PW_VERSION_LINK_METHODS
PW_VERSION_MAIN_LOOP_EVENTS
PW_VERSION_MEMPOOL_EVENTS
PW_VERSION_METADATA
PW_VERSION_METADATA_EVENTS
PW_VERSION_METADATA_METHODS
PW_VERSION_MODULE
PW_VERSION_MODULE_EVENTS
PW_VERSION_MODULE_METHODS
PW_VERSION_NODE
PW_VERSION_NODE_EVENTS
PW_VERSION_NODE_METHODS
PW_VERSION_PORT
PW_VERSION_PORT_EVENTS
PW_VERSION_PORT_METHODS
PW_VERSION_PROFILER
PW_VERSION_PROFILER_EVENTS
PW_VERSION_PROFILER_METHODS
PW_VERSION_PROTOCOL_EVENTS
PW_VERSION_PROTOCOL_IMPLEMENTATION
PW_VERSION_PROTOCOL_NATIVE_EXT
PW_VERSION_PROXY_EVENTS
PW_VERSION_REGISTRY
PW_VERSION_REGISTRY_EVENTS
PW_VERSION_REGISTRY_METHODS
PW_VERSION_RESOURCE_EVENTS
PW_VERSION_SESSION
PW_VERSION_SESSION_EVENTS
PW_VERSION_SESSION_INFO
PW_VERSION_SESSION_METHODS
PW_VERSION_STREAM_EVENTS
PW_VERSION_THREAD_LOOP_EVENTS
pw_endpoint_link_state_PW_ENDPOINT_LINK_STATE_ACTIVE
pw_endpoint_link_state_PW_ENDPOINT_LINK_STATE_ERROR
pw_endpoint_link_state_PW_ENDPOINT_LINK_STATE_INACTIVE
pw_endpoint_link_state_PW_ENDPOINT_LINK_STATE_PREPARING
pw_filter_flags_PW_FILTER_FLAG_ASYNC
< Buffers will not be dequeued/queued from the realtime process() function. This is assumed when RT_PROCESS is unset but can also be the case when the process() function does a trigger_process() that will then dequeue/queue a buffer from another process() function. since 0.3.73
pw_filter_flags_PW_FILTER_FLAG_CUSTOM_LATENCY
< don’t call the default latency algorithm but emit the param_changed event for the ports when Latency params are received.
pw_filter_flags_PW_FILTER_FLAG_DRIVER
< be a driver
pw_filter_flags_PW_FILTER_FLAG_INACTIVE
< start the filter inactive, pw_filter_set_active() needs to be called explicitly
pw_filter_flags_PW_FILTER_FLAG_NONE
< no flags
pw_filter_flags_PW_FILTER_FLAG_RT_PROCESS
< call process from the realtime thread. Only call methods marked as RT safe.
pw_filter_flags_PW_FILTER_FLAG_TRIGGER
< the filter will not be scheduled automatically but _trigger_process() needs to be called. This can be used when the filter depends on processing of other filters.
pw_filter_port_flags_PW_FILTER_PORT_FLAG_ALLOC_BUFFERS
< the application will allocate buffer memory. In the add_buffer event, the data of the buffer should be set
pw_filter_port_flags_PW_FILTER_PORT_FLAG_MAP_BUFFERS
< mmap the buffers except DmaBuf that is not explicitly marked as mappable.
pw_filter_port_flags_PW_FILTER_PORT_FLAG_NONE
< no flags
pw_filter_state_PW_FILTER_STATE_CONNECTING
< connection is in progress
pw_filter_state_PW_FILTER_STATE_ERROR
< the stream is in error
pw_filter_state_PW_FILTER_STATE_PAUSED
< filter is connected and paused
pw_filter_state_PW_FILTER_STATE_STREAMING
< filter is streaming
pw_filter_state_PW_FILTER_STATE_UNCONNECTED
< unconnected
pw_impl_port_state_PW_IMPL_PORT_STATE_CONFIGURE
< the port is ready for format negotiation
pw_impl_port_state_PW_IMPL_PORT_STATE_ERROR
< the port is in error
pw_impl_port_state_PW_IMPL_PORT_STATE_INIT
< the port is being created
pw_impl_port_state_PW_IMPL_PORT_STATE_PAUSED
< the port is paused
pw_impl_port_state_PW_IMPL_PORT_STATE_READY
< the port is ready for buffer allocation
pw_link_state_PW_LINK_STATE_ACTIVE
< the link is active
pw_link_state_PW_LINK_STATE_ALLOCATING
< the link is allocating buffers
pw_link_state_PW_LINK_STATE_ERROR
< the link is in error
pw_link_state_PW_LINK_STATE_INIT
< the link is initialized
pw_link_state_PW_LINK_STATE_NEGOTIATING
< the link is negotiating formats
pw_link_state_PW_LINK_STATE_PAUSED
< the link is paused
pw_link_state_PW_LINK_STATE_UNLINKED
< the link is unlinked
pw_memblock_flags_PW_MEMBLOCK_FLAG_DONT_CLOSE
< don’t close fd
pw_memblock_flags_PW_MEMBLOCK_FLAG_DONT_NOTIFY
< don’t notify events
pw_memblock_flags_PW_MEMBLOCK_FLAG_MAP
< mmap the fd
pw_memblock_flags_PW_MEMBLOCK_FLAG_NONE
pw_memblock_flags_PW_MEMBLOCK_FLAG_READABLE
< memory is readable
pw_memblock_flags_PW_MEMBLOCK_FLAG_READWRITE
pw_memblock_flags_PW_MEMBLOCK_FLAG_SEAL
< seal the fd
pw_memblock_flags_PW_MEMBLOCK_FLAG_UNMAPPABLE
< the fd can not be mmapped
pw_memblock_flags_PW_MEMBLOCK_FLAG_WRITABLE
< memory is writable
pw_memmap_flags_PW_MEMMAP_FLAG_LOCKED
< lock the memory into RAM
pw_memmap_flags_PW_MEMMAP_FLAG_NONE
pw_memmap_flags_PW_MEMMAP_FLAG_PRIVATE
< writes will be private
pw_memmap_flags_PW_MEMMAP_FLAG_READ
< map in read mode
pw_memmap_flags_PW_MEMMAP_FLAG_READWRITE
pw_memmap_flags_PW_MEMMAP_FLAG_TWICE
< map the same area twice after each other, creating a circular ringbuffer
pw_memmap_flags_PW_MEMMAP_FLAG_WRITE
< map in write mode
pw_node_state_PW_NODE_STATE_CREATING
< the node is being created
pw_node_state_PW_NODE_STATE_ERROR
< error state
pw_node_state_PW_NODE_STATE_IDLE
< the node is running but there is no active port
pw_node_state_PW_NODE_STATE_RUNNING
< the node is running
pw_node_state_PW_NODE_STATE_SUSPENDED
< the node is suspended, the device might be closed
pw_stream_flags_PW_STREAM_FLAG_ALLOC_BUFFERS
< the application will allocate buffer memory. In the add_buffer event, the data of the buffer should be set
pw_stream_flags_PW_STREAM_FLAG_ASYNC
< Buffers will not be dequeued/queued from the realtime process() function. This is assumed when RT_PROCESS is unset but can also be the case when the process() function does a trigger_process() that will then dequeue/queue a buffer from another process() function. since 0.3.73
pw_stream_flags_PW_STREAM_FLAG_AUTOCONNECT
< try to automatically connect this stream
pw_stream_flags_PW_STREAM_FLAG_DONT_RECONNECT
< don’t try to reconnect this stream when the sink/source is removed
pw_stream_flags_PW_STREAM_FLAG_DRIVER
< be a driver
pw_stream_flags_PW_STREAM_FLAG_EARLY_PROCESS
< Call process as soon as there is a buffer to dequeue. This is only relevant for playback and when not using RT_PROCESS. It can be used to keep the maximum number of buffers queued. Since 0.3.81
pw_stream_flags_PW_STREAM_FLAG_EXCLUSIVE
< require exclusive access to the device
pw_stream_flags_PW_STREAM_FLAG_INACTIVE
< start the stream inactive, pw_stream_set_active() needs to be called explicitly
pw_stream_flags_PW_STREAM_FLAG_MAP_BUFFERS
< mmap the buffers except DmaBuf that is not explicitly marked as mappable.
pw_stream_flags_PW_STREAM_FLAG_NONE
< no flags
pw_stream_flags_PW_STREAM_FLAG_NO_CONVERT
< don’t convert format
pw_stream_flags_PW_STREAM_FLAG_RT_PROCESS
< call process from the realtime thread. You MUST use RT safe functions in the process callback.
pw_stream_flags_PW_STREAM_FLAG_RT_TRIGGER_DONE
< Call trigger_done from the realtime thread. You MUST use RT safe functions in the trigger_done callback. Since 1.1.0
pw_stream_flags_PW_STREAM_FLAG_TRIGGER
< the output stream will not be scheduled automatically but _trigger_process() needs to be called. This can be used when the output of the stream depends on input from other streams.
pw_stream_state_PW_STREAM_STATE_CONNECTING
< connection is in progress
pw_stream_state_PW_STREAM_STATE_ERROR
< the stream is in error
pw_stream_state_PW_STREAM_STATE_PAUSED
< paused
pw_stream_state_PW_STREAM_STATE_STREAMING
< streaming
pw_stream_state_PW_STREAM_STATE_UNCONNECTED
< unconnected

Statics§

PW_LOG_TOPIC_DEFAULT
pw_log_level
\addtogroup pw_log { / /** The global log level

Functions§

pw_buffers_clear
pw_buffers_negotiate
pw_check_library_version
Return TRUE if the currently linked PipeWire library version is equal or newer than the specified version. Since 0.3.75
pw_check_option
pw_client_info_free
Free a \ref pw_client_info
pw_client_info_merge
Merge an existing \ref pw_client_info with \a update
pw_client_info_update
Update an existing \ref pw_client_info with \a update with reset
pw_conf_find_match
pw_conf_load_conf
pw_conf_load_conf_for_context
\addtogroup pw_conf {
pw_conf_load_state
pw_conf_match_rules
pw_conf_save_state
pw_conf_section_for_each
pw_conf_section_match_rules
pw_conf_section_update_props
pw_conf_section_update_props_rules
pw_context_acquire_loop
Get a data-loop. Since 1.1.0
pw_context_add_listener
Add a new event listener to a context
pw_context_add_spa_lib
add a spa library for the given factory_name regex
pw_context_conf_section_for_each
emit callback for all config sections. Since 0.3.45
pw_context_conf_section_match_rules
emit callback for all matched properties. Since 0.3.46
pw_context_conf_update_props
update properties from a section into props. Since 0.3.45
pw_context_connect
Connect to a PipeWire instance
pw_context_connect_fd
Connect to a PipeWire instance on the given socket
pw_context_connect_self
Connect to a given PipeWire instance
pw_context_create_client
Create a new client. This is mainly used by protocols.
pw_context_create_core
pw_context_create_device
pw_context_create_factory
pw_context_create_link
Make a new link between two ports \return a newly allocated link
pw_context_create_metadata
pw_context_create_node
Create a new node
pw_context_create_port
Create a new port \return a newly allocated port
pw_context_destroy
destroy a context object, all resources except the main_loop will be destroyed
pw_context_find_export_type
find information about registered export type
pw_context_find_factory
Find a factory by name
pw_context_find_global
Find a context global by id.
pw_context_find_protocol
pw_context_find_spa_lib
find the library name for a spa factory
pw_context_for_each_global
Iterate the globals of the context. The callback should return 0 to fetch the next item, any other value stops the iteration and returns the value. When all callbacks return 0, this function returns 0 when all globals are iterated.
pw_context_get_conf_section
Get a config section for this context. Since 0.3.22, deprecated, use pw_context_conf_section_for_each().
pw_context_get_data_loop
Get the context data loop. This loop runs on the realtime thread. This acquires a loop from the generic data.rt class. Use pw_context_acquire_loop() instead. Since 0.3.56
pw_context_get_default_core
pw_context_get_main_loop
Get the context main loop. Returns the value passed to pw_context_new().
pw_context_get_mempool
Get the memory pool from the context: Since 0.3.74
pw_context_get_object
get an object from the context
pw_context_get_properties
Get the context properties
pw_context_get_support
Get the context support objects
pw_context_get_user_data
Get the context user data
pw_context_get_work_queue
Get the work queue from the context: Since 0.3.26
pw_context_load_module
pw_context_load_spa_handle
Load a SPA handle from a context. On failure returns NULL and sets errno.
pw_context_new
Make a new context object for a given main_loop. Ownership of the properties is taken, even if the function returns NULL.
pw_context_parse_conf_section
Parse a standard config section for this context. Since 0.3.22
pw_context_register_export_type
register a type that can be exported on a context_proxy. This is usually used by extension modules
pw_context_release_loop
Release a data-loop. Since 1.1.0
pw_context_set_object
add an object to the context
pw_context_update_properties
Update the context properties
pw_control_add_listener
Add an event listener on the control. May be called multiple times. Each listener must be removed, but they may be removed in any order.
pw_control_get_port
Get the control parent port or NULL when not set
pw_core_disconnect
disconnect and destroy a core
pw_core_export
Export an object into the PipeWire instance associated with core
pw_core_find_proxy
Get the proxy with the given id
pw_core_get_client
Get the client proxy of the connected core. This will have the id of PW_ID_CLIENT (1)
pw_core_get_context
Get the context object used to created this core
pw_core_get_mempool
Get the core mempool object
pw_core_get_properties
Get properties from the core
pw_core_get_user_data
Get the user_data. It is of the size specified when this object was constructed
pw_core_info_free
Free a \ref pw_core_info
pw_core_info_merge
Update an existing \ref pw_core_info with \a update. When info is NULL, a new one will be allocated. Returns NULL on failure
pw_core_info_update
Update an existing \ref pw_core_info with \a update with reset. When info is NULL, a new one will be allocated. Returns NULL on failure.
pw_core_set_paused
Pause or resume the core. When the core is paused, no new events will be dispatched until the core is resumed again.
pw_core_steal_fd
Steal the fd of the core connection or < 0 on error. The core will be disconnected after this call.
pw_core_update_properties
Update the core properties. This updates the properties of the associated client. \return the number of properties that were updated
pw_data_loop_add_listener
Add an event listener to loop
pw_data_loop_destroy
Destroy the loop
pw_data_loop_exit
make sure the thread will exit. Can be called from a loop callback
pw_data_loop_get_class
Get the loop class. Since 1.1.0
pw_data_loop_get_loop
Get the loop implementation of this data loop
pw_data_loop_get_name
Get the loop name. Since 1.1.0
pw_data_loop_get_thread
Get the thread object
pw_data_loop_in_thread
Check if the current thread is the processing thread. May be called from any thread.
pw_data_loop_invoke
invoke func in the context of the thread or in the caller thread when the loop is not running. May be called from the loop’s thread, but otherwise can only be called by a single thread at a time. If called from the loop’s thread, all callbacks previously queued with pw_data_loop_invoke() will be run synchronously, which might cause unexpected reentrancy problems.
pw_data_loop_new
Make a new loop.
pw_data_loop_set_thread_utils
Set a custom spa_thread_utils for this loop. Setting NULL restores the system default implementation. Since 0.3.50
pw_data_loop_start
Start the processing thread
pw_data_loop_stop
Stop the processing thread
pw_data_loop_wait
wait for activity on the loop up to \a timeout milliseconds. Should be called from the loop function
pw_debug_is_category_enabled
pw_deinit
pw_device_info_free
Free a \ref pw_device_info
pw_device_info_merge
Merge and existing \ref pw_device_info with \a update
pw_device_info_update
Update and existing \ref pw_device_info with \a update and reset
pw_direction_as_string
Convert a \ref pw_direction to a readable string
pw_direction_reverse
pw_factory_info_free
pw_factory_info_merge
pw_factory_info_update
pw_filter_add_listener
pw_filter_add_port
add a port to the filter, returns user data of port_data_size.
pw_filter_connect
Connect a filter for processing. \return 0 on success < 0 on error.
pw_filter_dequeue_buffer
Get a buffer that can be filled for output ports or consumed for input ports. RT safe.
pw_filter_destroy
Destroy a filter
pw_filter_disconnect
Disconnect \a filter
pw_filter_emit_event
Emit an event from this filter. RT safe. Since 1.2.6
pw_filter_flush
Flush a filter. When \a drain is true, the drained callback will be called when all data is played or recorded. The filter can be resumed after the drain by setting it active again with \ref pw_filter_set_active(). A flush without a drain is mostly useful afer a state change to PAUSED, to flush any remaining data from the queues. RT safe.
pw_filter_get_core
pw_filter_get_data_loop
Get the data loop that is doing the processing of this filter. This loop is assigned after pw_filter_connect(). Since 1.1.0
pw_filter_get_dsp_buffer
Get a data pointer to the buffer data. RT safe.
pw_filter_get_name
pw_filter_get_node_id
Get the node ID of the filter. \return node ID.
pw_filter_get_nsec
Get the current time in nanoseconds. This value can be compared with the nsec value in the spa_io_position. RT safe. Since 1.1.0
pw_filter_get_properties
get properties, port_data of NULL will give global properties
pw_filter_get_state
Get the current filter state. Since 1.4 this also sets errno when the state is PW_FILTER_STATE_ERROR
pw_filter_get_time
Query the time on the filter, deprecated, use the spa_io_position in the process() method for timing information. RT safe.
pw_filter_is_driving
Check if the filter is driving. The filter needs to have the PW_FILTER_FLAG_DRIVER set. When the filter is driving, pw_filter_trigger_process() needs to be called when data is available (output) or needed (input). Since 0.3.66
pw_filter_is_lazy
Check if the graph is using lazy scheduling. Since 1.4.0
pw_filter_new
Create a new unconnected \ref pw_filter \return a newly allocated \ref pw_filter
pw_filter_new_simple
pw_filter_queue_buffer
Submit a buffer for playback or recycle a buffer for capture. RT safe.
pw_filter_remove_port
remove a port from the filter
pw_filter_set_active
Activate or deactivate the filter
pw_filter_set_error
Set the filter in error state
pw_filter_state_as_string
Convert a filter state to a readable string
pw_filter_trigger_process
Trigger a push/pull on the filter. One iteration of the graph will be scheduled and process() will be called. RT safe. Since 0.3.66
pw_filter_update_params
Update params, use NULL port_data for global filter params
pw_filter_update_properties
Update properties, use NULL port_data for global filter properties
pw_free_strv
pw_get_application_name
pw_get_client_name
pw_get_domain
pw_get_host_name
pw_get_library_version
Return the version of the library the current application is linked to.
pw_get_prgname
pw_get_support
pw_get_user_name
pw_getrandom
pw_global_add_listener
Add an event listener on the global
pw_global_add_resource
Add a resource to a global
pw_global_bind
Let a client bind to a global
pw_global_destroy
Destroy a global
pw_global_for_each_resource
Iterate all resources added to the global The callback should return 0 to fetch the next item, any other value stops the iteration and returns the value. When all callbacks return 0, this function returns 0 when all items are iterated.
pw_global_get_context
Get the context object of this global
pw_global_get_id
Get the unique id of the global
pw_global_get_object
Get the object associated with the global. This depends on the type of the global
pw_global_get_permissions
Get the permissions of the global for a given client
pw_global_get_properties
Get the global properties
pw_global_get_serial
Get the serial number of the global
pw_global_get_type
Get the global type
pw_global_get_version
Get the global version
pw_global_is_type
Check a global type
pw_global_new
Create a new global object
pw_global_register
Register a global object to the context registry
pw_global_update_keys
Update the global properties, must be done when unregistered
pw_global_update_permissions
pw_impl_client_add_listener
listen to events from this client
pw_impl_client_check_permissions
check if a client has permissions for global_id, Since 0.3.9
pw_impl_client_destroy
Destroy a previously created client
pw_impl_client_find_resource
Get a resource with the given id
pw_impl_client_get_context
Get the context used to create this client
pw_impl_client_get_core_resource
Get the client core resource
pw_impl_client_get_global
Get the global associated with this client
pw_impl_client_get_info
Get the client information
pw_impl_client_get_mempool
Get the mempool associated with this client, Since 0.3.74
pw_impl_client_get_properties
Get the client properties
pw_impl_client_get_protocol
Get the protocol used to create this client
pw_impl_client_get_user_data
Get the client user data
pw_impl_client_register
Finish configuration and register a client
pw_impl_client_set_busy
Mark the client busy. This can be used when an asynchronous operation is started and no further processing is allowed to happen for the client
pw_impl_client_update_permissions
Update the client permissions
pw_impl_client_update_properties
Update the client properties
pw_impl_core_add_listener
Add an event listener
pw_impl_core_destroy
pw_impl_core_get_global
Get the global of this core
pw_impl_core_get_info
Get the core information
pw_impl_core_get_properties
Get the core properties
pw_impl_core_get_user_data
pw_impl_core_register
pw_impl_core_update_properties
Update the core properties
pw_impl_device_add_listener
Add an event listener
pw_impl_device_destroy
pw_impl_device_for_each_param
pw_impl_device_get_global
Get the global of this device
pw_impl_device_get_implementation
Get the device implementation
pw_impl_device_get_properties
pw_impl_device_get_user_data
pw_impl_device_register
pw_impl_device_set_implementation
Set the device implementation
pw_impl_device_update_properties
pw_impl_factory_add_listener
Add an event listener
pw_impl_factory_create_object
pw_impl_factory_destroy
pw_impl_factory_get_global
Get the global of this factory
pw_impl_factory_get_info
Get the factory info
pw_impl_factory_get_properties
Get the factory properties
pw_impl_factory_get_user_data
pw_impl_factory_register
pw_impl_factory_set_implementation
pw_impl_factory_update_properties
Update the factory properties
pw_impl_link_add_listener
Add an event listener to \a link
pw_impl_link_destroy
Destroy a link
pw_impl_link_find
Find the link between 2 ports
pw_impl_link_get_context
Get the context of a link
pw_impl_link_get_global
Get the global of the link
pw_impl_link_get_info
Get the link info
pw_impl_link_get_input
Get the input port of the link
pw_impl_link_get_output
Get the output port of the link
pw_impl_link_get_user_data
Get the user_data of a link, the size of the memory is given when constructing the link
pw_impl_link_register
Finish link configuration and register
pw_impl_metadata_add_listener
Add an event listener
pw_impl_metadata_destroy
pw_impl_metadata_get_global
Get the global of this metadata
pw_impl_metadata_get_implementation
pw_impl_metadata_get_properties
Get the metadata properties
pw_impl_metadata_get_user_data
pw_impl_metadata_register
pw_impl_metadata_set_implementation
pw_impl_metadata_set_property
Set a property
pw_impl_metadata_set_propertyf
pw_impl_module_add_listener
Add an event listener to a module
pw_impl_module_destroy
Destroy a module
pw_impl_module_get_context
Get the context of a module
pw_impl_module_get_global
Get the global of a module
pw_impl_module_get_info
Get the module info
pw_impl_module_get_properties
Get the module properties
pw_impl_module_schedule_destroy
Schedule a destroy later on the main thread
pw_impl_module_update_properties
Update the module properties
pw_impl_node_add_listener
Add an event listener
pw_impl_node_add_rt_listener
Add an rt_event listener
pw_impl_node_destroy
Destroy a node
pw_impl_node_find_port
Find the port with direction and port_id or NULL when not found. Passing PW_ID_ANY for port_id will return any port, preferably an unlinked one.
pw_impl_node_for_each_param
pw_impl_node_for_each_port
Iterate the ports in the given direction. The callback should return 0 to fetch the next item, any other value stops the iteration and returns the value. When all callbacks return 0, this function returns 0 when all items are iterated.
pw_impl_node_get_context
Get the context of this node
pw_impl_node_get_free_port_id
Get a free unused port_id from the node
pw_impl_node_get_global
Get the global of this node
pw_impl_node_get_implementation
Get the node implementation
pw_impl_node_get_info
Get the node info
pw_impl_node_get_properties
Get the node properties
pw_impl_node_get_user_data
Get node user_data. The size of the memory was given in \ref pw_context_create_node
pw_impl_node_initialized
pw_impl_node_is_active
Check if a node is active
pw_impl_node_register
Complete initialization of the node and register
pw_impl_node_remove_rt_listener
pw_impl_node_send_command
Check if a node is active, Since 0.3.39
pw_impl_node_set_active
Set a node active. This will start negotiation with all linked active nodes and start data transport
pw_impl_node_set_implementation
Set the node implementation
pw_impl_node_set_param
Set a param on the node, Since 0.3.65
pw_impl_node_update_properties
Update the node properties
pw_impl_port_add
Add a port to a node
pw_impl_port_add_listener
Add an event listener on the port
pw_impl_port_get_direction
Get the port direction
pw_impl_port_get_id
Get the port id
pw_impl_port_get_info
Get the port info
pw_impl_port_get_node
Get the port parent node or NULL when not yet set
pw_impl_port_get_properties
Get the port properties
pw_impl_port_is_linked
check is a port has links, return 0 if not, 1 if it is linked
pw_impl_port_state_as_string
Get the port state as a string
pw_impl_port_update_properties
Update the port properties
pw_init
\addtogroup pw_pipewire {
pw_link_info_free
pw_link_info_merge
pw_link_info_update
pw_link_state_as_string
Convert a \ref pw_link_state to a readable string
pw_load_spa_handle
pw_log_get
Get the log interface
pw_log_log
Log a message for the default topic
pw_log_logt
Log a message for a topic
pw_log_logtv
Log a message for a topic
pw_log_logv
Log a message for the default topic
pw_log_set
Configure a logging module. This is usually done automatically in pw_init() but you can install a custom logger before calling pw_init().
pw_log_set_level
Configure the logging level
pw_log_set_level_string
Configure the logging level using a string in PIPEWIRE_DEBUG format.
pw_log_topic_register
Register log topic with the logger, to enable dynamic log levels. Topic must be unregistered before freeing it or plugin unload. May be used instead of \ref PW_LOG_TOPIC_INIT This function is threadsafe.
pw_log_topic_unregister
Unregister log topic. This function is threadsafe.
pw_loop_destroy
pw_loop_new
pw_loop_set_name
pw_main_loop_add_listener
Add an event listener
pw_main_loop_destroy
Destroy a loop
pw_main_loop_get_loop
Get the loop implementation
pw_main_loop_new
Create a new main loop.
pw_main_loop_quit
Quit a main loop
pw_main_loop_run
Run a main loop. This blocks until \ref pw_main_loop_quit is called.
pw_memblock_free
Free a memblock regardless of the refcount and destroy all mappings
pw_memblock_map
Map a region of a memory block
pw_memmap_free
Unmap a region
pw_mempool_add_listener
Listen for events
pw_mempool_alloc
Allocate a memory block from the pool
pw_mempool_clear
Clear a pool
pw_mempool_destroy
Clear and destroy a pool
pw_mempool_find_fd
Find memblock for given \a fd
pw_mempool_find_id
Find memblock for given \a id
pw_mempool_find_ptr
Find memblock for given \a ptr
pw_mempool_find_tag
find a map with the given tag
pw_mempool_import
Import an fd into the pool
pw_mempool_import_block
Import a block from another pool
pw_mempool_import_map
pw_mempool_map_id
Map a region of a memory block with \a id
pw_mempool_new
Create a new memory pool
pw_mempool_remove_id
Remove a memblock for given \a id
pw_module_info_free
Free a \ref pw_module_info
pw_module_info_merge
Merge and existing \ref pw_module_info with \a update
pw_module_info_update
Update and existing \ref pw_module_info with \a update with reset
pw_node_info_free
pw_node_info_merge
pw_node_info_update
pw_node_state_as_string
Convert a \ref pw_node_state to a readable string
pw_port_info_free
pw_port_info_merge
pw_port_info_update
pw_properties_add
pw_properties_add_keys
pw_properties_clear
pw_properties_copy
pw_properties_fetch_bool
pw_properties_fetch_int32
pw_properties_fetch_int64
pw_properties_fetch_uint32
pw_properties_fetch_uint64
pw_properties_free
pw_properties_get
pw_properties_iterate
pw_properties_new
pw_properties_new_dict
pw_properties_new_string
pw_properties_new_string_checked
pw_properties_serialize_dict
pw_properties_set
pw_properties_setf
pw_properties_setva
pw_properties_update
pw_properties_update_ignore
pw_properties_update_keys
pw_properties_update_string
pw_properties_update_string_checked
pw_protocol_add_listener
pw_protocol_add_marshal
pw_protocol_destroy
pw_protocol_get_context
pw_protocol_get_extension
pw_protocol_get_implementation
pw_protocol_get_marshal
pw_protocol_get_user_data
pw_protocol_new
pw_proxy_add_listener
Add an event listener to proxy
pw_proxy_add_object_listener
Add a listener for the events received from the remote object. The events depend on the type of the remote object type.
pw_proxy_destroy
destroy a proxy
pw_proxy_error
Generate an error for a proxy
pw_proxy_errorf
pw_proxy_get_bound_id
Get the global id bound to this proxy of SPA_ID_INVALID when not bound to a global
pw_proxy_get_id
Get the local id of the proxy
pw_proxy_get_marshal
Get the marshal functions for the proxy
pw_proxy_get_object_listeners
Get the listener of proxy
pw_proxy_get_protocol
Get the protocol used for the proxy
pw_proxy_get_type
Get the type and version of the proxy
pw_proxy_get_user_data
Get the user_data. The size was given in \ref pw_proxy_new
pw_proxy_install_marshal
Install a marshal function on a proxy
pw_proxy_new
pw_proxy_ref
pw_proxy_set_bound_id
Set the global id this proxy is bound to. This is usually used internally and will also emit the bound event
pw_proxy_sync
Generate an sync method for a proxy. This will generate a done event with the same seq number of the reply.
pw_proxy_unref
pw_random
pw_reallocarray
pw_resource_add_listener
Add an event listener
pw_resource_add_object_listener
Set the resource implementation.
pw_resource_destroy
Destroy a resource
pw_resource_error
Generate an error for a resource
pw_resource_errorf
pw_resource_errorf_id
pw_resource_get_bound_id
Get the global id this resource is bound to or SPA_ID_INVALID when not bound
pw_resource_get_client
Get the client owning this resource
pw_resource_get_id
Get the unique id of this resource
pw_resource_get_marshal
Get the marshal functions for the resource
pw_resource_get_object_listeners
Get the list of object listeners from a resource
pw_resource_get_permissions
Get the permissions of this resource
pw_resource_get_protocol
Get the protocol used for this resource
pw_resource_get_type
Get the type and optionally the version of this resource
pw_resource_get_user_data
Get the user data for the resource, the size was given in \ref pw_resource_new
pw_resource_install_marshal
install a marshal function on a resource
pw_resource_new
Make a new resource for client
pw_resource_ping
Generate an ping event for a resource. This will generate a pong event with the same \a sequence number in the return value.
pw_resource_ref
ref/unref a resource, Since 0.3.52
pw_resource_remove
Remove a resource, like pw_resource_destroy but without sending a remove_id message to the client
pw_resource_set_bound_id
Notify global id this resource is bound to
pw_resource_unref
pw_set_domain
pw_split_ip
pw_split_strv
pw_split_walk
pw_stream_add_listener
pw_stream_connect
Connect a stream for input or output on \a port_path. \return 0 on success < 0 on error.
pw_stream_dequeue_buffer
Get a buffer that can be filled for playback streams or consumed for capture streams. RT safe.
pw_stream_destroy
Destroy a stream
pw_stream_disconnect
Disconnect \a stream
pw_stream_emit_event
Emit an event from this stream. RT safe. Since 1.2.6
pw_stream_flush
Flush a stream. When \a drain is true, the drained callback will be called when all data is played or recorded. The stream can be resumed after the drain by setting it active again with \ref pw_stream_set_active(). A flush without a drain is mostly useful afer a state change to PAUSED, to flush any remaining data from the queues and the converters. RT safe.
pw_stream_get_control
Get control values
pw_stream_get_core
pw_stream_get_data_loop
Get the data loop that is doing the processing of this stream. This loop is assigned after pw_stream_connect(). * Since 1.1.0
pw_stream_get_name
pw_stream_get_node_id
Get the node ID of the stream. \return node ID.
pw_stream_get_nsec
Get the current time in nanoseconds. This value can be compared with the \ref pw_time.now value. RT safe. Since 1.1.0
pw_stream_get_properties
pw_stream_get_state
Get the current stream state. Since 1.4 this also sets errno when the state is PW_STREAM_STATE_ERROR
pw_stream_get_time
Query the time on the stream, deprecated since 0.3.50, use pw_stream_get_time_n() to get the fields added since 0.3.50. RT safe.
pw_stream_get_time_n
Query the time on the stream, RT safe
pw_stream_is_driving
Check if the stream is driving. The stream needs to have the PW_STREAM_FLAG_DRIVER set. When the stream is driving, pw_stream_trigger_process() needs to be called when data is available (output) or needed (input). Since 0.3.34
pw_stream_is_lazy
Check if the graph is using lazy scheduling. If the stream is driving according to \ref pw_stream_is_driving(), then it should consider taking into account the RequestProcess commands when driving the graph.
pw_stream_new
Create a new unconnected \ref pw_stream \return a newly allocated \ref pw_stream
pw_stream_new_simple
pw_stream_queue_buffer
Submit a buffer for playback or recycle a buffer for capture. RT safe.
pw_stream_return_buffer
Return a buffer to the queue without using it. This makes the buffer immediately available to dequeue again. RT safe.
pw_stream_set_active
Activate or deactivate the stream
pw_stream_set_control
Set control values
pw_stream_set_error
Set the stream in error state
pw_stream_set_param
Set a parameter on the stream. This is like pw_stream_set_control() but with a complete spa_pod param. It can also be called from the param_changed event handler to intercept and modify the param for the adapter. Since 0.3.70
pw_stream_set_rate
Adjust the rate of the stream. When the stream is using an adaptive resampler, adjust the resampler rate. When there is no resampler, -ENOTSUP is returned. Activating the adaptive resampler will add a small amount of delay to the samples, you can deactivate it again by setting a value <= 0.0. RT safe. Since 1.4.0
pw_stream_state_as_string
Convert a stream state to a readable string
pw_stream_trigger_process
Trigger a push/pull on the stream. One iteration of the graph will be scheduled when the stream is driving according to \ref pw_stream_is_driving(). If it successfully finishes, process() will be called and the trigger_done event will be emitted. It is possible for the graph iteration to not finish, so pw_stream_trigger_process() needs to be called again even if process() and trigger_done is not called.
pw_stream_update_params
Update the param exposed on the stream.
pw_stream_update_properties
pw_strip
pw_strv_find
pw_strv_find_common
pw_strv_parse
pw_thread_loop_accept
Signal all threads executing \ref pw_thread_loop_signal with wait_for_accept
pw_thread_loop_add_listener
Add an event listener
pw_thread_loop_destroy
Destroy a thread loop
pw_thread_loop_get_loop
Get the loop implementation of the thread loop
pw_thread_loop_get_time
Get a struct timespec suitable for \ref pw_thread_loop_timed_wait_full. Since: 0.3.7
pw_thread_loop_in_thread
Check if inside the thread
pw_thread_loop_lock
Lock the loop. This ensures exclusive ownership of the loop
pw_thread_loop_new
Make a new thread loop with the given name and optional properties.
pw_thread_loop_new_full
Make a new thread loop with the given loop, name and optional properties. When \a loop is NULL, a new loop will be created.
pw_thread_loop_signal
Signal all threads waiting with \ref pw_thread_loop_wait
pw_thread_loop_start
Start the thread loop
pw_thread_loop_stop
Stop the thread loop
pw_thread_loop_timed_wait
Release the lock and wait a maximum of ‘wait_max_sec’ seconds until some thread calls \ref pw_thread_loop_signal or time out
pw_thread_loop_timed_wait_full
Release the lock and wait up to \a abstime until some thread calls \ref pw_thread_loop_signal. Use \ref pw_thread_loop_get_time to make a timeout. Since: 0.3.7
pw_thread_loop_unlock
Unlock the loop
pw_thread_loop_wait
Release the lock and wait until some thread calls \ref pw_thread_loop_signal
pw_type_info
pw_unload_spa_handle
pw_work_queue_add
pw_work_queue_cancel
pw_work_queue_complete
pw_work_queue_destroy
pw_work_queue_new

Type Aliases§

FILE
_IO_lock_t
__builtin_va_list
__gnuc_va_list
__off64_t
__off_t
__syscall_slong_t
__time_t
_bindgen_ty_11
\addtogroup pw_type {
pw_destroy_t
a function to destroy an item
pw_endpoint_link_state
\addtogroup pw_session_manager {
pw_filter_flags
\enum pw_filter_flags Extra flags that can be used in \ref pw_filter_connect()
pw_filter_port_flags
pw_filter_state
\enum pw_filter_state The state of a filter
pw_global_bind_func_t
pw_impl_module_init_func_t
Module init function signature
pw_impl_port_state
pw_link_state
\enum pw_link_state The different link states
pw_memblock_flags
Flags passed to \ref pw_mempool_alloc()
pw_memmap_flags
pw_node_state
\enum pw_node_state The different node states
pw_stream_flags
\enum pw_stream_flags Extra flags that can be used in \ref pw_stream_connect()
pw_stream_state
\enum pw_stream_state The state of a stream
pw_work_func_t
va_list

Unions§

pw_map_item
\private An entry in the map. This is used internally only. Each element in the backing pw_array is a union pw_map_item. For real items, the data pointer points to the item. If an element has been removed, pw_map->free_list is the index of the most recently removed item. That item contains the index of the next removed item until item->next is SPA_ID_INVALID.