At Sun, 10 May 2009 00:11:39 +0200, Lennart Poettering wrote:
On Thu, 07.05.09 15:18, Takashi Iwai (tiwai@suse.de) wrote:
Fixing it isn't too difficult with vmaster stuff in the driver side, but this breaks the compatibility, and hard to find the real test machines nowadays. In short, "don't touch a working system unless it gets broken" phase.
Breaks compatibility with what exactly? OSS?
Yes, and old ALSA-native apps without PA.
Hmm. why exactly should that happen? I mean, the ALSA mixer API knew definitions like snd_mixer_selem_channel_id since about the beginning of time. Just making use of it shouldn't cause breakage in programs.
Using it means to change the current mapping. This would likely break the things.
And even when if it does, this would be the 'softest' kind of breakage one can think of. Also, most of the apps in question are Free Software and could hence be fixed easily.
Oh you are naive :)
May I assume that they always are dependant?
If both exist, then they should be dependent, and Master should be really Master.
Hmm, ok. So you say "Master" in this case is more "outside" and "Front" is more to the "inside", right? I.e. from the applications PoV Front is first, Master follows as last step, right?
Actually "Front" controls the volume from the front-output pin (left/right) while "Master" influences on all output channels, front, surround, CLFE, etc.
Hmm, could you be more explicit which apps you think would break? I mean, the ALSA mixer API always allowed multichannel audio, however no driver actually made use of that. If a client is using the ALSA mixer API properly it should not break. And if it doesn't use it properly it's not ALSA's fault...
kmix surely won't work. GNOME mixer? I don't think it would.
The new GNOME mixer links against PA, so it would support it indirectly. ;-)
Heh, but the "current" GNOME mixer would be broken.
Many media players (new and old) support a mixer adjustment more or less, and certainly many of they won't work with multi channels.
But to which effect? The worst thing that could happen is that they wouldn't show the Surround channels properly. But usually they wouldn't show that anyway..
I don't buy it unless you take over and fix all future bug reports.
Well, let my stance clear: I don't say that the change itself is wrong. But an incompatible change is just bad, at least, for the current ALSA-lib. It is no longer playground for children, and a regression is one of the worst things we can do now.
That's why I suggest to begin with a new API set or to add a function to switch the behavior. In that way, a regression can be avoided pretty easily.
Takashi