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

Commit 495d8f29 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "AudioFlinger: Log audio attributes in dumpsys"

parents 7048c863 5f2136e6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ public:
                            audio_format_t format,
                            audio_channel_mask_t channelMask,
                            audio_session_t sessionId,
                            bool isOut,
                            uid_t uid,
                            pid_t pid,
                            audio_port_handle_t portId = AUDIO_PORT_HANDLE_NONE);
@@ -40,7 +41,7 @@ public:
    virtual void        stop();
    virtual bool        isFastTrack() const { return false; }

     static void        appendDumpHeader(String8& result);
            void        appendDumpHeader(String8& result);
            void        appendDump(String8& result, bool active);

                        // protected by MMapThread::mLock
+2 −2
Original line number Diff line number Diff line
@@ -8170,7 +8170,7 @@ status_t AudioFlinger::MmapThread::start(const AudioClient& client,

    // Given that MmapThread::mAttr is mutable, should a MmapTrack have attributes ?
    sp<MmapTrack> track = new MmapTrack(this, mAttr, mSampleRate, mFormat, mChannelMask, mSessionId,
                                        client.clientUid, client.clientPid, portId);
                                        isOutput(), client.clientUid, client.clientPid, portId);

    track->setSilenced_l(silenced);
    mActiveTracks.add(track);
@@ -8696,7 +8696,7 @@ void AudioFlinger::MmapThread::dumpTracks(int fd, const Vector<String16>& args _
    const char *prefix = "    ";
    if (numtracks) {
        result.append(prefix);
        MmapTrack::appendDumpHeader(result);
        mActiveTracks[0]->appendDumpHeader(result);
        for (size_t i = 0; i < numtracks ; ++i) {
            sp<MmapTrack> track = mActiveTracks[i];
            result.append(prefix);
+37 −19
Original line number Diff line number Diff line
@@ -495,7 +495,8 @@ void AudioFlinger::PlaybackThread::Track::appendDumpHeader(String8& result)
{
    result.appendFormat("T Name Active Client Session S  Flags "
                        "  Format Chn mask  SRate "
                  "ST  L dB  R dB  VS dB "
                        "ST Usg CT "
                        " G db  L dB  R dB  VS dB "
                        "  Server FrmCnt  FrmRdy F Underruns  Flushed"
                        "%s\n",
                        isServerLatencySupported() ? "   Latency" : "");
@@ -584,7 +585,8 @@ void AudioFlinger::PlaybackThread::Track::appendDump(String8& result, bool activ

    result.appendFormat("%7s %6u %7u %2s 0x%03X "
                        "%08X %08X %6u "
                           "%2u %5.2g %5.2g %5.2g%c "
                        "%2u %3x %2x "
                        "%5.2g %5.2g %5.2g %5.2g%c "
                        "%08X %6zu%c %6zu %c %9u%c %7u",
            active ? "yes" : "no",
            (mClient == 0) ? getpid() : mClient->pid(),
@@ -597,6 +599,10 @@ void AudioFlinger::PlaybackThread::Track::appendDump(String8& result, bool activ
            sampleRate(),

            mStreamType,
            mAttr.usage,
            mAttr.content_type,

            20.0 * log10(mFinalVolume),
            20.0 * log10(float_from_gain(gain_minifloat_unpack_left(vlr))),
            20.0 * log10(float_from_gain(gain_minifloat_unpack_right(vlr))),
            20.0 * log10(vsVolume.first), // VolumeShaper(s) total volume
@@ -1809,14 +1815,16 @@ void AudioFlinger::RecordThread::RecordTrack::invalidate()

void AudioFlinger::RecordThread::RecordTrack::appendDumpHeader(String8& result)
{
    result.appendFormat("Active Client Session S  Flags   Format Chn mask  SRate   Server"
            " FrmCnt FrmRdy Sil%s\n", isServerLatencySupported() ? "   Latency" : "");
    result.appendFormat("Active Client Session S  Flags  "
                        " Format Chn mask  SRate Source "
                        " Server FrmCnt FrmRdy Sil%s\n",
                        isServerLatencySupported() ? "   Latency" : "");
}

void AudioFlinger::RecordThread::RecordTrack::appendDump(String8& result, bool active)
{
    result.appendFormat("%c%5s %6u %7u %2s 0x%03X "
            "%08X %08X %6u "
            "%08X %08X %6u %6X "
            "%08X %6zu %6zu %3c",
            isFastTrack() ? 'F' : ' ',
            active ? "yes" : "no",
@@ -1828,6 +1836,7 @@ void AudioFlinger::RecordThread::RecordTrack::appendDump(String8& result, bool a
            mFormat,
            mChannelMask,
            mSampleRate,
            mAttr.source,

            mCblk->mServer,
            mFrameCount,
@@ -1988,13 +1997,14 @@ AudioFlinger::MmapThread::MmapTrack::MmapTrack(ThreadBase *thread,
        audio_format_t format,
        audio_channel_mask_t channelMask,
        audio_session_t sessionId,
        bool isOut,
        uid_t uid,
        pid_t pid,
        audio_port_handle_t portId)
    :   TrackBase(thread, NULL, attr, sampleRate, format,
                  channelMask, (size_t)0 /* frameCount */,
                  nullptr /* buffer */, (size_t)0 /* bufferSize */,
                  sessionId, uid, false /* isOut */,
                  sessionId, uid, isOut,
                  ALLOC_NONE,
                  TYPE_DEFAULT, portId),
        mPid(pid), mSilenced(false), mSilencedNotified(false)
@@ -2042,19 +2052,27 @@ void AudioFlinger::MmapThread::MmapTrack::onTimestamp(const ExtendedTimestamp &t
{
}

/*static*/ void AudioFlinger::MmapThread::MmapTrack::appendDumpHeader(String8& result)
void AudioFlinger::MmapThread::MmapTrack::appendDumpHeader(String8& result)
{
    result.append("Client Session   Format Chn mask  SRate\n");
    result.appendFormat("Client Session   Format Chn mask  SRate Flags %s\n",
                        isOut() ? "Usg CT": "Source");
}

void AudioFlinger::MmapThread::MmapTrack::appendDump(String8& result, bool active __unused)
{
    result.appendFormat("%6u %7u %08X %08X %6u\n",
    result.appendFormat("%6u %7u %08X %08X %6u 0x%03X ",
            mPid,
            mSessionId,
            mFormat,
            mChannelMask,
            mSampleRate);
            mSampleRate,
            mAttr.flags);
    if (isOut()) {
        result.appendFormat("%3x %2x", mAttr.usage, mAttr.content_type);
    } else {
        result.appendFormat("%6x", mAttr.source);
    }
    result.append("\n");
}

} // namespace android