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

Commit b69a4ed1 authored by Pawin Vongmasa's avatar Pawin Vongmasa Committed by android-build-merger
Browse files

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

am: 4ff7a41e

Change-Id: Ic185b2b4638243daab1fe0d2845a208adc22cded
parents 6613ce65 4ff7a41e
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;