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

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

Merge "CCodec: update skip-cut-buffers for relevant setting changes only" into rvc-dev

parents 7bb5d6ab 40b0b1da
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -127,20 +127,26 @@ void OutputBuffers::initSkipCutBuffer(
    mDelay = delay;
    mPadding = padding;
    mSampleRate = sampleRate;
    setSkipCutBuffer(delay, padding, channelCount);
    mChannelCount = channelCount;
    setSkipCutBuffer(delay, padding);
}

void OutputBuffers::updateSkipCutBuffer(int32_t sampleRate, int32_t channelCount) {
    if (mSkipCutBuffer == nullptr) {
        return;
    }
    if (mSampleRate == sampleRate && mChannelCount == channelCount) {
        return;
    }
    int32_t delay = mDelay;
    int32_t padding = mPadding;
    if (sampleRate != mSampleRate) {
        delay = ((int64_t)delay * sampleRate) / mSampleRate;
        padding = ((int64_t)padding * sampleRate) / mSampleRate;
    }
    setSkipCutBuffer(delay, padding, channelCount);
    mSampleRate = sampleRate;
    mChannelCount = channelCount;
    setSkipCutBuffer(delay, padding);
}

void OutputBuffers::submit(const sp<MediaCodecBuffer> &buffer) {
@@ -153,14 +159,14 @@ void OutputBuffers::transferSkipCutBuffer(const sp<SkipCutBuffer> &scb) {
    mSkipCutBuffer = scb;
}

void OutputBuffers::setSkipCutBuffer(int32_t skip, int32_t cut, int32_t channelCount) {
void OutputBuffers::setSkipCutBuffer(int32_t skip, int32_t cut) {
    if (mSkipCutBuffer != nullptr) {
        size_t prevSize = mSkipCutBuffer->size();
        if (prevSize != 0u) {
            ALOGD("[%s] Replacing SkipCutBuffer holding %zu bytes", mName, prevSize);
        }
    }
    mSkipCutBuffer = new SkipCutBuffer(skip, cut, channelCount);
    mSkipCutBuffer = new SkipCutBuffer(skip, cut, mChannelCount);
}

// LocalBufferPool
+2 −1
Original line number Diff line number Diff line
@@ -228,8 +228,9 @@ private:
    int32_t mDelay;
    int32_t mPadding;
    int32_t mSampleRate;
    int32_t mChannelCount;

    void setSkipCutBuffer(int32_t skip, int32_t cut, int32_t channelCount);
    void setSkipCutBuffer(int32_t skip, int32_t cut);

    DISALLOW_EVIL_CONSTRUCTORS(OutputBuffers);
};