Crate pipewire_sys Copy item path Source _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 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 PW_LOG_TOPIC_DEFAULT ⚠ pw_log_level ⚠ \addtogroup pw_log
{
/
/** The global log level 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 ⚠ 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 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.