Hi all, I'm developing a phone app in OpenWrt with pulseaudio. I couldn't get stream from bluetooth headset using asynchronous API. I got PA_CONTEXT_READY with state callback, so I call pa_stream_connect_record/pa_stream_connect_playback with bluetooth headset sink/source. I couldn't error with this function, but I got PA_STREAM_FAILED in the each of the stream callbacks. I got the voice data with pamon command with bluetoooth headset. So I think I can connect bluetooth headset correctly. Is there any clue to get cause of error PA_STREAM_FAILED? I attached the pulseaudio log when I get to execute my program. It seems that source/sink for bluetooth headset is suspending. Best Regards, -- Shinnosuke Suzuki E-mail : suzukisn at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171011/6cdcbc7b/attachment-0001.html> -------------- next part -------------- D: [pulseaudio] bluez5-util.c: Properties changed in device /org/bluez/hci0/dev_00_14_BE_8A_7B_FE D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.Properties, path=/org/bluez/hci0/dev_00_14_BE_8A_7B_FE, member=PropertiesChanged D: [pulseaudio] bluez4-util.c: dbus: interface=org.bluez.Profile1, path=/Profile/HSPAGProfile, member=NewConnection D: [pulseaudio] backend-native.c: dbus: path=/Profile/HSPAGProfile, interface=org.bluez.Profile1, member=NewConnection D: [pulseaudio] backend-native.c: dbus: NewConnection path=/org/bluez/hci0/dev_00_14_BE_8A_7B_FE, fd=12 D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 state changed from disconnected to idle D: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device path=/org/bluez/hci0/dev_00_14_BE_8A_7B_FE I: [pulseaudio] card.c: Created 0 "bluez_card.00_14_BE_8A_7B_FE" D: [pulseaudio] module-bluez5-device.c: Acquiring transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 I: [pulseaudio] backend-native.c: doing connect I: [pulseaudio] module-bluez5-device.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 acquired: fd 13 I: [pulseaudio] sink.c: Created sink 0 "bluez_sink.00_14_BE_8A_7B_FE" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] sink.c: bluetooth.protocol = "headset_head_unit" I: [pulseaudio] sink.c: device.intended_roles = "phone" I: [pulseaudio] sink.c: device.description = "MM-BTMH34" I: [pulseaudio] sink.c: device.string = "00:14:BE:8A:7B:FE" I: [pulseaudio] sink.c: device.api = "bluez" I: [pulseaudio] sink.c: device.class = "sound" I: [pulseaudio] sink.c: device.bus = "bluetooth" I: [pulseaudio] sink.c: device.form_factor = "headset" I: [pulseaudio] sink.c: bluez.path = "/org/bluez/hci0/dev_00_14_BE_8A_7B_FE" I: [pulseaudio] sink.c: bluez.class = "0x240404" I: [pulseaudio] sink.c: bluez.alias = "MM-BTMH34" I: [pulseaudio] sink.c: device.icon_name = "audio-headset-bluetooth" D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. I: [pulseaudio] source.c: Created source 0 "bluez_sink.00_14_BE_8A_7B_FE.monitor" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] source.c: device.description = "Monitor of MM-BTMH34" I: [pulseaudio] source.c: device.class = "monitor" I: [pulseaudio] source.c: device.string = "00:14:BE:8A:7B:FE" I: [pulseaudio] source.c: device.api = "bluez" I: [pulseaudio] source.c: device.bus = "bluetooth" I: [pulseaudio] source.c: device.form_factor = "headset" I: [pulseaudio] source.c: bluez.path = "/org/bluez/hci0/dev_00_14_BE_8A_7B_FE" I: [pulseaudio] source.c: bluez.class = "0x240404" I: [pulseaudio] source.c: bluez.alias = "MM-BTMH34" I: [pulseaudio] source.c: device.icon_name = "audio-headset-bluetooth" I: [pulseaudio] source.c: device.intended_roles = "phone" D: [pulseaudio] core-subscribe.c: Dropped redundant event due to change event. I: [pulseaudio] source.c: Created source 1 "bluez_source.00_14_BE_8A_7B_FE" with sample spec s16le 1ch 8000Hz and channel map mono I: [pulseaudio] source.c: bluetooth.protocol = "headset_head_unit" I: [pulseaudio] source.c: device.intended_roles = "phone" I: [pulseaudio] source.c: device.description = "MM-BTMH34" I: [pulseaudio] source.c: device.string = "00:14:BE:8A:7B:FE" I: [pulseaudio] source.c: device.api = "bluez" I: [pulseaudio] source.c: device.class = "sound" I: [pulseaudio] source.c: device.bus = "bluetooth" I: [pulseaudio] source.c: device.form_factor = "headset" I: [pulseaudio] source.c: bluez.path = "/org/bluez/hci0/dev_00_14_BE_8A_7B_FE" I: [pulseaudio] source.c: bluez.class = "0x240404" I: [pulseaudio] source.c: bluez.alias = "MM-BTMH34" I: [pulseaudio] source.c: device.icon_name = "audio-headset-bluetooth" D: [bluetooth] module-bluez5-device.c: IO Thread starting up I: [bluetooth] module-bluez5-device.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 resuming D: [bluetooth] module-bluez5-device.c: Stream properly set up, we're ready to roll! D: [pulseaudio] module-device-restore.c: Could not set format on sink bluez_sink.00_14_BE_8A_7B_FE D: [pulseaudio] module-suspend-on-idle.c: Sink bluez_sink.00_14_BE_8A_7B_FE becomes idle, timeout in 30 seconds. D: [pulseaudio] module-bluetooth-policy.c: Profile headset_head_unit cannot be selected for loopback D: [pulseaudio] backend-native.c: RFCOMM >> +VGS=15 D: [pulseaudio] module-suspend-on-idle.c: Source bluez_source.00_14_BE_8A_7B_FE becomes idle, timeout in 30 seconds. D: [pulseaudio] module-bluetooth-policy.c: Profile headset_head_unit cannot be selected for loopback D: [pulseaudio] backend-native.c: RFCOMM >> +VGM=15 I: [pulseaudio] module.c: Loaded "module-bluez5-device" (index: #13; argument: "path=/org/bluez/hci0/dev_00_14_BE_8A_7B_FE"). D: [pulseaudio] backend-native.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 available for profile headset_head_unit D: [pulseaudio] backend-native.c: RFCOMM << AT+VGS=15 D: [pulseaudio] backend-native.c: RFCOMM >> OK D: [pulseaudio] backend-native.c: RFCOMM << AT+XAPL=0012-0001-0100,3 D: [pulseaudio] backend-native.c: RFCOMM >> OK D: [pulseaudio] backend-native.c: RFCOMM << AT+IPHONEACCEV=2,1,9,2,0 D: [pulseaudio] backend-native.c: RFCOMM >> OK D: [pulseaudio] bluez4-util.c: dbus: interface=org.bluez.MediaEndpoint1, path=/MediaEndpoint/A2DPSource, member=SelectConfiguration D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SelectConfiguration D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaTransport1 found, skipping D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesAdded D: [pulseaudio] bluez4-util.c: dbus: interface=org.bluez.MediaEndpoint1, path=/MediaEndpoint/A2DPSource, member=SetConfiguration D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSource, interface=org.bluez.MediaEndpoint1, member=SetConfiguration D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd1 state changed from disconnected to idle D: [pulseaudio] card.c: Setting card bluez_card.00_14_BE_8A_7B_FE profile a2dp_sink to availability status unknown D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd1 available for profile a2dp_sink I: [pulseaudio] client.c: Created 0 "Native client (UNIX socket client)" I: [pulseaudio] protocol-native.c: Client authenticated anonymously. D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 D: [pulseaudio] protocol-native.c: SHM possible: no D: [pulseaudio] protocol-native.c: Negotiated SHM: no D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: Must be enabled by module parameter I: [pulseaudio] client.c: Freed 0 "pactl" I: [pulseaudio] protocol-native.c: Connection died. I: [pulseaudio] client.c: Created 1 "Native client (UNIX socket client)" I: [pulseaudio] protocol-native.c: Client authenticated anonymously. D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 D: [pulseaudio] protocol-native.c: SHM possible: no D: [pulseaudio] protocol-native.c: Negotiated SHM: no D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: Must be enabled by module parameter I: [pulseaudio] client.c: Freed 1 "pactl" I: [pulseaudio] protocol-native.c: Connection died. I: [pulseaudio] client.c: Created 2 "Native client (UNIX socket client)" I: [pulseaudio] protocol-native.c: Client authenticated anonymously. D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 D: [pulseaudio] protocol-native.c: SHM possible: no D: [pulseaudio] protocol-native.c: Negotiated SHM: no D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: Must be enabled by module parameter I: [pulseaudio] module-suspend-on-idle.c: Source bluez_source.00_14_BE_8A_7B_FE idle for too long, suspending ... D: [pulseaudio] source.c: Suspend cause of source bluez_source.00_14_BE_8A_7B_FE is 0x0004, suspending D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. I: [pulseaudio] module-suspend-on-idle.c: Sink bluez_sink.00_14_BE_8A_7B_FE idle for too long, suspending ... D: [pulseaudio] sink.c: Suspend cause of sink bluez_sink.00_14_BE_8A_7B_FE is 0x0004, suspending D: [bluetooth] module-bluez5-device.c: Releasing transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 I: [bluetooth] backend-native.c: Transport /org/bluez/hci0/dev_00_14_BE_8A_7B_FE/fd12 released D: [bluetooth] module-bluez5-device.c: Audio stream torn down D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum. I: [pulseaudio] client.c: Created 3 "Native client (UNIX socket client)" I: [pulseaudio] protocol-native.c: Client authenticated anonymously. D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 D: [pulseaudio] protocol-native.c: SHM possible: no D: [pulseaudio] protocol-native.c: Negotiated SHM: no D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: Must be enabled by module parameter I: [pulseaudio] client.c: Freed 3 "pactl" I: [pulseaudio] protocol-native.c: Connection died. I: [pulseaudio] client.c: Created 4 "Native client (UNIX socket client)" I: [pulseaudio] protocol-native.c: Client authenticated anonymously. D: [pulseaudio] protocol-native.c: Protocol version: remote 30, local 30 D: [pulseaudio] protocol-native.c: SHM possible: no D: [pulseaudio] protocol-native.c: Negotiated SHM: no D: [pulseaudio] protocol-native.c: Disabling srbchannel, reason: Must be enabled by module parameter I: [pulseaudio] client.c: Freed 4 "pactl" I: [pulseaudio] protocol-native.c: Connection died. D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_FB_F5_7A_08_44_FB removed D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesRemoved D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_5C_F3_70_81_29_D2 removed D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesRemoved D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_6C_71_D9_50_06_16 removed D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesRemoved D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_00_0A_D2_C3_15_44 removed D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesRemoved D: [pulseaudio] bluez5-util.c: Device /org/bluez/hci0/dev_00_0A_D2_C5_00_60 removed D: [pulseaudio] bluez4-util.c: dbus: interface=org.freedesktop.DBus.ObjectManager, path=/, member=InterfacesRemoved -------------- next part -------------- A non-text attachment was scrubbed... Name: default.pa Type: application/octet-stream Size: 5365 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171011/6cdcbc7b/attachment-0002.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: system.pa Type: application/octet-stream Size: 2266 bytes Desc: not available URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20171011/6cdcbc7b/attachment-0003.obj>