[pulseaudio-discuss] module-bluetooth-device does not automatically select the a2dp profile when pulseaudio is loaded
Erwan Martin
main at zewaren.net
Sun Jan 29 15:20:52 PST 2012
Hi list,
I'm trying to use pulseaudio with a bluetooth a2dp connection (with
module-bluetooth-device and module-bluetooth-discover; i.e. without alsa).
My problem is that the A2DP profile is not automatically selected for
the bluetooth card when pulseaudio is loaded when the a2dp connection is
already active.
Here is the relevant log part:
# pulsaudio -C -vvvv
[...]
D: module-bluetooth-discover.c: Loading module-bluetooth-device
address="DE:AD:BE:EF:00:00"
path="/org/bluez/1062/hci0/dev_DE:AD:BA:BE:00:00"
I: module-card-restore.c: Restoring profile for card
bluez_card.DE:AD:BA:BE:00:00.
I: card.c: Created 1 "bluez_card.DE:AD:BA:BE:00:00"
W: module-bluetooth-device.c: Default profile not connected, selecting
off profile
D: module-bluetooth-device.c: Connected to the bluetooth audio service
I: module.c: Loaded "module-bluetooth-device" (index: #17; argument:
"address="DE:AD:BE:EF:00:00"
path="/org/bluez/1062/hci0/dev_DE:AD:BA:BE:00:00"").
If I restart the bluetooth stack and create the a2dp connection after
pulseaudio is loaded (using dbus commands), then the profile gets
selected, the sink is created and the audio streams:
D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus,
path=/org/freedesktop/DBus, member=NameOwnerChanged
D: bluetooth-util.c: Bluetooth daemon disappeared.
D: module-bluetooth-discover.c: Unloading module for
/org/bluez/1643/hci0/dev_DE:AD:BA:BE:00:00
D: module-console-kit.c: dbus: interface=org.freedesktop.DBus,
path=/org/freedesktop/DBus, member=NameOwnerChanged
D: module-bluetooth-device.c: dbus: interface=org.freedesktop.DBus,
path=/org/freedesktop/DBus, member=NameOwnerChanged
I: module.c: Unloading "module-bluetooth-device" (index: #17).
I: card.c: Freed 1 "bluez_card.DE:AD:BA:BE:00:00"
I: module.c: Unloaded "module-bluetooth-device" (index: #17).
D: bluetooth-util.c: dbus: interface=org.freedesktop.DBus,
path=/org/freedesktop/DBus, member=NameOwnerChanged
D: bluetooth-util.c: Bluetooth daemon appeared.
D: module-console-kit.c: dbus: interface=org.freedesktop.DBus,
path=/org/freedesktop/DBus, member=NameOwnerChanged
D: bluetooth-util.c: dbus: interface=org.bluez.Manager, path=/,
member=AdapterAdded
D: bluetooth-util.c: Adapter /org/bluez/1670/hci0 created
D: module-console-kit.c: dbus: interface=org.bluez.Manager, path=/,
member=AdapterAdded
D: bluetooth-util.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.Audio,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.Audio,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.Device,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.Device,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.Audio,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-bluetooth-discover.c: Loading module-bluetooth-device
address="DE:AD:BE:EF:00:00"
path="/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00"
I: module-card-restore.c: Restoring profile for card
bluez_card.DE:AD:BA:BE:00:00.
I: card.c: Created 2 "bluez_card.DE:AD:BA:BE:00:00"
D: module-bluetooth-device.c: Connected to the bluetooth audio service
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Payload size is 39 6
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_GET_CAPABILITIES
D: module-bluetooth-device.c: Payload size is 13 6
D: module-bluetooth-device.c: Got device capabilities
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_OPEN
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_OPEN
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_SET_CONFIGURATION
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_SET_CONFIGURATION
I: module-bluetooth-device.c: SBC parameters:
I: module-bluetooth-device.c: allocation=0
I: module-bluetooth-device.c: subbands=1
I: module-bluetooth-device.c: blocks=3
I: module-bluetooth-device.c: bitpool=53
D: module-bluetooth-device.c: Connection to the device configured
D: module-bluetooth-device.c: Got the stream socket
I: sink.c: Created sink 1 "bluez_sink.DE:AD:BA:BE:00:00" with sample
spec s16le 2ch 44100Hz and channel map front-left,front-right
I: sink.c: bluetooth.protocol = "a2dp"
I: sink.c: device.description = "DOESNOTMATTER"
I: sink.c: device.string = "DE:AD:BE:EF:00:00"
I: sink.c: device.api = "bluez"
I: sink.c: device.class = "sound"
I: sink.c: device.bus = "bluetooth"
I: sink.c: bluez.path = "/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00"
I: sink.c: bluez.class = "0x3e010c"
I: sink.c: bluez.name = "DOESNOTMATTER"
I: sink.c: device.icon_name = "audio-card-bluetooth"
I: source.c: Created source 2 "bluez_sink.DE:AD:BA:BE:00:00.monitor"
with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: source.c: device.description = "Monitor of DOESNOTMATTER"
I: source.c: device.class = "monitor"
I: source.c: device.string = "DE:AD:BE:EF:00:00"
I: source.c: device.api = "bluez"
I: source.c: device.bus = "bluetooth"
I: source.c: bluez.path = "/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00"
I: source.c: bluez.class = "0x3e010c"
I: source.c: bluez.name = "DOESNOTMATTER"
I: source.c: device.icon_name = "audio-card-bluetooth"
D: module-bluetooth-device.c: IO Thread starting up
I: core-util.c: Successfully enabled SCHED_RR scheduling for thread,
with priority 4, which is lower than the requested 5.
D: module-bluetooth-device.c: Sending BT_REQUEST -> BT_START_STREAM
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_START_STREAM
D: module-bluetooth-device.c: Trying to receive message from audio
service...
D: module-bluetooth-device.c: Received BT_RESPONSE <- BT_NEW_STREAM
D: module-bluetooth-device.c: Stream properly set up, we're ready to roll!
D: module-bluetooth-device.c: Using SBC encoder implementation: MMX
D: module-suspend-on-idle.c: Sink bluez_sink.DE:AD:BA:BE:00:00 becomes
idle, timeout in 5 seconds.
I: module.c: Loaded "module-bluetooth-device" (index: #18; argument:
"address="DE:AD:BE:EF:00:00"
path="/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00"").
D: module-console-kit.c: dbus: interface=org.bluez.Audio,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-bluetooth-device.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: bluetooth-util.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-console-kit.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
D: module-bluetooth-device.c: dbus: interface=org.bluez.AudioSink,
path=/org/bluez/1670/hci0/dev_DE:AD:BA:BE:00:00, member=PropertyChanged
What bothers me is that I have a second computer with the same
configuration which is working right (a2dp is automatically selected
when pulseaudio is started).
Any help would be greatly apreciated.
$ uname -a
Linux debian 2.6.32-5-amd64 #1 SMP Mon Jan 16 16:22:28 UTC 2012 x86_64
GNU/Linux
$ dpkg -l | grep pulse
ii libpulse0 0.9.21-3+squeeze1
PulseAudio client libraries
ii pulseaudio 0.9.21-3+squeeze1
PulseAudio sound server
ii pulseaudio-module-bluetooth 0.9.21-3+squeeze1
Bluetooth module for PulseAudio sound server
$ dpkg -l | grep bluez
ii bluez 4.66-3
Bluetooth tools and daemons
Erwan Martin.
More information about the pulseaudio-discuss
mailing list