Merge "audio: Add tracing to audio I/O and effect processing" into main am: c02d38d7b7

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2940231

Change-Id: I8628b1e11def48298f8f4adde20d49ebd9aaa05c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2024-01-31 23:49:06 +00:00
committed by Automerger Merge Worker
3 changed files with 14 additions and 11 deletions

View File

@@ -15,7 +15,9 @@
*/ */
#include <memory> #include <memory>
#define ATRACE_TAG ATRACE_TAG_AUDIO
#define LOG_TAG "AHAL_EffectImpl" #define LOG_TAG "AHAL_EffectImpl"
#include <utils/Trace.h>
#include "effect-impl/EffectImpl.h" #include "effect-impl/EffectImpl.h"
#include "effect-impl/EffectTypes.h" #include "effect-impl/EffectTypes.h"
#include "include/effect-impl/EffectTypes.h" #include "include/effect-impl/EffectTypes.h"
@@ -298,6 +300,7 @@ IEffect::Status EffectImpl::status(binder_status_t status, size_t consumed, size
} }
void EffectImpl::process() { void EffectImpl::process() {
ATRACE_CALL();
/** /**
* wait for the EventFlag without lock, it's ok because the mEfGroup pointer will not change * wait for the EventFlag without lock, it's ok because the mEfGroup pointer will not change
* in the life cycle of workerThread (threadLoop). * in the life cycle of workerThread (threadLoop).

View File

@@ -16,14 +16,14 @@
#include <pthread.h> #include <pthread.h>
#define ATRACE_TAG ATRACE_TAG_AUDIO
#define LOG_TAG "AHAL_Stream" #define LOG_TAG "AHAL_Stream"
#include <Utils.h>
#include <android-base/logging.h> #include <android-base/logging.h>
#include <android/binder_ibinder_platform.h> #include <android/binder_ibinder_platform.h>
#include <utils/SystemClock.h> #include <utils/SystemClock.h>
#include <utils/Trace.h>
#include <Utils.h>
#include "core-impl/Module.h"
#include "core-impl/Stream.h" #include "core-impl/Stream.h"
using aidl::android::hardware::audio::common::AudioOffloadMetadata; using aidl::android::hardware::audio::common::AudioOffloadMetadata;
@@ -312,6 +312,7 @@ StreamInWorkerLogic::Status StreamInWorkerLogic::cycle() {
} }
bool StreamInWorkerLogic::read(size_t clientSize, StreamDescriptor::Reply* reply) { bool StreamInWorkerLogic::read(size_t clientSize, StreamDescriptor::Reply* reply) {
ATRACE_CALL();
StreamContext::DataMQ* const dataMQ = mContext->getDataMQ(); StreamContext::DataMQ* const dataMQ = mContext->getDataMQ();
const size_t byteCount = std::min({clientSize, dataMQ->availableToWrite(), mDataBufferSize}); const size_t byteCount = std::min({clientSize, dataMQ->availableToWrite(), mDataBufferSize});
const bool isConnected = mIsConnected; const bool isConnected = mIsConnected;
@@ -583,6 +584,7 @@ StreamOutWorkerLogic::Status StreamOutWorkerLogic::cycle() {
} }
bool StreamOutWorkerLogic::write(size_t clientSize, StreamDescriptor::Reply* reply) { bool StreamOutWorkerLogic::write(size_t clientSize, StreamDescriptor::Reply* reply) {
ATRACE_CALL();
StreamContext::DataMQ* const dataMQ = mContext->getDataMQ(); StreamContext::DataMQ* const dataMQ = mContext->getDataMQ();
const size_t readByteCount = dataMQ->availableToRead(); const size_t readByteCount = dataMQ->availableToRead();
const size_t frameSize = mContext->getFrameSize(); const size_t frameSize = mContext->getFrameSize();

View File

@@ -16,12 +16,13 @@
#include <algorithm> #include <algorithm>
#define ATRACE_TAG ATRACE_TAG_AUDIO
#define LOG_TAG "AHAL_StreamBluetooth" #define LOG_TAG "AHAL_StreamBluetooth"
#include <Utils.h> #include <Utils.h>
#include <android-base/logging.h> #include <android-base/logging.h>
#include <audio_utils/clock.h> #include <audio_utils/clock.h>
#include <utils/Trace.h>
#include "BluetoothAudioSession.h"
#include "core-impl/StreamBluetooth.h" #include "core-impl/StreamBluetooth.h"
using aidl::android::hardware::audio::common::frameCountFromDurationUs; using aidl::android::hardware::audio::common::frameCountFromDurationUs;
@@ -109,13 +110,10 @@ StreamBluetooth::StreamBluetooth(StreamContext* context, const Metadata& metadat
} }
const size_t fc = std::min(frameCount, mPreferredFrameCount); const size_t fc = std::min(frameCount, mPreferredFrameCount);
const size_t bytesToTransfer = fc * mFrameSizeBytes; const size_t bytesToTransfer = fc * mFrameSizeBytes;
if (mIsInput) { const size_t bytesTransferred = mIsInput ? mBtDeviceProxy->readData(buffer, bytesToTransfer)
const size_t totalRead = mBtDeviceProxy->readData(buffer, bytesToTransfer); : mBtDeviceProxy->writeData(buffer, bytesToTransfer);
*actualFrameCount = std::max(*actualFrameCount, totalRead / mFrameSizeBytes); *actualFrameCount = bytesTransferred / mFrameSizeBytes;
} else { ATRACE_INT("BTdropped", bytesToTransfer - bytesTransferred);
const size_t totalWrite = mBtDeviceProxy->writeData(buffer, bytesToTransfer);
*actualFrameCount = std::max(*actualFrameCount, totalWrite / mFrameSizeBytes);
}
PresentationPosition presentation_position; PresentationPosition presentation_position;
if (!mBtDeviceProxy->getPresentationPosition(presentation_position)) { if (!mBtDeviceProxy->getPresentationPosition(presentation_position)) {
presentation_position.remoteDeviceAudioDelayNanos = presentation_position.remoteDeviceAudioDelayNanos =