spa: alsa: Add a mechanism for external volume control

Currently enabled at device creation and delegated to an external entity
via spa_device events.
This commit is contained in:
Julian Bouzas 2026-05-15 10:11:13 -04:00
parent 122bfd712b
commit ef6f5194e3
9 changed files with 867 additions and 86 deletions

View file

@ -19,6 +19,7 @@ extern "C" {
/* object id of SPA_TYPE_EVENT_Device */
enum spa_device_event {
SPA_DEVICE_EVENT_ObjectConfig,
SPA_DEVICE_EVENT_ExtVolumeControl,
};
#define SPA_DEVICE_EVENT_ID(ev) SPA_EVENT_ID(ev, SPA_TYPE_EVENT_Device)

View file

@ -26,6 +26,7 @@ extern "C" {
static const struct spa_type_info spa_type_device_event_id[] = {
{ SPA_DEVICE_EVENT_ObjectConfig, SPA_TYPE_EVENT_Device, SPA_TYPE_INFO_DEVICE_EVENT_ID_BASE "ObjectConfig", NULL },
{ SPA_DEVICE_EVENT_ExtVolumeControl, SPA_TYPE_EVENT_Device, SPA_TYPE_INFO_DEVICE_EVENT_ID_BASE "ExtVolumeControl", NULL },
{ 0, 0, NULL, NULL },
};