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

Commit e8d5d152 authored by Android Build Merger (Role)'s avatar Android Build Merger (Role)
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

Change-Id: I1152e6a6052862f54489fc48be76bde57120068d
parents fe26fc14 25e9dff2
Loading
Loading
Loading
Loading
+4 −1
Original line number Original line Diff line number Diff line
@@ -1387,12 +1387,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);
}
}