On Tue, 2014-10-28 at 12:33 +0100, Pali Rohár wrote: > On Tuesday 28 October 2014 09:44:53 Tanu Kaskinen wrote: > > On Sun, 2014-10-19 at 13:42 +0200, Pali Rohár wrote: > > > I would like to remind this patch. > > > > > > This patch for bluetooth headsets will automatically switch > > > between hsp (phone quality input+output) and a2dp (full > > > quality output) bluetooth profiles based on running > > > pulseaudio clients. > > > > > > I you want to use microphone of your bluetooth headset you > > > need to switch to hsp profile (manually or somehow else... > > > or with this patch). > > > > > > This patch will primary use information from "media.role" > > > and will switch only if "media.role" is phone. > > > > > > If "media.role" information is not available (e.g pulseaudio > > > client did not set it) then in patch is used some heuristic > > > (ignore resample method peaks, ignore virtual streams, > > > ignore recording from monitors). > > > > > > In previous discussion Arun was against last part -- using > > > that heuristic and wanted to use only media.role. > > > > > > I would like to hear what other developers thinks. There are > > > more pulseaudio users who want to see this feature in > > > pulseaudio and it is *bad* that user must open volume > > > control settings, change bluetooth configuration (switch > > > from a2dp to hsp) before he wants to make voice call or use > > > blueooth microphone for other purpose. > > > > I'd prefer if the patch would switch the profile to hsp only > > if a stream has the "phone" role, and only if the application > > hasn't explicitly configured any other device for the stream. > > > > Ok. And what to do when application does not specify any role? Nothing. > > Btw, does this patch actually do what it's supposed to do? It > > seems to switch the profile in the source output put hook, > > but at that point the stream has already been routed, so I'd > > expect the stream to not get routed to the hsp source, since > > it didn't exist at the time when the routing for the stream > > was decided. > > Patch automatically switch between hsp and a2dp mode in source > output hook function. Because switching procedure takes some time > (and it is asynchronous) it is not finished before returning from > hook function. As far as I know, switching card profiles is synchronous. > Once profile switch is done new source card output > appears and can be used for recording audio. When I configured > hsp source with high priority in KDE4 multimedia settings PA > automatically switch to hsp bluetooth card when it is available > for all exiting source streams. Ok, so this patch relies on some other policy module to automatically move streams when a new sink/source appears. I think that's fine for now. -- Tanu