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

Commit 1ff39c65 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 am: e8d5d152

Change-Id: Ibd4d21d5826d9a072b5ab04ece651291c73e98de
parents 3d634e64 e8d5d152
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);
}
}