Hi Col,

Thanks a lot for your advice and guiding me to the great design doc of routing! 
I hope to continue the discussion from the other thread 
http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-September/011374.html

I have some concerns with module-switch-on-connect (m-s-on-c), 
module-device-manager (m-d-m) and device profiles:
1. m-s-on-c can route audio to the new connected sink/source, and the new 
device will become the default sink/source (or become the top of default 
priority list in the future).
  But when a port becomes available on a non-default device (not of highest 
priority), audio will not be routed to that device's new active port. 
  (from David's patch 
http://lists.freedesktop.org/archives/pulseaudio-discuss/2011-August/011167.html)
  So if user is playing music via HDMI and then want to use the wired-headset 
(a port on ALSA sink), he cannot just plug in the headset but still need 
disconnect HDMI manually. 
  I would be more convenient if m-s-on-c treats the port more like a device, 
i.e. can route audio to the device with a new available port no matter the 
device is default or not. The logic is same: if a user connects/plug-in some 
device, he want to use it.

2. m-d-m maintains a media-role-based priority list, m-s-on-c can route audio 
to the new connected device but never update the priority list. This may caused 
unexpected behaviors for some policy requriements:
  Use case: If I have 3 devices, dev 1 has highest priority, dev 2 has 2nd 
priority and dev 3 lowest. Both dev 2 and dev 3 are removable device.
  If I plug in dev2, audio will be routed to dev 2 and then I plug in dev 3 
(without unplugging dev 2), audio will be routed to dev 3. Then I feel dev 3 is 
not so good and want to switch back to my previous choice dev2. But when I 
unplug dev 3, audio is routed back to dev 1 by m-d-m. Is it doable to allow 
m-s-on-c affect the role-based priority list, so new connected device has a 
higher priority?
I mean a dynamic priority list made from user connection/disconnection rather 
than a pre-defined one.
 
3. device profiles
  I hope when a new card is created, it does not always use highest priority 
profile. Rather, it can check all live streams' roles and decide it profile and 
create the sink/source. E.g. If the Bluetooth headset is connected during a 
phone call, it will use HSP profile, otherwise use A2DP profile. In addition, 
when new stream is put or unlinked, the card can change its profile 
accordingly. I previous patch Bluetooth modules to do such thing but I feel 
this is not only for Bluetooth but a general feature. Is it worth to write a 
module to handle this feature?

I would be grateful if you could give me some advice!

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

Reply via email to