mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
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:
@@ -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).
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|||||||
Reference in New Issue
Block a user