Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit 60cd59f8 authored by Sal Savage's avatar Sal Savage
Browse files

Configure newavrcp target to be "passive" when setting up AVCTP

As it stands, both newavrcp target and avrcp controller devices are
configured as not "passive." This is an Android BT stack convention that
AVCTP uses as a policy for handling unlikely connection collisions. When
passive, a device will allow an incoming connection to take the place of
it's outgoing connection, assuming the connection. Non-passive devices
are strict in only allowing their outgoing connection to stay up.

When two non-passive devices connect with each other, there's a 10-15%
chance that the timing of events will cause each device to disconnect
each other's connection, resulting in no connection being set up.

AVCTP Section 5.1 says the target should allow the controller's
connection to succeed. Configuring newavrcp target to be passive puts us
more in line with that requirement.

Note this is a temporary work-around for a larger effort around the
AVCTP connection collision handling that will probably need to take
place.

Tag: #stability
Bug: 179292409
Test: atest BluetoothInstrumentationTests; -- Also connect phone to an
AVRCP controller device and wait for an unlikely connection collision.
Ensure the phone allows the CT to connect over its own connection.

Change-Id: I6861c78ba594d4e4ccfcf8ce9adec109f1b2d270
parent 06628bb4
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment