Merge "audio: Change log severity for audio I/O commands" am: d2ad3852e1
am: 9cf1728503
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2419961 Change-Id: Id734a061bd79205d8493804a0b4e69fce3395570 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
commit
f6b3acb950
2 changed files with 28 additions and 13 deletions
|
@ -135,10 +135,16 @@ StreamInWorkerLogic::Status StreamInWorkerLogic::cycle() {
|
||||||
mState = StreamDescriptor::State::ERROR;
|
mState = StreamDescriptor::State::ERROR;
|
||||||
return Status::ABORT;
|
return Status::ABORT;
|
||||||
}
|
}
|
||||||
LOG(DEBUG) << __func__ << ": received command " << command.toString() << " in " << kThreadName;
|
using Tag = StreamDescriptor::Command::Tag;
|
||||||
|
using LogSeverity = ::android::base::LogSeverity;
|
||||||
|
const LogSeverity severity =
|
||||||
|
command.getTag() == Tag::burst || command.getTag() == Tag::getStatus
|
||||||
|
? LogSeverity::VERBOSE
|
||||||
|
: LogSeverity::DEBUG;
|
||||||
|
LOG(severity) << __func__ << ": received command " << command.toString() << " in "
|
||||||
|
<< kThreadName;
|
||||||
StreamDescriptor::Reply reply{};
|
StreamDescriptor::Reply reply{};
|
||||||
reply.status = STATUS_BAD_VALUE;
|
reply.status = STATUS_BAD_VALUE;
|
||||||
using Tag = StreamDescriptor::Command::Tag;
|
|
||||||
switch (command.getTag()) {
|
switch (command.getTag()) {
|
||||||
case Tag::halReservedExit:
|
case Tag::halReservedExit:
|
||||||
if (const int32_t cookie = command.get<Tag::halReservedExit>();
|
if (const int32_t cookie = command.get<Tag::halReservedExit>();
|
||||||
|
@ -166,8 +172,8 @@ StreamInWorkerLogic::Status StreamInWorkerLogic::cycle() {
|
||||||
break;
|
break;
|
||||||
case Tag::burst:
|
case Tag::burst:
|
||||||
if (const int32_t fmqByteCount = command.get<Tag::burst>(); fmqByteCount >= 0) {
|
if (const int32_t fmqByteCount = command.get<Tag::burst>(); fmqByteCount >= 0) {
|
||||||
LOG(DEBUG) << __func__ << ": '" << toString(command.getTag()) << "' command for "
|
LOG(VERBOSE) << __func__ << ": '" << toString(command.getTag()) << "' command for "
|
||||||
<< fmqByteCount << " bytes";
|
<< fmqByteCount << " bytes";
|
||||||
if (mState == StreamDescriptor::State::IDLE ||
|
if (mState == StreamDescriptor::State::IDLE ||
|
||||||
mState == StreamDescriptor::State::ACTIVE ||
|
mState == StreamDescriptor::State::ACTIVE ||
|
||||||
mState == StreamDescriptor::State::PAUSED ||
|
mState == StreamDescriptor::State::PAUSED ||
|
||||||
|
@ -253,7 +259,7 @@ StreamInWorkerLogic::Status StreamInWorkerLogic::cycle() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
reply.state = mState;
|
reply.state = mState;
|
||||||
LOG(DEBUG) << __func__ << ": writing reply " << reply.toString();
|
LOG(severity) << __func__ << ": writing reply " << reply.toString();
|
||||||
if (!mReplyMQ->writeBlocking(&reply, 1)) {
|
if (!mReplyMQ->writeBlocking(&reply, 1)) {
|
||||||
LOG(ERROR) << __func__ << ": writing of reply " << reply.toString() << " to MQ failed";
|
LOG(ERROR) << __func__ << ": writing of reply " << reply.toString() << " to MQ failed";
|
||||||
mState = StreamDescriptor::State::ERROR;
|
mState = StreamDescriptor::State::ERROR;
|
||||||
|
@ -284,8 +290,8 @@ bool StreamInWorkerLogic::read(size_t clientSize, StreamDescriptor::Reply* reply
|
||||||
if (bool success =
|
if (bool success =
|
||||||
actualByteCount > 0 ? mDataMQ->write(&mDataBuffer[0], actualByteCount) : true;
|
actualByteCount > 0 ? mDataMQ->write(&mDataBuffer[0], actualByteCount) : true;
|
||||||
success) {
|
success) {
|
||||||
LOG(DEBUG) << __func__ << ": writing of " << actualByteCount << " bytes into data MQ"
|
LOG(VERBOSE) << __func__ << ": writing of " << actualByteCount << " bytes into data MQ"
|
||||||
<< " succeeded; connected? " << isConnected;
|
<< " succeeded; connected? " << isConnected;
|
||||||
// Frames are provided and counted regardless of connection status.
|
// Frames are provided and counted regardless of connection status.
|
||||||
reply->fmqByteCount += actualByteCount;
|
reply->fmqByteCount += actualByteCount;
|
||||||
mFrameCount += actualFrameCount;
|
mFrameCount += actualFrameCount;
|
||||||
|
@ -340,7 +346,14 @@ StreamOutWorkerLogic::Status StreamOutWorkerLogic::cycle() {
|
||||||
mState = StreamDescriptor::State::ERROR;
|
mState = StreamDescriptor::State::ERROR;
|
||||||
return Status::ABORT;
|
return Status::ABORT;
|
||||||
}
|
}
|
||||||
LOG(DEBUG) << __func__ << ": received command " << command.toString() << " in " << kThreadName;
|
using Tag = StreamDescriptor::Command::Tag;
|
||||||
|
using LogSeverity = ::android::base::LogSeverity;
|
||||||
|
const LogSeverity severity =
|
||||||
|
command.getTag() == Tag::burst || command.getTag() == Tag::getStatus
|
||||||
|
? LogSeverity::VERBOSE
|
||||||
|
: LogSeverity::DEBUG;
|
||||||
|
LOG(severity) << __func__ << ": received command " << command.toString() << " in "
|
||||||
|
<< kThreadName;
|
||||||
StreamDescriptor::Reply reply{};
|
StreamDescriptor::Reply reply{};
|
||||||
reply.status = STATUS_BAD_VALUE;
|
reply.status = STATUS_BAD_VALUE;
|
||||||
using Tag = StreamDescriptor::Command::Tag;
|
using Tag = StreamDescriptor::Command::Tag;
|
||||||
|
@ -383,8 +396,8 @@ StreamOutWorkerLogic::Status StreamOutWorkerLogic::cycle() {
|
||||||
} break;
|
} break;
|
||||||
case Tag::burst:
|
case Tag::burst:
|
||||||
if (const int32_t fmqByteCount = command.get<Tag::burst>(); fmqByteCount >= 0) {
|
if (const int32_t fmqByteCount = command.get<Tag::burst>(); fmqByteCount >= 0) {
|
||||||
LOG(DEBUG) << __func__ << ": '" << toString(command.getTag()) << "' command for "
|
LOG(VERBOSE) << __func__ << ": '" << toString(command.getTag()) << "' command for "
|
||||||
<< fmqByteCount << " bytes";
|
<< fmqByteCount << " bytes";
|
||||||
if (mState != StreamDescriptor::State::ERROR &&
|
if (mState != StreamDescriptor::State::ERROR &&
|
||||||
mState != StreamDescriptor::State::TRANSFERRING &&
|
mState != StreamDescriptor::State::TRANSFERRING &&
|
||||||
mState != StreamDescriptor::State::TRANSFER_PAUSED) {
|
mState != StreamDescriptor::State::TRANSFER_PAUSED) {
|
||||||
|
@ -499,7 +512,7 @@ StreamOutWorkerLogic::Status StreamOutWorkerLogic::cycle() {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
reply.state = mState;
|
reply.state = mState;
|
||||||
LOG(DEBUG) << __func__ << ": writing reply " << reply.toString();
|
LOG(severity) << __func__ << ": writing reply " << reply.toString();
|
||||||
if (!mReplyMQ->writeBlocking(&reply, 1)) {
|
if (!mReplyMQ->writeBlocking(&reply, 1)) {
|
||||||
LOG(ERROR) << __func__ << ": writing of reply " << reply.toString() << " to MQ failed";
|
LOG(ERROR) << __func__ << ": writing of reply " << reply.toString() << " to MQ failed";
|
||||||
mState = StreamDescriptor::State::ERROR;
|
mState = StreamDescriptor::State::ERROR;
|
||||||
|
@ -514,8 +527,8 @@ bool StreamOutWorkerLogic::write(size_t clientSize, StreamDescriptor::Reply* rep
|
||||||
int32_t latency = Module::kLatencyMs;
|
int32_t latency = Module::kLatencyMs;
|
||||||
if (bool success = readByteCount > 0 ? mDataMQ->read(&mDataBuffer[0], readByteCount) : true) {
|
if (bool success = readByteCount > 0 ? mDataMQ->read(&mDataBuffer[0], readByteCount) : true) {
|
||||||
const bool isConnected = mIsConnected;
|
const bool isConnected = mIsConnected;
|
||||||
LOG(DEBUG) << __func__ << ": reading of " << readByteCount << " bytes from data MQ"
|
LOG(VERBOSE) << __func__ << ": reading of " << readByteCount << " bytes from data MQ"
|
||||||
<< " succeeded; connected? " << isConnected;
|
<< " succeeded; connected? " << isConnected;
|
||||||
// Amount of data that the HAL module is going to actually use.
|
// Amount of data that the HAL module is going to actually use.
|
||||||
size_t byteCount = std::min({clientSize, readByteCount, mDataBufferSize});
|
size_t byteCount = std::min({clientSize, readByteCount, mDataBufferSize});
|
||||||
if (byteCount >= mFrameSize && mForceTransientBurst) {
|
if (byteCount >= mFrameSize && mForceTransientBurst) {
|
||||||
|
|
|
@ -35,6 +35,8 @@ int main() {
|
||||||
|
|
||||||
// This is a debug implementation, always enable debug logging.
|
// This is a debug implementation, always enable debug logging.
|
||||||
android::base::SetMinimumLogSeverity(::android::base::DEBUG);
|
android::base::SetMinimumLogSeverity(::android::base::DEBUG);
|
||||||
|
// For more logs, use VERBOSE, however this may hinder performance.
|
||||||
|
// android::base::SetMinimumLogSeverity(::android::base::VERBOSE);
|
||||||
ABinderProcess_setThreadPoolMaxThreadCount(16);
|
ABinderProcess_setThreadPoolMaxThreadCount(16);
|
||||||
|
|
||||||
// Make the default config service
|
// Make the default config service
|
||||||
|
|
Loading…
Reference in a new issue