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

Commit 13a13fd6 authored by Dongwon Kang's avatar Dongwon Kang Committed by android-build-merger
Browse files

[automerger] Fix a race condition in OMXNodeInstance am: fe3708f7 am:...

[automerger] Fix a race condition in OMXNodeInstance am: fe3708f7 am: dce12d18 am: ad0ec9b3 am: fc7a3a56 am: 25e9dff2 am: e8d5d152 am: 1ff39c65 am: e5d3086f am: 301a0078 am: 77c35f6c am: 22eab8fe am: 58d53f6c
am: 946f8dd2

Change-Id: Ia77b8ca9b7a71f28cb223f1fbffca19d3b376760
parents cc8815ee 946f8dd2
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -1609,12 +1609,15 @@ status_t OMXNodeInstance::freeBuffer(
    }
    }
    BufferMeta *buffer_meta = static_cast<BufferMeta *>(header->pAppPrivate);
    BufferMeta *buffer_meta = static_cast<BufferMeta *>(header->pAppPrivate);


    // Invalidate buffers in the client side first before calling OMX_FreeBuffer.
    // If not, pending events in the client side might access the buffers after free.
    invalidateBufferID(buffer);

    OMX_ERRORTYPE err = OMX_FreeBuffer(mHandle, portIndex, header);
    OMX_ERRORTYPE err = OMX_FreeBuffer(mHandle, portIndex, header);
    CLOG_IF_ERROR(freeBuffer, err, "%s:%u %#x", portString(portIndex), portIndex, buffer);
    CLOG_IF_ERROR(freeBuffer, err, "%s:%u %#x", portString(portIndex), portIndex, buffer);


    delete buffer_meta;
    delete buffer_meta;
    buffer_meta = NULL;
    buffer_meta = NULL;
    invalidateBufferID(buffer);


    return StatusFromOMXError(err);
    return StatusFromOMXError(err);
}
}