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

Commit 3cd582b9 authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 7629638 from 95d574a2 to sc-qpr1-release

Change-Id: I7ce5aa3b6a123c70edb603eb197585cf84ba944f
parents 0c1ce4ef 95d574a2
Loading
Loading
Loading
Loading
+2 −19
Original line number Diff line number Diff line
@@ -1572,25 +1572,8 @@ status_t CCodec::setupInputSurface(const std::shared_ptr<InputSurfaceWrapper> &s

    // configure dataspace
    static_assert(sizeof(int32_t) == sizeof(android_dataspace), "dataspace size mismatch");

    // The output format contains app-configured color aspects, and the input format
    // has the default color aspects. Use the default for the unspecified params.
    ColorAspects inputColorAspects, outputColorAspects;
    getColorAspectsFromFormat(config->mOutputFormat, outputColorAspects);
    getColorAspectsFromFormat(config->mInputFormat, inputColorAspects);
    if (outputColorAspects.mRange == ColorAspects::RangeUnspecified) {
        outputColorAspects.mRange = inputColorAspects.mRange;
    }
    if (outputColorAspects.mPrimaries == ColorAspects::PrimariesUnspecified) {
        outputColorAspects.mPrimaries = inputColorAspects.mPrimaries;
    }
    if (outputColorAspects.mTransfer == ColorAspects::TransferUnspecified) {
        outputColorAspects.mTransfer = inputColorAspects.mTransfer;
    }
    if (outputColorAspects.mMatrixCoeffs == ColorAspects::MatrixUnspecified) {
        outputColorAspects.mMatrixCoeffs = inputColorAspects.mMatrixCoeffs;
    }
    android_dataspace dataSpace = getDataSpaceForColorAspects(outputColorAspects, false);
    android_dataspace dataSpace = HAL_DATASPACE_UNKNOWN;
    (void)config->mInputFormat->findInt32("android._dataspace", (int32_t*)&dataSpace);
    surface->setDataSpace(dataSpace);

    status_t err = mChannel->setInputSurface(surface);
+5 −2
Original line number Diff line number Diff line
@@ -155,8 +155,11 @@ aaudio_result_t AudioStreamInternal::open(const AudioStreamBuilder &builder) {

    // This must match the key generated in oboeservice/AAudioServiceStreamBase.cpp
    // so the client can have permission to log.
    if (!mInService) {
        // No need to log if it is from service side.
        mMetricsId = std::string(AMEDIAMETRICS_KEY_PREFIX_AUDIO_STREAM)
                     + std::to_string(mServiceStreamHandle);
    }

    android::mediametrics::LogItem(mMetricsId)
            .set(AMEDIAMETRICS_PROP_PERFORMANCEMODE,
+20 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@
#include <audio_utils/clock.h>    // clock conversions
#include <cutils/properties.h>
#include <statslog.h>             // statsd
#include <system/audio.h>

#include "AudioTypes.h"           // string to int conversions
#include "MediaMetricsService.h"  // package info
@@ -957,6 +958,25 @@ void AudioAnalytics::AAudioStreamInfo::endAAudioStream(
    int32_t channelCount = -1;
    mAudioAnalytics.mAnalyticsState->timeMachine().get(
            key, AMEDIAMETRICS_PROP_CHANNELCOUNT, &channelCount);
    if (channelCount == -1) {
        // Try to get channel count from channel mask. From the legacy path,
        // only channel mask are logged.
        int32_t channelMask = 0;
        mAudioAnalytics.mAnalyticsState->timeMachine().get(
                key, AMEDIAMETRICS_PROP_CHANNELMASK, &channelMask);
        if (channelMask != 0) {
            switch (direction) {
                case 1: // Output, keep sync with AudioTypes#getAAudioDirection()
                    channelCount = audio_channel_count_from_out_mask(channelMask);
                    break;
                case 2: // Input, keep sync with AudioTypes#getAAudioDirection()
                    channelCount = audio_channel_count_from_in_mask(channelMask);
                    break;
                default:
                    ALOGW("Invalid direction %d", direction);
            }
        }
    }

    int64_t totalFramesTransferred = -1;
    mAudioAnalytics.mAnalyticsState->timeMachine().get(