mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-29 05:40:23 -04:00
bluetooth: Support transport auto-release
With BlueZ 5, if the remote device suspends the audio, the transport state will change to "idle" and the endpoint is not required to release the transport, since this could introduce race conditions. Therefore, ignore the call to pa_bluetooth_transport_release() if the transport is not acquired any more.
This commit is contained in:
parent
9615def4b9
commit
0e4c16e120
1 changed files with 6 additions and 0 deletions
|
|
@ -1538,6 +1538,12 @@ void pa_bluetooth_transport_release(pa_bluetooth_transport *t) {
|
|||
pa_assert_se(dbus_message_append_args(m, DBUS_TYPE_STRING, &accesstype, DBUS_TYPE_INVALID));
|
||||
} else {
|
||||
pa_assert(t->device->discovery->version == BLUEZ_VERSION_5);
|
||||
|
||||
if (t->state <= PA_BLUETOOTH_TRANSPORT_STATE_IDLE) {
|
||||
pa_log_info("Transport %s auto-released by BlueZ or already released", t->path);
|
||||
return;
|
||||
}
|
||||
|
||||
pa_assert_se(m = dbus_message_new_method_call(t->owner, t->path, "org.bluez.MediaTransport1", "Release"));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue