[alsa-devel] Some questions about userspace control elements

Takashi Sakamoto o-takashi at sakamocchi.jp
Sun Feb 1 12:41:06 CET 2015


Dear all,

I have some questions about ALSA control interface.

Currently I'm working for writing control applications in userspace. The
application adds some control elements to a certain control device, then
execute interprocess communication via the device by ALSA control interface.

To help this work, I'm preparing for alsa-gir, with partly implementation of
ALSA Control/Timer/Sequencer interface.
(Currently I have no plan to support the other interfaces, such as PCM.)

https://github.com/takaswie/alsa-gir

Then I have six questions.

1.The 'numid' is unique number for each element or not.
2.The 'numid' is always zero in SND_CTL_EVENT_MASK_ADD event.
3.The way to change permissions of each control element.
4.Added elements are not removed when closing fd.
5.Processes can delete elements which the other processes added.
6.The operation to replace element generates separate events.

In detail:
1.The 'numid' is unique number for each element or not?
I want to use it to indicate each element, if possible. But there're
more members in snd_ctl_elem_id structure.

2.The 'numid' can be notified in SND_CTL_EVENT_MASK_ADD event?
As long as I test, it's always zero when userspace applications add any
elements. Is it an expected behaviour? Or a bug?

3.The way to change permissions of each control element.
Is it possible after adding the elements? If possible, how to notify it
in the other processes?

4.Any elements added by a process are not removed at closing snd_ctl_t.
They're remained after closing the process' snd_ctl_t. Is it an expected
behaviour? Or a bug?

5.Processes can delete elements which the other processes added.
Is it an expected behaviour? Or a bug?

6.The operation to replace elements generates separate events.
ADD/REMOVE events occurs sequencially. Userspace application cannot
distinguish replacement from adding/removing, therefore cannot process
appropriate action. Is it an expected behaviour? Or a bug?


Regards

Takashi Sakamoto


More information about the Alsa-devel mailing list