PipeWire 1.0.4
Loading...
Searching...
No Matches
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()
 
#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
 
#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.
 
#define spa_device_sync(d, ...)   spa_device_method(d, sync, 0, __VA_ARGS__)
 Perform a sync operation.
 
#define spa_device_enum_params(d, ...)   spa_device_method(d, enum_params, 0, __VA_ARGS__)
 Enumerate the parameters of a device.
 
#define spa_device_set_param(d, ...)   spa_device_method(d, set_param, 0, __VA_ARGS__)
 Set the configurable parameter in device.
 
#define SPA_KEY_DEVICE_ENUM_API   "device.enum.api"
 the api used to discover this device
 
#define SPA_KEY_DEVICE_API   "device.api"
 the api used by the device Ex.
 
#define SPA_KEY_DEVICE_NAME   "device.name"
 the name of the device
 
#define SPA_KEY_DEVICE_ALIAS   "device.alias"
 alternative name of the device
 
#define SPA_KEY_DEVICE_NICK   "device.nick"
 the device short name
 
#define SPA_KEY_DEVICE_DESCRIPTION   "device.description"
 a device description
 
#define SPA_KEY_DEVICE_ICON   "device.icon"
 icon for the device.
 
#define SPA_KEY_DEVICE_ICON_NAME   "device.icon-name"
 an XDG icon name for the device.
 
#define SPA_KEY_DEVICE_PLUGGED_USEC   "device.plugged.usec"
 when the device was plugged
 
#define SPA_KEY_DEVICE_BUS_ID   "device.bus-id"
 the device bus-id
 
#define SPA_KEY_DEVICE_BUS_PATH   "device.bus-path"
 bus path to the device in the OS' format.
 
#define SPA_KEY_DEVICE_BUS   "device.bus"
 bus of the device if applicable.
 
#define SPA_KEY_DEVICE_SUBSYSTEM   "device.subsystem"
 device subsystem
 
#define SPA_KEY_DEVICE_SYSFS_PATH   "device.sysfs.path"
 device sysfs path
 
#define SPA_KEY_DEVICE_VENDOR_ID   "device.vendor.id"
 vendor ID if applicable
 
#define SPA_KEY_DEVICE_VENDOR_NAME   "device.vendor.name"
 vendor name if applicable
 
#define SPA_KEY_DEVICE_PRODUCT_ID   "device.product.id"
 product ID if applicable
 
#define SPA_KEY_DEVICE_PRODUCT_NAME   "device.product.name"
 product name if applicable
 
#define SPA_KEY_DEVICE_SERIAL   "device.serial"
 Serial number if applicable.
 
#define SPA_KEY_DEVICE_CLASS   "device.class"
 device class
 
#define SPA_KEY_DEVICE_CAPABILITIES   "device.capabilities"
 api specific device capabilities
 
#define SPA_KEY_DEVICE_FORM_FACTOR   "device.form-factor"
 form factor if applicable.
 
#define SPA_KEY_DEVICE_PROFILE   "device.profile "
 profile for the device
 
#define SPA_KEY_DEVICE_PROFILE_SET   "device.profile-set"
 profile set for the device
 
#define SPA_KEY_DEVICE_STRING   "device.string"
 device string in the underlying layer's format.
 
#define SPA_KEY_DEVICE_DEVIDS   "device.devids"
 space separated list of device ids (dev_t) of the underlying device(s) if applicable
 

Detailed Description