From: Clemens L. <cl...@la...> - 2003-06-04 08:48:48
|
Pedro Lopez-Cabanillas wrote: > On Tuesday 03 June 2003 13:26, Chris Cannam wrote: > > Richard Bown wrote: > > > - SUBS flags needed for the kaconnect entries to appear at all for an > > > ALSA client. > > > - setting NO_EXPORT will hide them from kaconnect. > > > > Uh, did you intend some difference in meaning between "appearing at > > all" and not being "hidden"? > > > > iow, are you saying that omitting SUBS and adding NO_EXPORT will have > > the same effect: removing the ports from kaconnect (in the case of > > SUBS presumably only removing the port from one side at a time, > > NO_EXPORT removing everything)? Omitting SUBS and adding NO_EXPORT have the same effect as far as kaconnect is concerned, but _not_ regarding RG -- SUBS is for all subscriptions, NO_EXPORT is for subscriptions made by _third_ parties. > SND_SEQ_PORT_CAP_NO_EXPORT is not mandatory. Kaconnect needs to check > explicitly this capability and if set, avoid to show the port. BTW, aconnect > (the command line utility from alsa-utils) ignores this flag. It shows RG > ports and its connections. Of course, you can modify kaconnect to ignore this > flag and she will gently show you the "hidden" connections. Yes. The port enumeration functions will enumerate all ports, the application is responsible for filtering out all "uninteresting" ports. > SND_SEQ_PORT_CAP_WRITE / SUBS_WRITE and READ / SUBS_READ are very different. > These flags are like the Unix permissions for files, but acting for programs > instead of users. CAP_WRITE and CAP_READ flags alone means that only the > program owning the port can establish a connection to/from the port. The owner can always create a connection to/from the port, but if CAP_WRITE isn't set, no events will be delivered to the port. (The effect is the same as you described it.) CAP_READ has no effect on the owner, but it doesn't hurt to set it. :) > SUBS_READ and SUBS_WRITE means that any program can make subscriptions. As long as the source or destination port belongs to that program. If the subscription is created by a third program, NO_EXPORT must not be set. Regards, Clemens |