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

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

Merge "Fix crash in Opus and Vorbis decoders" into oc-dev

parents 5783ee1c b607c45a
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -350,11 +350,6 @@ void SoftOpus::onQueueFilled(OMX_U32 portIndex) {
        const uint8_t *data = header->pBuffer + header->nOffset;
        size_t size = header->nFilledLen;

        if ((header->nFlags & OMX_BUFFERFLAG_EOS) && size == 0) {
            header->nFlags &= ~OMX_BUFFERFLAG_CODECCONFIG;
            goto L_eos;
        }

        if (mInputBufferCount == 0) {
            CHECK(mHeader == NULL);
            mHeader = new OpusHeader();
@@ -413,11 +408,6 @@ void SoftOpus::onQueueFilled(OMX_U32 portIndex) {
            mOutputPortSettingsChange = AWAITING_DISABLED;
        }

        if (header->nFlags & OMX_BUFFERFLAG_EOS) {
            header->nFilledLen = 0;
            header->nFlags &= ~OMX_BUFFERFLAG_CODECCONFIG;
            goto L_eos;
        }
        inQueue.erase(inQueue.begin());
        info->mOwnedByUs = false;
        notifyEmptyBufferDone(header);
@@ -425,7 +415,6 @@ void SoftOpus::onQueueFilled(OMX_U32 portIndex) {
        return;
    }

L_eos:
    while (!inQueue.empty() && !outQueue.empty()) {
        BufferInfo *inInfo = *inQueue.begin();
        OMX_BUFFERHEADERTYPE *inHeader = inInfo->mHeader;
+0 −11
Original line number Diff line number Diff line
@@ -274,11 +274,6 @@ void SoftVorbis::onQueueFilled(OMX_U32 portIndex) {

        const uint8_t *data = header->pBuffer + header->nOffset;
        size_t size = header->nFilledLen;

        if ((header->nFlags & OMX_BUFFERFLAG_EOS) && size == 0) {
            goto L_eos;
        }

        if (size < 7) {
            ALOGE("Too small input buffer: %zu bytes", size);
            android_errorWriteLog(0x534e4554, "27833616");
@@ -322,11 +317,6 @@ void SoftVorbis::onQueueFilled(OMX_U32 portIndex) {
            mOutputPortSettingsChange = AWAITING_DISABLED;
        }

        if (header->nFlags & OMX_BUFFERFLAG_EOS) {
            header->nFilledLen = 0;
            goto L_eos;
        }

        inQueue.erase(inQueue.begin());
        info->mOwnedByUs = false;
        notifyEmptyBufferDone(header);
@@ -336,7 +326,6 @@ void SoftVorbis::onQueueFilled(OMX_U32 portIndex) {
        return;
    }

L_eos:
    while ((!inQueue.empty() || (mSawInputEos && !mSignalledOutputEos)) && !outQueue.empty()) {
        BufferInfo *inInfo = NULL;
        OMX_BUFFERHEADERTYPE *inHeader = NULL;