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

Commit 8080b95b authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add logging of written frame counts"

parents 290e7ed8 e8779bbf
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
@@ -1726,6 +1726,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