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

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

Merge "AAudio Metrics: Pipe new hardware metrics"

parents 13c8d7e0 f49223c6
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -130,7 +130,11 @@ void AudioStream::logOpenActual() {
            .set(AMEDIAMETRICS_PROP_BUFFERCAPACITYFRAMES, getBufferCapacity())
            .set(AMEDIAMETRICS_PROP_BURSTFRAMES, getFramesPerBurst())
            .set(AMEDIAMETRICS_PROP_DIRECTION,
                AudioGlobal_convertDirectionToText(getDirection()));
                    AudioGlobal_convertDirectionToText(getDirection()))
            .set(AMEDIAMETRICS_PROP_ENCODINGHARDWARE,
                    android::toString(getHardwareFormat()).c_str())
            .set(AMEDIAMETRICS_PROP_CHANNELCOUNTHARDWARE, (int32_t)getHardwareSamplesPerFrame())
            .set(AMEDIAMETRICS_PROP_SAMPLERATEHARDWARE, (int32_t)getHardwareSampleRate());

        if (getDirection() == AAUDIO_DIRECTION_OUTPUT) {
            item.set(AMEDIAMETRICS_PROP_PLAYERIID, mPlayerBase->getPlayerIId());
+3 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@
#define AMEDIAMETRICS_PROP_BURSTFRAMES    "burstFrames"    // int32
#define AMEDIAMETRICS_PROP_CALLERNAME     "callerName"     // string, eg. "aaudio"
#define AMEDIAMETRICS_PROP_CHANNELCOUNT   "channelCount"   // int32
#define AMEDIAMETRICS_PROP_CHANNELCOUNTHARDWARE "channelCountHardware" // int32
#define AMEDIAMETRICS_PROP_CHANNELMASK    "channelMask"    // int32
#define AMEDIAMETRICS_PROP_CHANNELMASKS   "channelMasks"   // string with channelMask values
                                                           // separated by |.
@@ -147,6 +148,7 @@
#define AMEDIAMETRICS_PROP_DURATIONNS     "durationNs"     // int64 duration time span
#define AMEDIAMETRICS_PROP_ENABLED        "enabled"        // string true/false.
#define AMEDIAMETRICS_PROP_ENCODING       "encoding"       // string value of format
#define AMEDIAMETRICS_PROP_ENCODINGHARDWARE "encodingHardware" // string value of hardware format

#define AMEDIAMETRICS_PROP_EVENT          "event#"         // string value (often func name)
#define AMEDIAMETRICS_PROP_EXECUTIONTIMENS "executionTimeNs"  // time to execute the event
@@ -182,6 +184,7 @@
#define AMEDIAMETRICS_PROP_PLAYERIID      "playerIId"      // int32 (-1 invalid/unset IID)
#define AMEDIAMETRICS_PROP_ROUTEDDEVICEID "routedDeviceId" // int32
#define AMEDIAMETRICS_PROP_SAMPLERATE     "sampleRate"     // int32
#define AMEDIAMETRICS_PROP_SAMPLERATEHARDWARE "sampleRateHardware" // int32
#define AMEDIAMETRICS_PROP_SELECTEDDEVICEID "selectedDeviceId" // int32
#define AMEDIAMETRICS_PROP_SELECTEDMICDIRECTION "selectedMicDirection" // int32
#define AMEDIAMETRICS_PROP_SELECTEDMICFIELDDIRECTION "selectedMicFieldDimension" // double
+26 −1
Original line number Diff line number Diff line
@@ -238,6 +238,9 @@ static constexpr const char * const AAudioStreamFields[] {
    "sample_rate",
    "content_type",
    "sharing_requested",
    "format_hardware",
    "channel_count_hardware",
    "sample_rate_hardware",
};

static constexpr const char * HeadTrackerDeviceEnabledFields[] {
@@ -1360,6 +1363,19 @@ void AudioAnalytics::AAudioStreamInfo::endAAudioStream(
    const auto sharingModeRequested =
            types::lookup<types::AAUDIO_SHARING_MODE, int32_t>(sharingModeRequestedStr);

    std::string formatHardwareStr;
    mAudioAnalytics.mAnalyticsState->timeMachine().get(
            key, AMEDIAMETRICS_PROP_ENCODINGHARDWARE, &formatHardwareStr);
    const auto formatHardware = types::lookup<types::ENCODING, int32_t>(formatHardwareStr);

    int32_t channelCountHardware = -1;
    mAudioAnalytics.mAnalyticsState->timeMachine().get(
            key, AMEDIAMETRICS_PROP_CHANNELCOUNTHARDWARE, &channelCountHardware);

    int32_t sampleRateHardware = 0;
    mAudioAnalytics.mAnalyticsState->timeMachine().get(
            key, AMEDIAMETRICS_PROP_SAMPLERATEHARDWARE, &sampleRateHardware);

    LOG(LOG_LEVEL) << "key:" << key
            << " path:" << path
            << " direction:" << direction << "(" << directionStr << ")"
@@ -1379,7 +1395,10 @@ void AudioAnalytics::AAudioStreamInfo::endAAudioStream(
            << " sample_rate: " << sampleRate
            << " content_type: " << contentType << "(" << contentTypeStr << ")"
            << " sharing_requested:" << sharingModeRequested
                    << "(" << sharingModeRequestedStr << ")";
                    << "(" << sharingModeRequestedStr << ")"
            << " format_hardware:" << formatHardware << "(" << formatHardwareStr << ")"
            << " channel_count_hardware:" << channelCountHardware
            << " sample_rate_hardware: " << sampleRateHardware;

    if (mAudioAnalytics.mDeliverStatistics) {
        const stats::media_metrics::BytesField bf_serialized(
@@ -1404,6 +1423,9 @@ void AudioAnalytics::AAudioStreamInfo::endAAudioStream(
                , sampleRate
                , contentType
                , sharingModeRequested
                , formatHardware
                , channelCountHardware
                , sampleRateHardware
                );
        std::stringstream ss;
        ss << "result:" << result;
@@ -1427,6 +1449,9 @@ void AudioAnalytics::AAudioStreamInfo::endAAudioStream(
                , sampleRate
                , contentType
                , sharingModeRequested
                , formatHardware
                , channelCountHardware
                , sampleRateHardware
                );
        ss << " " << fieldsStr;
        std::string str = ss.str();