port-config: add internalFormat to PortConfig

Use the Format for all possible formats on the
EnumPortConfig and the configured external format on PortConfig.

Make a new internalFormat that contains the configured format of the
adapter follower.

Make pw-top use the PortConfig internalFormat in the FORMAT view and fall
back to Format, when not available (for older clients).
This commit is contained in:
Wim Taymans 2026-06-12 17:50:46 +02:00
parent d780f4f535
commit b5555cc3f6
5 changed files with 23 additions and 10 deletions

View file

@ -40,6 +40,7 @@ static const struct spa_type_info spa_type_param_port_config[] = {
{ SPA_PARAM_PORT_CONFIG_control, SPA_TYPE_Bool, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "control", NULL },
{ SPA_PARAM_PORT_CONFIG_format, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "format", NULL },
{ SPA_PARAM_PORT_CONFIG_group, SPA_TYPE_String, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "group", NULL },
{ SPA_PARAM_PORT_CONFIG_internalFormat, SPA_TYPE_OBJECT_Format, SPA_TYPE_INFO_PARAM_PORT_CONFIG_BASE "internalFormat", NULL },
{ 0, 0, NULL, NULL },
};

View file

@ -32,8 +32,9 @@ enum spa_param_port_config {
SPA_PARAM_PORT_CONFIG_mode, /**< (Id enum spa_param_port_config_mode) mode */
SPA_PARAM_PORT_CONFIG_monitor, /**< (Bool) enable monitor output ports on input ports */
SPA_PARAM_PORT_CONFIG_control, /**< (Bool) enable control ports */
SPA_PARAM_PORT_CONFIG_format, /**< (Object) format filter */
SPA_PARAM_PORT_CONFIG_format, /**< (Object) possible/external format configuration */
SPA_PARAM_PORT_CONFIG_group, /**< (String) the port group name */
SPA_PARAM_PORT_CONFIG_internalFormat, /**< (Object) actual internal format */
};
/**