[alsa-devel] Master vs. Front/Rear/LFE/... elements
Takashi Iwai
tiwai at suse.de
Mon May 11 11:26:30 CEST 2009
At Sun, 10 May 2009 00:11:39 +0200,
Lennart Poettering wrote:
>
> On Thu, 07.05.09 15:18, Takashi Iwai (tiwai at 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
More information about the Alsa-devel
mailing list