PipeWire  0.3.49
Device

Device interface. More...

Files

file  device.h
 pipewire/device.h
 

Data Structures

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

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 and reset. More...
 
struct pw_device_infopw_device_info_merge (struct pw_device_info *info, const struct pw_device_info *update, bool reset)
 Merge and existing pw_device_info with update. More...
 
void pw_device_info_free (struct pw_device_info *info)
 Free a pw_device_info. More...
 

Detailed Description

Device interface.

Macro Definition Documentation

◆ PW_TYPE_INTERFACE_Device

#define PW_TYPE_INTERFACE_Device   PW_TYPE_INFO_INTERFACE_BASE "Device"
Examples:
export-spa-device.c.

◆ PW_VERSION_DEVICE

#define PW_VERSION_DEVICE   3
Examples:
export-spa-device.c.

◆ PW_DEVICE_CHANGE_MASK_PROPS

#define PW_DEVICE_CHANGE_MASK_PROPS   (1 << 0)

◆ PW_DEVICE_CHANGE_MASK_PARAMS

#define PW_DEVICE_CHANGE_MASK_PARAMS   (1 << 1)

◆ PW_DEVICE_CHANGE_MASK_ALL

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

◆ PW_DEVICE_EVENT_INFO

#define PW_DEVICE_EVENT_INFO   0

◆ PW_DEVICE_EVENT_PARAM

#define PW_DEVICE_EVENT_PARAM   1

◆ PW_DEVICE_EVENT_NUM

#define PW_DEVICE_EVENT_NUM   2

◆ PW_VERSION_DEVICE_EVENTS

#define PW_VERSION_DEVICE_EVENTS   0

◆ PW_DEVICE_METHOD_ADD_LISTENER

#define PW_DEVICE_METHOD_ADD_LISTENER   0

◆ PW_DEVICE_METHOD_SUBSCRIBE_PARAMS

#define PW_DEVICE_METHOD_SUBSCRIBE_PARAMS   1

◆ PW_DEVICE_METHOD_ENUM_PARAMS

#define PW_DEVICE_METHOD_ENUM_PARAMS   2

◆ PW_DEVICE_METHOD_SET_PARAM

#define PW_DEVICE_METHOD_SET_PARAM   3

◆ PW_DEVICE_METHOD_NUM

#define PW_DEVICE_METHOD_NUM   4

◆ PW_VERSION_DEVICE_METHODS

#define PW_VERSION_DEVICE_METHODS   0

◆ pw_device_method

#define pw_device_method (   o,
  method,
  version,
  ... 
)

◆ pw_device_add_listener

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

◆ pw_device_subscribe_params

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

◆ pw_device_enum_params

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

◆ pw_device_set_param

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

Function Documentation

◆ pw_device_info_update()

struct pw_device_info* pw_device_info_update ( struct pw_device_info info,
const struct pw_device_info update 
)

Update and existing pw_device_info with update and reset.

◆ pw_device_info_merge()

struct pw_device_info* pw_device_info_merge ( struct pw_device_info info,
const struct pw_device_info update,
bool  reset 
)

Merge and existing pw_device_info with update.

◆ pw_device_info_free()

void pw_device_info_free ( struct pw_device_info info)

Free a pw_device_info.