spa: add params property

Some properties can be part of a params field in the Props object
and contain the string key and the pod value to be configured. This
is easier to use than using the regular id.

Add the fact that the property is also part of params in the PropInfo.
This commit is contained in:
Wim Taymans 2021-05-09 21:13:30 +02:00
parent 2414d3501c
commit 4cde1182d4
2 changed files with 12 additions and 1 deletions

View file

@ -42,7 +42,8 @@ enum spa_prop_info {
* is of the type of the property, the second
* one is a string with a user readable label
* for the value. */
SPA_PROP_INFO_container, /**< type of container if any */
SPA_PROP_INFO_container, /**< type of container if any (Id) */
SPA_PROP_INFO_params, /**< is part of params property (Bool) */
};
/** predefined properties for SPA_TYPE_OBJECT_Props */
@ -100,6 +101,13 @@ enum spa_prop {
SPA_PROP_gain,
SPA_PROP_sharpness,
SPA_PROP_START_Other = 0x80000, /**< other properties */
SPA_PROP_params, /**< simple control params
* (Struct(
* (String : key,
* Pod : value)*)) */
SPA_PROP_START_CUSTOM = 0x1000000,
};

View file

@ -121,6 +121,8 @@ static const struct spa_type_info spa_type_props[] = {
{ SPA_PROP_exposure, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "exposure", NULL },
{ SPA_PROP_gain, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "gain", NULL },
{ SPA_PROP_sharpness, SPA_TYPE_Int, SPA_TYPE_INFO_PROPS_BASE "sharpness", NULL },
{ SPA_PROP_params, SPA_TYPE_Struct, SPA_TYPE_INFO_PROPS_BASE "params", NULL },
{ 0, 0, NULL, NULL },
};
@ -135,6 +137,7 @@ static const struct spa_type_info spa_type_prop_info[] = {
{ SPA_PROP_INFO_type, SPA_TYPE_Pod, SPA_TYPE_INFO_PROP_INFO_BASE "type", NULL },
{ SPA_PROP_INFO_labels, SPA_TYPE_Struct, SPA_TYPE_INFO_PROP_INFO_BASE "labels", NULL },
{ SPA_PROP_INFO_container, SPA_TYPE_Id, SPA_TYPE_INFO_PROP_INFO_BASE "container", NULL },
{ SPA_PROP_INFO_params, SPA_TYPE_Bool, SPA_TYPE_INFO_PROP_INFO_BASE "params", NULL },
{ 0, 0, NULL, NULL },
};