mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-12 13:30:15 -05:00
node: add port and node params
Add a new struct spa_param_info that lists the available params on a node/port and if they are readable/writable/updated. We can use this to replace and improve the PARAM_List and also to notify property change and updates. Update elements and code to deal with this new param stuff. Add port and node info to most elements and signal changes. Use async enum_params in -inspect and use the param info to know which ones to enumerate. Use the port info to know what parameters to update in the remote-node.
This commit is contained in:
parent
3d25adc598
commit
499dd3ff22
52 changed files with 1979 additions and 1461 deletions
|
|
@ -41,12 +41,12 @@ struct spa_device_info {
|
|||
#define SPA_VERSION_DEVICE_INFO 0
|
||||
uint32_t version;
|
||||
|
||||
#define SPA_DEVICE_CHANGE_MASK_INFO (1<<0)
|
||||
#define SPA_DEVICE_CHANGE_MASK_PROPS (1<<0)
|
||||
#define SPA_DEVICE_CHANGE_MASK_PARAMS (1<<1)
|
||||
uint64_t change_mask;
|
||||
const struct spa_dict *info;
|
||||
const struct spa_dict *props;
|
||||
struct spa_param_info *params;
|
||||
uint32_t n_params;
|
||||
uint32_t *params;
|
||||
};
|
||||
|
||||
#define SPA_DEVICE_INFO_INIT() (struct spa_device_info){ SPA_VERSION_DEVICE_INFO, }
|
||||
|
|
@ -58,9 +58,9 @@ struct spa_device_object_info {
|
|||
uint32_t type;
|
||||
const struct spa_handle_factory *factory;
|
||||
|
||||
#define SPA_DEVICE_OBJECT_CHANGE_MASK_INFO (1<<0)
|
||||
#define SPA_DEVICE_OBJECT_CHANGE_MASK_PROPS (1<<0)
|
||||
uint64_t change_mask;
|
||||
const struct spa_dict *info;
|
||||
const struct spa_dict *props;
|
||||
};
|
||||
|
||||
#define SPA_DEVICE_OBJECT_INFO_INIT() (struct spa_device_object_info){ SPA_VERSION_DEVICE_OBJECT_INFO, }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue