[pulseaudio-discuss] [RFC] Passthrough support

Colin Guthrie gmane at colin.guthr.ie
Thu Feb 17 12:02:48 PST 2011

'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 (......



Colin Guthrie

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/]

More information about the pulseaudio-discuss mailing list