PipeWire  0.3.59
device.h File Reference

spa/monitor/device.h More...

Go to the source code of this file.

Data Structures

struct  spa_device
 
struct  spa_device_info
 Information about the device and parameters it supports. More...
 
struct  spa_device_object_info
 Information about a device object. More...
 
struct  spa_result_device_params
 
struct  spa_device_events
 spa_device_events: More...
 
struct  spa_device_methods
 spa_device_methods: More...
 

Macros

#define SPA_TYPE_INTERFACE_Device   SPA_TYPE_INFO_INTERFACE_BASE "Device"
 
#define SPA_VERSION_DEVICE   0
 
#define SPA_VERSION_DEVICE_INFO   0
 
#define SPA_DEVICE_CHANGE_MASK_FLAGS   (1u<<0)
 
#define SPA_DEVICE_CHANGE_MASK_PROPS   (1u<<1)
 
#define SPA_DEVICE_CHANGE_MASK_PARAMS   (1u<<2)
 
#define SPA_DEVICE_INFO_INIT()   ((struct spa_device_info){ SPA_VERSION_DEVICE_INFO, })
 
#define SPA_VERSION_DEVICE_OBJECT_INFO   0
 
#define SPA_DEVICE_OBJECT_CHANGE_MASK_FLAGS   (1u<<0)
 
#define SPA_DEVICE_OBJECT_CHANGE_MASK_PROPS   (1u<<1)
 
#define SPA_DEVICE_OBJECT_INFO_INIT()   ((struct spa_device_object_info){ SPA_VERSION_DEVICE_OBJECT_INFO, })
 
#define SPA_RESULT_TYPE_DEVICE_PARAMS   1
 the result of spa_device_enum_params() More...
 
#define SPA_DEVICE_EVENT_INFO   0
 
#define SPA_DEVICE_EVENT_RESULT   1
 
#define SPA_DEVICE_EVENT_EVENT   2
 
#define SPA_DEVICE_EVENT_OBJECT_INFO   3
 
#define SPA_DEVICE_EVENT_NUM   4
 
#define SPA_VERSION_DEVICE_EVENTS   0
 version of the structure More...
 
#define SPA_DEVICE_METHOD_ADD_LISTENER   0
 
#define SPA_DEVICE_METHOD_SYNC   1
 
#define SPA_DEVICE_METHOD_ENUM_PARAMS   2
 
#define SPA_DEVICE_METHOD_SET_PARAM   3
 
#define SPA_DEVICE_METHOD_NUM   4
 
#define SPA_VERSION_DEVICE_METHODS   0
 
#define spa_device_method(o, method, version, ...)
 
#define spa_device_add_listener(d, ...)   spa_device_method(d, add_listener, 0, __VA_ARGS__)
 Set events to receive asynchronous notifications from the device. More...
 
#define spa_device_sync(d, ...)   spa_device_method(d, sync, 0, __VA_ARGS__)
 Perform a sync operation. More...
 
#define spa_device_enum_params(d, ...)   spa_device_method(d, enum_params, 0, __VA_ARGS__)
 Enumerate the parameters of a device. More...
 
#define spa_device_set_param(d, ...)   spa_device_method(d, set_param, 0, __VA_ARGS__)
 Set the configurable parameter in device. More...
 
#define SPA_KEY_DEVICE_ENUM_API   "device.enum.api"
 the api used to discover this device More...
 
#define SPA_KEY_DEVICE_API   "device.api"
 the api used by the device Ex. More...
 
#define SPA_KEY_DEVICE_NAME   "device.name"
 the name of the device More...
 
#define SPA_KEY_DEVICE_ALIAS   "device.alias"
 alternative name of the device More...
 
#define SPA_KEY_DEVICE_NICK   "device.nick"
 the device short name More...
 
#define SPA_KEY_DEVICE_DESCRIPTION   "device.description"
 a device description More...
 
#define SPA_KEY_DEVICE_ICON   "device.icon"
 icon for the device. More...
 
#define SPA_KEY_DEVICE_ICON_NAME   "device.icon-name"
 an XDG icon name for the device. More...
 
#define SPA_KEY_DEVICE_PLUGGED_USEC   "device.plugged.usec"
 when the device was plugged More...
 
#define SPA_KEY_DEVICE_BUS_ID   "device.bus-id"
 the device bus-id More...
 
#define SPA_KEY_DEVICE_BUS_PATH   "device.bus-path"
 bus path to the device in the OS' format. More...
 
#define SPA_KEY_DEVICE_BUS   "device.bus"
 bus of the device if applicable. More...
 
#define SPA_KEY_DEVICE_SUBSYSTEM   "device.subsystem"
 device subsystem More...
 
#define SPA_KEY_DEVICE_SYSFS_PATH   "device.sysfs.path"
 device sysfs path More...
 
#define SPA_KEY_DEVICE_VENDOR_ID   "device.vendor.id"
 vendor ID if applicable More...
 
#define SPA_KEY_DEVICE_VENDOR_NAME   "device.vendor.name"
 vendor name if applicable More...
 
#define SPA_KEY_DEVICE_PRODUCT_ID   "device.product.id"
 product ID if applicable More...
 
#define SPA_KEY_DEVICE_PRODUCT_NAME   "device.product.name"
 product name if applicable More...
 
#define SPA_KEY_DEVICE_SERIAL   "device.serial"
 Serial number if applicable. More...
 
#define SPA_KEY_DEVICE_CLASS   "device.class"
 device class More...
 
#define SPA_KEY_DEVICE_CAPABILITIES   "device.capabilities"
 api specific device capabilities More...
 
#define SPA_KEY_DEVICE_FORM_FACTOR   "device.form-factor"
 form factor if applicable. More...
 
#define SPA_KEY_DEVICE_PROFILE   "device.profile "
 profile for the device More...
 
#define SPA_KEY_DEVICE_PROFILE_SET   "device.profile-set"
 profile set for the device More...
 
#define SPA_KEY_DEVICE_STRING   "device.string"
 device string in the underlying layer's format. More...
 

Detailed Description