init procedure is executed during a store and restore process when the final snd_ctl_elem is not readable

GitHub issues - opened github at alsa-project.org
Fri Dec 3 07:26:05 CET 2021


alsa-project/alsa-utils issue #122 was opened from yixingwang0517:

When i execute the following commands sequencitally,

    alsa store -f 1.txt
    alsa restore -f 1.txt

my playing volume was initialized.

After a debugging process, I found the problem:

During the "store" process, a control element is saved to the configuration file only when this element is readable.While during the "restore" process, after all the control element from the configuration file is processed, an "additional control element check" which causes a "init procedure" if the result is true is processed.

![image](https://user-images.githubusercontent.com/19835921/144555692-6b3cee21-73fc-4ade-a1f4-cc8f99679a9d.png)


Thus, if total control element count is 5 with the 5th element is not readable, then there will be only 4 control element stored in the configuration file, ranges from "control.1" to "control.4".   Then the "additional control checking" process produces "true" and the variable "err" is evaluated as "-EAGAIN".

Issue URL     : https://github.com/alsa-project/alsa-utils/issues/122
Repository URL: https://github.com/alsa-project/alsa-utils


More information about the Alsa-devel mailing list