> I think the intended role is actually a property of the port, not the
> sink.

Yes. If a sink/source has ports, the ports also need a intended role for 
routing purpose.
And if a sink/source has no ports, we can reference the sink/source's intended 
roles.

> And I think David's patches that are waiting for someone to review
> them (I'll try to do it this week) already change ports so that they are
> available as long as the card exists...
> 
> --
> Tanu

How about sink/sources? They shall also be available as long as the card exist. 
But now, a sink/source can be created and destroyed when card's active profile 
changes. Take Bluetooth device module for example, they have HSP sink/source 
that only exist when HSP is active profile.
 
To work out a general routing method, I think Pulse can create all 
sink/source/ports for all supported profiles when the card is created, while 
the sink/source/port state changes with profiles changes and hot-plug event. 
Thus routing modules can look up their intended role any time.

However, I think it would be helpful to tag a profile with a intended role. 
This can make profile change easy. Otherwise, routing or profile-switch modules 
need to infer the best profile from the wanted sink/source and we need a static 
profile:sink/source mapping stored in a card. 

Thanks
Mengdong
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to