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

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

Merge "MediaMetrics: Add LogSessionId" into sc-dev

parents e76acbc2 3a5c2f3a
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1857,6 +1857,7 @@ status_t AudioTrack::createTrack_l()
        .set(AMEDIAMETRICS_PROP_FLAGS, toString(mFlags).c_str())
        .set(AMEDIAMETRICS_PROP_ORIGINALFLAGS, toString(mOrigFlags).c_str())
        .set(AMEDIAMETRICS_PROP_SESSIONID, (int32_t)mSessionId)
        .set(AMEDIAMETRICS_PROP_LOGSESSIONID, mLogSessionId)
        .set(AMEDIAMETRICS_PROP_PLAYERIID, mPlayerIId)
        .set(AMEDIAMETRICS_PROP_TRACKID, mPortId) // dup from key
        .set(AMEDIAMETRICS_PROP_CONTENTTYPE, toString(mAttributes.content_type).c_str())
@@ -3264,6 +3265,18 @@ uint32_t AudioTrack::getUnderrunFrames() const
    return mProxy->getUnderrunFrames();
}

void AudioTrack::setLogSessionId(const char *logSessionId)
{
     AutoMutex lock(mLock);
    if (mLogSessionId == logSessionId) return;

     mLogSessionId = logSessionId;
     mediametrics::LogItem(mMetricsId)
         .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_SETLOGSESSIONID)
         .set(AMEDIAMETRICS_PROP_LOGSESSIONID, logSessionId)
         .record();
}

void AudioTrack::setPlayerIId(int playerIId)
{
    AutoMutex lock(mLock);
+11 −0
Original line number Diff line number Diff line
@@ -986,6 +986,11 @@ public:
     */
            audio_port_handle_t getPortId() const { return mPortId; };

    /* Sets the LogSessionId field which is used for metrics association of
     * this object with other objects.
     */
            void setLogSessionId(const char *logSessionId);

    /* Sets the playerIId field to associate the AudioTrack with an interface managed by
     * AudioService.
     *
@@ -1272,6 +1277,12 @@ public:
     */
    int                     mPlayerIId = -1;  // AudioManager.h PLAYER_PIID_INVALID

    /**
     * mLogSessionId is a string identifying this AudioTrack for the metrics service.
     * It may be unique or shared with other objects.
     */
    std::string             mLogSessionId{};

    mutable Mutex           mLock;

    int                     mPreviousPriority;          // before start()
+2 −0
Original line number Diff line number Diff line
@@ -125,6 +125,7 @@
#define AMEDIAMETRICS_PROP_INPUTDEVICES   "inputDevices"   // string value
#define AMEDIAMETRICS_PROP_INTERVALCOUNT  "intervalCount"  // int32
#define AMEDIAMETRICS_PROP_LATENCYMS      "latencyMs"      // double value
#define AMEDIAMETRICS_PROP_LOGSESSIONID   "logSessionId"   // hex string, "" none
#define AMEDIAMETRICS_PROP_NAME           "name"           // string value
#define AMEDIAMETRICS_PROP_ORIGINALFLAGS  "originalFlags"  // int32
#define AMEDIAMETRICS_PROP_OUTPUTDEVICES  "outputDevices"  // string value
@@ -182,6 +183,7 @@
#define AMEDIAMETRICS_PROP_EVENT_VALUE_RESTORE    "restore"
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETMODE    "setMode" // AudioFlinger
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETBUFFERSIZE    "setBufferSize" // AudioTrack
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETLOGSESSIONID  "setLogSessionId" // AudioTrack, Record
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYBACKPARAM "setPlaybackParam" // AudioTrack
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETPLAYERIID "setPlayerIId" // AudioTrack
#define AMEDIAMETRICS_PROP_EVENT_VALUE_SETVOICEVOLUME   "setVoiceVolume" // AudioFlinger