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

Commit 0755f84d authored by Chong Zhang's avatar Chong Zhang Committed by Android Git Automerger
Browse files

am b483c6aa: Merge "ignore buffers that\'s already removed" into mnc-dev

* commit 'b483c6aa':
  ignore buffers that's already removed
  stagefright: allow state change while handling OMX message list
  stagefright: handle removal of a tracked buffer in ACodec
  Fix clamp issue with AudioMixer with float input and int16 output
  fix buffer leak due to unreleased last repeat frame
  Revert "stagefright: relax check of OMX buffer header"
  Revert "stagefright: relax check of OMX buffer header"
  stagefright: relax check of OMX buffer header
  stagefright: fix legacy support for CameraSource
  camera: Add AIDL interface for CameraServiceProxy.
  stagefright: don't use stale pointer after disconnecting NuCachedSource2
  camera2: Fix work-profile eviction handling.
  camera2: Fix empty set handling for eviction.
  Revert "Enable full floating point path in AudioMixer"
  stagefright: fix pushBlankBuffersToNW for non-meta decoders
  Camera: API1 shim: Don't tightly apply crop region
parents 4b616014 b483c6aa
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -1607,7 +1607,12 @@ OMX_BUFFERHEADERTYPE *OMXNodeInstance::findBufferHeader(OMX::buffer_id buffer) {
        return NULL;
    }
    Mutex::Autolock autoLock(mBufferIDLock);
    return mBufferIDToBufferHeader.valueFor(buffer);
    ssize_t index = mBufferIDToBufferHeader.indexOfKey(buffer);
    if (index < 0) {
        CLOGW("findBufferHeader: buffer %u not found", buffer);
        return NULL;
    }
    return mBufferIDToBufferHeader.valueAt(index);
}

OMX::buffer_id OMXNodeInstance::findBufferID(OMX_BUFFERHEADERTYPE *bufferHeader) {
@@ -1615,7 +1620,12 @@ OMX::buffer_id OMXNodeInstance::findBufferID(OMX_BUFFERHEADERTYPE *bufferHeader)
        return 0;
    }
    Mutex::Autolock autoLock(mBufferIDLock);
    return mBufferHeaderToBufferID.valueFor(bufferHeader);
    ssize_t index = mBufferHeaderToBufferID.indexOfKey(bufferHeader);
    if (index < 0) {
        CLOGW("findBufferID: bufferHeader %p not found", bufferHeader);
        return 0;
    }
    return mBufferHeaderToBufferID.valueAt(index);
}

void OMXNodeInstance::invalidateBufferID(OMX::buffer_id buffer) {
@@ -1623,8 +1633,13 @@ void OMXNodeInstance::invalidateBufferID(OMX::buffer_id buffer) {
        return;
    }
    Mutex::Autolock autoLock(mBufferIDLock);
    mBufferHeaderToBufferID.removeItem(mBufferIDToBufferHeader.valueFor(buffer));
    mBufferIDToBufferHeader.removeItem(buffer);
    ssize_t index = mBufferIDToBufferHeader.indexOfKey(buffer);
    if (index < 0) {
        CLOGW("invalidateBufferID: buffer %u not found", buffer);
        return;
    }
    mBufferHeaderToBufferID.removeItem(mBufferIDToBufferHeader.valueAt(index));
    mBufferIDToBufferHeader.removeItemsAt(index);
}

}  // namespace android