mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Merge "audio: Align bluetooth start behavior" into 24D1-dev
This commit is contained in:
@@ -93,17 +93,18 @@ StreamBluetooth::StreamBluetooth(StreamContext* context, const Metadata& metadat
|
||||
::android::status_t StreamBluetooth::transfer(void* buffer, size_t frameCount,
|
||||
size_t* actualFrameCount, int32_t* latencyMs) {
|
||||
std::lock_guard guard(mLock);
|
||||
*actualFrameCount = 0;
|
||||
*latencyMs = StreamDescriptor::LATENCY_UNKNOWN;
|
||||
if (mBtDeviceProxy == nullptr || mBtDeviceProxy->getState() == BluetoothStreamState::DISABLED) {
|
||||
*actualFrameCount = 0;
|
||||
*latencyMs = StreamDescriptor::LATENCY_UNKNOWN;
|
||||
// The BT session is turned down, silently ignore write.
|
||||
return ::android::OK;
|
||||
}
|
||||
*actualFrameCount = 0;
|
||||
*latencyMs = 0;
|
||||
if (!mBtDeviceProxy->start()) {
|
||||
LOG(ERROR) << __func__ << ": state= " << mBtDeviceProxy->getState() << " failed to start";
|
||||
return -EIO;
|
||||
LOG(WARNING) << __func__ << ": state= " << mBtDeviceProxy->getState()
|
||||
<< " failed to start, will retry";
|
||||
return ::android::OK;
|
||||
}
|
||||
*latencyMs = 0;
|
||||
const size_t bytesToTransfer = frameCount * mFrameSizeBytes;
|
||||
const size_t bytesTransferred = mIsInput ? mBtDeviceProxy->readData(buffer, bytesToTransfer)
|
||||
: mBtDeviceProxy->writeData(buffer, bytesToTransfer);
|
||||
|
||||
Reference in New Issue
Block a user