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

Commit cc0ec44a authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "Add logging of written frame counts" into nyc-mr1-dev

parents cb3e2e77 2c45393d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -412,6 +412,7 @@ void FastMixer::onWork()
            }
            ftDump->mUnderruns = underruns;
            ftDump->mFramesReady = framesReady;
            ftDump->mFramesWritten = trackFramesWritten;
        }

        if (anyEnabledTracks) {
+5 −3
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@ void FastMixerDumpState::dump(int fd) const
    uint32_t trackMask = mTrackMask;
    dprintf(fd, "  Fast tracks: sMaxFastTracks=%u activeMask=%#x\n",
            FastMixerState::sMaxFastTracks, trackMask);
    dprintf(fd, "  Index Active Full Partial Empty  Recent Ready\n");
    dprintf(fd, "  Index Active Full Partial Empty  Recent Ready    Written\n");
    for (uint32_t i = 0; i < FastMixerState::sMaxFastTracks; ++i, trackMask >>= 1) {
        bool isActive = trackMask & 1;
        const FastTrackDump *ftDump = &mTracks[i];
@@ -188,11 +188,13 @@ void FastMixerDumpState::dump(int fd) const
            mostRecent = "?";
            break;
        }
        dprintf(fd, "  %5u %6s %4u %7u %5u %7s %5zu\n", i, isActive ? "yes" : "no",
        dprintf(fd, "  %5u %6s %4u %7u %5u %7s %5zu %10lld\n",
                i, isActive ? "yes" : "no",
                (underruns.mBitFields.mFull) & UNDERRUN_MASK,
                (underruns.mBitFields.mPartial) & UNDERRUN_MASK,
                (underruns.mBitFields.mEmpty) & UNDERRUN_MASK,
                mostRecent, ftDump->mFramesReady);
                mostRecent, ftDump->mFramesReady,
                (long long)ftDump->mFramesWritten);
    }
}

+1 −0
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ struct FastTrackDump {
    /*virtual*/ ~FastTrackDump() { }
    FastTrackUnderruns  mUnderruns;
    size_t              mFramesReady;        // most recent value only; no long-term statistics kept
    int64_t             mFramesWritten;      // last value from track
};

struct FastMixerDumpState : FastThreadDumpState {
+9 −0
Original line number Diff line number Diff line
@@ -1826,6 +1826,15 @@ void AudioFlinger::PlaybackThread::dumpInternals(int fd, const Vector<String16>&
    audio_output_flags_t flags = output != NULL ? output->flags : AUDIO_OUTPUT_FLAG_NONE;
    String8 flagsAsString = outputFlagsToString(flags);
    dprintf(fd, "  AudioStreamOut: %p flags %#x (%s)\n", output, flags, flagsAsString.string());
    dprintf(fd, "  Frames written: %lld\n", (long long)mFramesWritten);
    dprintf(fd, "  Suspended frames: %lld\n", (long long)mSuspendedFrames);
    if (mPipeSink.get() != nullptr) {
        dprintf(fd, "  PipeSink frames written: %lld\n", (long long)mPipeSink->framesWritten());
    }
    if (output != nullptr) {
        dprintf(fd, "  Hal stream dump:\n");
        (void)output->stream->common.dump(&output->stream->common, fd);
    }
}

// Thread virtuals