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

Commit 333b2d57 authored by Wei Jia's avatar Wei Jia Committed by android-build-merger
Browse files

Merge "NuPlayerDecoder: fail gracefully when input data can't be held in...

Merge "NuPlayerDecoder: fail gracefully when input data can't be held in allocated buffer." into lmp-mr1-dev am: 3b1a9c3f am: 2675f4ca
am: 6a2a5b58

Change-Id: Ic443f079bcb1213921a3bf61a13dbfe83ce2a63e
parents e138ca8b 6a2a5b58
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -526,7 +526,10 @@ bool NuPlayer::Decoder::handleAnInputBuffer(size_t index) {
        ALOGI("[%s] resubmitting CSD", mComponentName.c_str());
        msg->setBuffer("buffer", buffer);
        mCSDsToSubmit.removeAt(0);
        CHECK(onInputBufferFetched(msg));
        if (!onInputBufferFetched(msg)) {
            handleError(UNKNOWN_ERROR);
            return false;
        }
        return true;
    }

@@ -863,7 +866,11 @@ bool NuPlayer::Decoder::onInputBufferFetched(const sp<AMessage> &msg) {

        // copy into codec buffer
        if (buffer != codecBuffer) {
            CHECK_LE(buffer->size(), codecBuffer->capacity());
            if (buffer->size() > codecBuffer->capacity()) {
                handleError(ERROR_BUFFER_TOO_SMALL);
                mDequeuedInputBuffers.push_back(bufferIx);
                return false;
            }
            codecBuffer->setRange(0, buffer->size());
            memcpy(codecBuffer->data(), buffer->data(), buffer->size());
        }