[alsa-devel] Re-reading alsa-lib configuration when opening sound device

Pavel Hofman pavel.hofman at ivitera.com
Sun Sep 30 18:28:13 CEST 2018


Hi,

I am playing with virtual balanced inputs 
https://www.diyaudio.com/forums/pc-based/326747-virtual-balanced-regular-soundcard-linux-results.html 
. For proper functionality it needs a regular recalibration of the 
ttable multiplication coefficients of route plugin in .asoundrc.

The audio stack is alsa -> wine -> Arta measurement software. When I 
stop measuring in arta (without exiting the software), the soundcard 
gets closed - confirmed in /proc/asound/.../hw_params. Now I change the 
ttable coeffs. After re-opening the device (continuing with measurement 
in the running arta instance) the changes in .asoundrc are ignored. I 
have to restart the arta application for the changes to take effect.

When I run e.g. aplay inbetween, it accepts the changes right away. Upon 
continuing in arta, the original ttable coeffs are still loaded for this 
instance.

I understand it is the way wine handles the device somewhere in 
https://github.com/wine-mirror/wine/blob/master/dlls/winealsa.drv/mmdevdrv.c 
.

Please when is the alsa-lib config loaded by the library/application? Is 
there any way to force a config reload from outside?

Would e.g. calling snd_config_update before snd_pcm_open on line 
https://github.com/wine-mirror/wine/blob/master/dlls/winealsa.drv/mmdevdrv.c#L827 
  help? If so, what overhead does it impose? Perhaps I could ask the 
wine guys to consider such change if it worked and required minimum 
overhead.

I very much appreciate any help.

Best regards,


Pavel.


More information about the Alsa-devel mailing list