ALSA 1.2.5 - UCM - private library configuration is not available for the forked tasks
Version, Distribution, Desktop Environment:
Fedora 34, alsa-lib / alsa-utils 1.2.5 from koji.
Description of Problem:
The latest alsa-lib can have private device configuration (in memory) which is available only for the ucm open / close lifetime. It seems that pipewire uses tasks with the separate memory for the ALSA detection and use. The private config can be available for all ALSA devices (control, mixer, PCM and maybe others in future).
Debug dump:
UCM open ok: PID 7825 card 'hw:0' mgr 0x55bdfda439c0
** PID 7825 ALIB '_ucm0001.hw:sofhdadsp,5'
** PID 7825 ALIB2 '0x55bdfda439c0' / 1 # <--- address of the UCM manager structure
** PID 7823 ALIB '_ucm0001.hw:sofhdadsp,5'
** PID 7823 ALIB2 '(nil)' / 1 # <--- ucm card / device not available for PID 7823
[E][000004794.238003][alsa-pcm.c:33 spa_alsa_open()] '_ucm0001.hw:sofhdadsp,5': playback open failed: No such device
[W][000004794.238055][adapter.c:190 find_format()] adapter 0x55d3c5df33d0: can't get format: No such device
[E][000004794.238072][module-adapter.c:241 create_object()] usage: node.name=<string>