PipeWire  0.3.33
src/pipewire/device.h File Reference

Go to the source code of this file.

Data Structures

struct  pw_device_info
 The device information. More...
 
struct  pw_device_events
 Device events. More...
 
struct  pw_device_methods
 Device methods. More...
 

Macros

#define PW_TYPE_INTERFACE_Device   PW_TYPE_INFO_INTERFACE_BASE "Device"
 
#define PW_VERSION_DEVICE   3
 
#define PW_DEVICE_CHANGE_MASK_PROPS   (1 << 0)
 
#define PW_DEVICE_CHANGE_MASK_PARAMS   (1 << 1)
 
#define PW_DEVICE_CHANGE_MASK_ALL   ((1 << 2)-1)
 
#define PW_DEVICE_EVENT_INFO   0
 
#define PW_DEVICE_EVENT_PARAM   1
 
#define PW_DEVICE_EVENT_NUM   2
 
#define PW_VERSION_DEVICE_EVENTS   0
 
#define PW_DEVICE_METHOD_ADD_LISTENER   0
 
#define PW_DEVICE_METHOD_SUBSCRIBE_PARAMS   1
 
#define PW_DEVICE_METHOD_ENUM_PARAMS   2
 
#define PW_DEVICE_METHOD_SET_PARAM   3
 
#define PW_DEVICE_METHOD_NUM   4
 
#define PW_VERSION_DEVICE_METHODS   0
 
#define pw_device_method(o, method, version, ...)
 
#define pw_device_add_listener(c, ...)   pw_device_method(c,add_listener,0,__VA_ARGS__)
 
#define pw_device_subscribe_params(c, ...)   pw_device_method(c,subscribe_params,0,__VA_ARGS__)
 
#define pw_device_enum_params(c, ...)   pw_device_method(c,enum_params,0,__VA_ARGS__)
 
#define pw_device_set_param(c, ...)   pw_device_method(c,set_param,0,__VA_ARGS__)
 

Functions

struct pw_device_infopw_device_info_update (struct pw_device_info *info, const struct pw_device_info *update)
 Update and existing pw_device_info with update. More...
 
void pw_device_info_free (struct pw_device_info *info)
 Free a pw_device_info. More...
 

Macro Definition Documentation

◆ pw_device_add_listener

#define pw_device_add_listener (   c,
  ... 
)    pw_device_method(c,add_listener,0,__VA_ARGS__)

◆ PW_DEVICE_CHANGE_MASK_ALL

#define PW_DEVICE_CHANGE_MASK_ALL   ((1 << 2)-1)

◆ PW_DEVICE_CHANGE_MASK_PARAMS

#define PW_DEVICE_CHANGE_MASK_PARAMS   (1 << 1)

◆ PW_DEVICE_CHANGE_MASK_PROPS

#define PW_DEVICE_CHANGE_MASK_PROPS   (1 << 0)

◆ pw_device_enum_params

#define pw_device_enum_params (   c,
  ... 
)    pw_device_method(c,enum_params,0,__VA_ARGS__)

◆ PW_DEVICE_EVENT_INFO

#define PW_DEVICE_EVENT_INFO   0

◆ PW_DEVICE_EVENT_NUM

#define PW_DEVICE_EVENT_NUM   2

◆ PW_DEVICE_EVENT_PARAM

#define PW_DEVICE_EVENT_PARAM   1

◆ pw_device_method

#define pw_device_method (   o,
  method,
  version,
  ... 
)
Value:
({ \
int _res = -ENOTSUP; \
spa_interface_call_res((struct spa_interface*)o, \
struct pw_device_methods, _res, \
method, version, ##__VA_ARGS__); \
_res; \
})

◆ PW_DEVICE_METHOD_ADD_LISTENER

#define PW_DEVICE_METHOD_ADD_LISTENER   0

◆ PW_DEVICE_METHOD_ENUM_PARAMS

#define PW_DEVICE_METHOD_ENUM_PARAMS   2

◆ PW_DEVICE_METHOD_NUM

#define PW_DEVICE_METHOD_NUM   4

◆ PW_DEVICE_METHOD_SET_PARAM

#define PW_DEVICE_METHOD_SET_PARAM   3

◆ PW_DEVICE_METHOD_SUBSCRIBE_PARAMS

#define PW_DEVICE_METHOD_SUBSCRIBE_PARAMS   1

◆ pw_device_set_param

#define pw_device_set_param (   c,
  ... 
)    pw_device_method(c,set_param,0,__VA_ARGS__)

◆ pw_device_subscribe_params

#define pw_device_subscribe_params (   c,
  ... 
)    pw_device_method(c,subscribe_params,0,__VA_ARGS__)

◆ PW_TYPE_INTERFACE_Device

#define PW_TYPE_INTERFACE_Device   PW_TYPE_INFO_INTERFACE_BASE "Device"

◆ PW_VERSION_DEVICE

#define PW_VERSION_DEVICE   3

◆ PW_VERSION_DEVICE_EVENTS

#define PW_VERSION_DEVICE_EVENTS   0

◆ PW_VERSION_DEVICE_METHODS

#define PW_VERSION_DEVICE_METHODS   0

Function Documentation

◆ pw_device_info_free()

void pw_device_info_free ( struct pw_device_info info)

◆ pw_device_info_update()

struct pw_device_info* pw_device_info_update ( struct pw_device_info info,
const struct pw_device_info update 
)
spa_interface
Definition: hook.h:146
pw_device_methods
Device methods.
Definition: src/pipewire/device.h:100