No description
Find a file
Pali Rohár 3397127f00 bluetooth: Add optional heuristic for switching between hsp and a2dp profiles
Not all VOIP applications (specially those which use alsa) set media.role to
phone. This means we need some heuristic to determinate if we want to switch
from a2dp to hsp profile based on number and types of source output (recording)
streams.

And also some people want to use their bluetooth headset (with microphone) as
their default recording device but some do not want to because of low quality.

This patch implements optional heuristic which is disabled by default. It is
disabled by default to not break experience of current pulseaudio users because
heuristic cannot be optimal. Heuristic is implemented in module-bluetooth-policy
module and decide if pulseaudio should switch to a hsp profile or not. It checks
if there is some source output with pass all these conditions:

* does not have set media.role
* does not use peak resample method (which is used by desktop volume programs)
* has assigned client/application (non virtual stream)
* does not record from monitor of sink

And if yes it switch to hsp profile.

By default this heuristic is disabled and can be enabled when loading module
module-bluetooth-policy with specifying parameter auto_switch=2

Because it is disabled by default nobody will be affected by this change unless
manually change auto_switch parameter.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
2017-01-19 03:00:45 +02:00
doc doc: Add an example stream-restore fallback table file. 2011-10-01 13:25:16 +01:00
doxygen update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
m4 build-sys: Move to compiling with C11 support 2016-02-25 09:09:13 +05:30
man daemon-conf: changed 'not' to 'note' 2017-01-13 05:02:24 +02:00
po i18n: add Lithuanian translation 2017-01-06 21:02:06 +02:00
scripts scripts: Plot memory benchmarks using gnuplot 2015-10-31 15:29:48 +02:00
shell-completion core: Support memfd transport; bump protocol version 2016-04-27 18:37:08 +05:30
src bluetooth: Add optional heuristic for switching between hsp and a2dp profiles 2017-01-19 03:00:45 +02:00
vala vala: Added cnames to callback delegates in Vala VAPI 2016-01-22 13:25:29 +05:30
.gitignore gitignore: Add .orig and .rej to gitignore 2015-12-18 13:34:46 +01:00
.mailmap add a .mailmap file for git shortlog 2009-02-04 22:41:45 +01:00
.travis.yml travis: Run make install in travis. 2015-12-29 05:36:50 +05:30
AGPL LICENSE: add a note about qpaeq being licensed under AGPL 2017-01-03 04:21:38 +02:00
autogen.sh update FSF addresses to FSF web page 2015-01-14 22:20:40 +02:00
bootstrap.sh build-sys: bootstrap.sh: Do a make only if configure has succeeded 2015-09-25 15:05:43 +03:00
configure.ac build-sys: bump sonames 2017-01-03 17:13:59 +02:00
git-version-gen git-version-gen: Avoid further processing when tarball-version is present 2015-10-20 16:55:23 +02:00
GPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
LGPL * rename "LICENSE" to "LGPL" 2006-04-20 12:33:00 +00:00
libpulse-mainloop-glib.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse-simple.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
libpulse.pc.in build: Fix static linking 2012-07-17 11:05:34 +05:30
LICENSE LICENSE: add a note about qpaeq being licensed under AGPL 2017-01-03 04:21:38 +02:00
Makefile.am build-sys: add the AGPL license file to tarballs 2017-01-18 05:45:11 +02:00
NEWS update NEWS 2017-01-18 05:43:37 +02:00
orc.mak build-sys: Move ORC_SOURCE definitions outside of "if HAVE_ORC" 2014-01-24 22:56:27 +02:00
PROTOCOL protocol-native: Don't signal memfd support for 9.0 clients 2016-11-19 15:11:59 +02:00
pulseaudio-text.svg merge 'lennart' branch back into trunk. 2007-10-28 19:13:50 +00:00
pulseaudio.supp Add a Valgrind suppression file 2014-09-21 11:00:51 +03:00
pulseaudio.svg Add PulseAudio logo to tree. 2006-08-28 06:25:41 +00:00
PulseAudioConfig.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
PulseAudioConfigVersion.cmake.in build-sys: Provide a simple CMake Config setup (similar to pkgconfig) 2011-10-19 23:49:23 +01:00
README Remove link to CIA from README 2014-10-28 17:36:21 +01:00
todo Update todo 2011-06-24 00:35:26 +01:00

PULSEAUDIO SOUND SERVER

WEB SITE:
	http://pulseaudio.org/

GIT:
	git://anongit.freedesktop.org/pulseaudio/pulseaudio

GITWEB/CGIT:
	http://cgit.freedesktop.org/pulseaudio/pulseaudio/

MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

GIT COMMITS MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits

TRAC/BUGZILLA TICKET CHANGES MAILING LIST:
	http://lists.freedesktop.org/mailman/listinfo/pulseaudio-bugs

IRC:
	#pulseaudio on irc.freenode.org

FRESHMEAT:
	http://freshmeat.net/projects/pulseaudio/

OHLOH:
	http://www.ohloh.net/projects/4038

AUTHORS:
	Several

HACKING:
	In order to run pulseaudio from the build dir __OPTIMIZE__ should be
	disabled (look at src/pulsecore/core-util.h::pa_run_from_build_tree()),
	this can be done by passing "CFLAGS=-O0" to the configure script:
	  ./autogen.sh
	  CFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" ./configure
	  make
	  ./src/pulseaudio -n -F src/default.pa -p $(pwd)/src/

SPELLING:
        PulseAudio