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

Commit df7d8199 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6554163 from a014280f to mainline-release

Change-Id: I5248492491ae8ed369326a9f5c4350804a041ced
parents 0bd0f7b5 a014280f
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -288,7 +288,7 @@ aaudio_result_t AudioStreamInternal::release_l() {
            requestStop();
        }

        logBufferState();
        logReleaseBufferState();

        setState(AAUDIO_STREAM_STATE_CLOSING);
        aaudio_handle_t serviceStreamHandle = mServiceStreamHandle;
@@ -783,6 +783,14 @@ aaudio_result_t AudioStreamInternal::setBufferSize(int32_t requestedFrames) {
        adjustedFrames = std::min(actualFrames, adjustedFrames);
    }

    if (adjustedFrames != mBufferSizeInFrames) {
        android::mediametrics::LogItem(mMetricsId)
                .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_SETBUFFERSIZE)
                .set(AMEDIAMETRICS_PROP_BUFFERSIZEFRAMES, adjustedFrames)
                .set(AMEDIAMETRICS_PROP_UNDERRUN, (int32_t) getXRunCount())
                .record();
    }

    mBufferSizeInFrames = adjustedFrames;
    ALOGV("%s(%d) returns %d", __func__, requestedFrames, adjustedFrames);
    return (aaudio_result_t) adjustedFrames;
+2 −1
Original line number Diff line number Diff line
@@ -116,9 +116,10 @@ void AudioStream::logOpen() {
    }
}

void AudioStream::logBufferState() {
void AudioStream::logReleaseBufferState() {
    if (mMetricsId.size() > 0) {
        android::mediametrics::LogItem(mMetricsId)
                .set(AMEDIAMETRICS_PROP_EVENT, AMEDIAMETRICS_PROP_EVENT_VALUE_RELEASE)
                .set(AMEDIAMETRICS_PROP_BUFFERSIZEFRAMES, (int32_t) getBufferSize())
                .set(AMEDIAMETRICS_PROP_UNDERRUN, (int32_t) getXRunCount())
                .record();
+1 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ public:

    // log to MediaMetrics
    virtual void logOpen();
    void logBufferState();
    void logReleaseBufferState();

    /**
     * Free any hardware or system resources from the open() call.
+1 −1
Original line number Diff line number Diff line
@@ -292,7 +292,7 @@ aaudio_result_t AudioStreamRecord::release_l() {
    //  Then call it from here
    if (getState() != AAUDIO_STREAM_STATE_CLOSING) {
        mAudioRecord->removeAudioDeviceCallback(mDeviceCallback);
        logBufferState();
        logReleaseBufferState();
        mAudioRecord.clear();
        mFixedBlockWriter.close();
        return AudioStream::release_l();
+1 −1
Original line number Diff line number Diff line
@@ -254,7 +254,7 @@ aaudio_result_t AudioStreamTrack::open(const AudioStreamBuilder& builder)
aaudio_result_t AudioStreamTrack::release_l() {
    if (getState() != AAUDIO_STREAM_STATE_CLOSING) {
        mAudioTrack->removeAudioDeviceCallback(mDeviceCallback);
        logBufferState();
        logReleaseBufferState();
        // TODO Investigate why clear() causes a hang in test_various.cpp
        // if I call close() from a data callback.
        // But the same thing in AudioRecord is OK!
Loading