Just like the returned data path configurations are split for each direction,
the function arguments should also have the directional context. The vendor
module might need to know which connection handles in the stream map are for
the sink and which are for the source direction, to provide the proper
data path configurations for each direction.
Bug: 308428217
Bug: 307258939
Test: m android.hardware.bluetooth.audio-update-api
Change-Id: I270b6f4631869e2180580c886f0b58bd777d2123
The "provider" is managed with a shared_ptr but we do not hold it and
instead are giving the raw inner pointer as binderDiedCallbackAidl.
This can randomly generate crash as the provider may be freed outside of
this code.
Replacing the provider with a context that we can manually allocate and
deallocate.
Setup AIBinder_DeathRecipient_setOnUnlinked to clean the data allocated
Bug: 245009140
Test: m android.hardware.bluetooth.audio-impl and start / stop session +
manually kill bluetooth process during audio play
Change-Id: I0c14c062a8bde7e532ff02f01991d66da33ec569
The logic is that to send FREE and LOW_LATENCY to audio at startSession,
if bt receives setLowLatencyModeAllowed(true) before start session. If
the parameter false, or bt doesn't receive the signal at all, then bt
sends FREE to audio.
Test: build
Bug: 214615268
Tag: #feature
Change-Id: I895a7fc6dd5d1567dce64ddcf967550f5cac882b