Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f72fd46 authored by Mikhail Naganov's avatar Mikhail Naganov
Browse files

audio: Change log severity for audio I/O commands

To reduce log spam, change log severity of commands
for audio I/O to "verbose".

Bug: 205884982
Test: check logcat
Change-Id: I90dbf7d422064061f38d780f890407b24f787f5a
parent 5324db06
Loading
Loading
Loading
Loading
+26 −13
Original line number Original line Diff line number Diff line
@@ -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,7 +172,7 @@ 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 ||
@@ -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,7 +290,7 @@ 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;
@@ -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,7 +396,7 @@ 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 &&
@@ -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,7 +527,7 @@ 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});
+2 −0
Original line number Original line Diff line number Diff line
@@ -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