PipeWire: impl-device.c File Reference

PipeWire 0.3.1

Data Structures | Macros | Functions
impl-device.c File Reference
Include dependency graph for impl-device.c:

## Data Structures
struct | impl
struct | result_device_params_data
struct | resource_data
struct | object_data

## Macros
#define | NAME "device"
#define | pw_device_resource(r, m, v, ...) pw_resource_call(r,struct pw_device_events,m,v,__VA_ARGS__)
#define | pw_device_resource_info(r, ...) pw_device_resource(r,info,0,__VA_ARGS__)
#define | pw_device_resource_param(r, ...) pw_device_resource(r,param,0,__VA_ARGS__)
#define | OBJECT_NODE 0
#define | OBJECT_DEVICE 1

## Functions
SPA_EXPORT struct pw_impl_device * | pw_context_create_device (struct pw_context *context, struct pw_properties *properties, size_t user_data_size)
SPA_EXPORT void | pw_impl_device_destroy (struct pw_impl_device *device)
SPA_EXPORT int | pw_impl_device_for_each_param (struct pw_impl_device *device, int seq, uint32_t param_id, uint32_t index, uint32_t max, const struct spa_pod *filter, int(*callback)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param), void *data)
SPA_EXPORT int | pw_impl_device_register (struct pw_impl_device *device, struct pw_properties *properties)
SPA_EXPORT int | pw_impl_device_set_implementation (struct pw_impl_device *device, struct spa_device *spa_device)
| Set the device implementation. More...
SPA_EXPORT struct spa_device * | pw_impl_device_get_implementation (struct pw_impl_device *device)
| Get the device implementation. More...
SPA_EXPORT const struct pw_properties * | pw_impl_device_get_properties (struct pw_impl_device *device)
SPA_EXPORT int | pw_impl_device_update_properties (struct pw_impl_device *device, const struct spa_dict *dict)
SPA_EXPORT void * | pw_impl_device_get_user_data (struct pw_impl_device *device)
SPA_EXPORT struct pw_global * | pw_impl_device_get_global (struct pw_impl_device *device)
| Get the global of this device. More...
SPA_EXPORT void | pw_impl_device_add_listener (struct pw_impl_device *device, struct spa_hook *listener, const struct pw_impl_device_events *events, void *data)
| Add an event listener. More...

## Macro Definition Documentation

## ◆ NAME

#define NAME "device"

## ◆ OBJECT_DEVICE

#define OBJECT_DEVICE 1

## ◆ OBJECT_NODE

#define OBJECT_NODE 0

## ◆ pw_device_resource

#define pw_device_resource | ( |  | r,
|  |  | m,
|  |  | v,
|  |  | ...
| ) |  | pw_resource_call(r,struct pw_device_events,m,v,__VA_ARGS__)

## ◆ pw_device_resource_info

#define pw_device_resource_info | ( |  | r,
|  |  | ...
| ) |  | pw_device_resource(r,info,0,__VA_ARGS__)

## ◆ pw_device_resource_param

#define pw_device_resource_param | ( |  | r,
|  |  | ...
| ) |  | pw_device_resource(r,param,0,__VA_ARGS__)

## Function Documentation

## ◆ pw_context_create_device()

SPA_EXPORT struct pw_impl_device* pw_context_create_device | ( | struct pw_context * | context,
|  | struct pw_properties * | properties,
|  | size_t | user_data_size
| ) |  |

References pw_properties::dict, NAME, pw_log::pw_log_debug, pw_properties::pw_properties_new(), res, and impl::this.

## ◆ pw_impl_device_add_listener()

SPA_EXPORT void pw_impl_device_add_listener | ( | struct pw_impl_device * | device,
|  | struct spa_hook * | listener,
|  | const struct pw_impl_device_events * | events,
|  | void * | data
| ) |  |

Add an event listener.

## ◆ pw_impl_device_destroy()

SPA_EXPORT void pw_impl_device_destroy | ( | struct pw_impl_device * | device | ) |

References object_data::link, NAME, and pw_log::pw_log_debug.

## ◆ pw_impl_device_for_each_param()

SPA_EXPORT int pw_impl_device_for_each_param | ( | struct pw_impl_device * | device,
|  | int | seq,
|  | uint32_t | param_id,
|  | uint32_t | index,
|  | uint32_t | max,
|  | const struct spa_pod * | filter,
|  | int(*)(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param) | callback,
|  | void * | data
| ) |  |

References result_device_params_data::callback, result_device_params_data::data, and res.

## ◆ pw_impl_device_get_global()

SPA_EXPORT struct pw_global* pw_impl_device_get_global | ( | struct pw_impl_device * | device | ) |

Get the global of this device.

## ◆ pw_impl_device_get_implementation()

SPA_EXPORT struct spa_device* pw_impl_device_get_implementation | ( | struct pw_impl_device * | device | ) |

Get the device implementation.

## ◆ pw_impl_device_get_properties()

SPA_EXPORT const struct pw_properties* pw_impl_device_get_properties | ( | struct pw_impl_device * | device | ) |

## ◆ pw_impl_device_get_user_data()

SPA_EXPORT void* pw_impl_device_get_user_data | ( | struct pw_impl_device * | device | ) |

## ◆ pw_impl_device_register()

SPA_EXPORT int pw_impl_device_register | ( | struct pw_impl_device * | device,
|  | struct pw_properties * | properties
| ) |  |

References pw_global::pw_global_new(), PW_KEY_CLIENT_ID, PW_KEY_DEVICE_API, PW_KEY_DEVICE_DESCRIPTION, PW_KEY_DEVICE_NAME, PW_KEY_DEVICE_NICK, PW_KEY_FACTORY_ID, PW_KEY_MEDIA_CLASS, PW_KEY_MODULE_ID, PW_KEY_OBJECT_PATH, pw_properties::pw_properties_new(), pw_properties::pw_properties_update_keys(), PW_TYPE_INTERFACE_Device, and PW_VERSION_DEVICE.

## ◆ pw_impl_device_set_implementation()

SPA_EXPORT int pw_impl_device_set_implementation | ( | struct pw_impl_device * | device,
|  | struct spa_device * | spa_device
| ) |  |

Set the device implementation.

References NAME, pw_log::pw_log_debug, and pw_log::pw_log_error.

## ◆ pw_impl_device_update_properties()

SPA_EXPORT int pw_impl_device_update_properties | ( | struct pw_impl_device * | device,
|  | const struct spa_dict * | dict
| ) |  |