alsa: rework UCM open

Use _alibpref to check if a device needs a UCM local config. Mark
the device as such and use this to set the OPEN_UCM property on
the device.
Open the UCM for a card when the device has the property set. Use the
same logic for loading the UCM as the acp code.

See #1251
This commit is contained in:
Wim Taymans 2021-06-02 17:25:21 +02:00
parent 58d0e44664
commit 35e81fbfdc
8 changed files with 61 additions and 18 deletions

View file

@ -95,6 +95,7 @@ struct state {
struct spa_system *data_system;
struct spa_loop *data_loop;
int card_index;
snd_pcm_stream_t stream;
snd_output_t *output;
@ -181,6 +182,7 @@ struct state {
unsigned int use_mmap:1;
unsigned int planar:1;
unsigned int freewheel:1;
unsigned int open_ucm:1;
int64_t sample_count;