'Twas brillig, and Lennart Poettering at 04/01/10 22:48 did gyre and gimble: > On Mon, 28.12.09 14:49, Colin Guthrie (gmane at colin.guthr.ie) wrote: > >> Hi, >> >> I could have sworn this was asked about on the ML recently but perhaps >> it was just IRC as I cannot for the life of me find the message :s >> >> Anyway, someone was asking about their 5.1 capable card and how they >> would prefer that stereo streams were not upmixed as their sound >> receiver does a better job of upmixing (e.g. Dolby ProLogic or similar >> gubbins). >> >> I was thinking about this today and I think this is a pretty common >> setup. I think I may actually have need to do that in my own setup now >> I've finally gotten around to configuring it up in a vaguely working way! >> >> So what I was thinking was some way to defining the mixing profile (via >> simple module argument) that simply lists (comma separated) the channel >> counts that are permitted for remixing. >> >> The remix = yes/no still works too but inverses the logic of the >> remix_profile argument. >> >> e.g. remix="yes" remix_profile="2" means it will *not* remix 2 channel >> sound to the sinks channel count. >> >> whereas remix="no" remix_profile="1,3,4,5,6,7,8,9,10" means much the >> same thing, but only as far as 10 channels. > > Isn't it a bit ugly if one config options completely reverses its > meaning depending on another one? Depends on your definition of "ugly" I guess. The reason I was thinking it would be good is to save specifying all the various values... But this is only a suggested syntax so if it's considered ugly, it doesn't have to make the grade! >> Obviously remix_profile is fully optional and remix= works as currently >> if specified on it's own. >> >> I've not analised how the code works to see how much hassle this would >> be to implement, but if this sounds like a vaguely sensible idea, I'll >> look at cooking up a patch. > > Hmm, IUC the use case for this is that mono?stereo upmixing should > always be done while stereo?5.1 and mono?5.1 upmixing should not be > attempted, right? And that this means that if you play a mono stream > you need to upmix it to stereo on a 5.1 device right? > > That use case complicates things considerably sincei its not just > about saying remixing yes/no, but about saying: if remixing from "A" > to "B" is requested actually do "A" to "C", with "A" != "B" and "B" != > "C", if you follow. Yeah I guess the main use case is "mono->stereo upmixing only" which isn't really covered. I figured that if something is mono it can be upmixed internally to 5.1 as we're unlikely to care about the e.g. ProLogic upmixing for a mono stream, but a 2, 3 or 4 channel we are. I guess it's possible that a mono to stereo upmix is desired on a 5.1 card so perhaps a more complex syntax hear would be better. e.g. from:to (where to <= channels). Of course the channel map itself becomes problematic when to < channels... nothing is going to be particularly clean here, which is why I kinda ignored the whole to < channels case before :s Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mandriva Linux Contributor [http://www.mandriva.com/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]