'Twas brillig, and Tanu Kaskinen at 17/02/11 17:17 did gyre and gimble: > On Thu, 2011-02-17 at 09:13 +0000, Colin Guthrie wrote: >>> If the resulting set contains exactly one fixed format, then that is >>> used for the stream. If the set contains more options than one fixed >>> format, then the daemon decides the "best" format using some unspecified >>> algorithm. If the set is empty, then the stream creation fails. >> >> When this fails, should we go back to the routing system and ask to be >> routed again, but not to this failing sink? I can see this being a) >> useful, but b) complicated (not so much complicated on initial >> connection but complicated when a stream may get "re-routed" (i.e. when >> a new, totally unrelated sink comes along, the routing system may >> re-evaluate it's priority lists and try to move the stream to a higher >> priority sink (i.e. the one that failed the first time). > > Aargh! An unmatched left parenthesis creates an unresolved tension that > will stay with me all day! And here you put TWO unmatched parentheses, > I'll be tense also tomorrow :( Well, I think I can manage. Even more xkcd FTW :) > Anyway, I > think this is completely up to the routing logic. It should check the > compatibility before doing the routing decision in the first place, if > it is somehow aware of the possibility of incompatibility. This way > there's no need to "go back", which sounds very complicated. I think you're right, it would have to know about the compatibility before trying to move. I'm kinda thinking ahead to the priority list approach here, at present this is implemented pretty simply in that the check is simply "is the device available", whereas with this new approach we'd have to check "is the device available && is it compatible with the input". This isn't too much extra logic or work so I think this makes sense. With the likes of passthrough, routing decisions would also have to check to see if the device is "available" to the degree that it's both present and does not already have a passthrough stream attached (and is thus operating in "exclusive" mode). So having such extra checks is going to be needed anyway. So I guess this all fits in nicely :) Take care (...... Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]