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

Commit 08b5f8a2 authored by Uma Mehta's avatar Uma Mehta Committed by Wonsik Kim
Browse files

video: Disconnect from native window for secure case

Disconnect from native window for secure case, to ensure
earlier resolution buffers are freed, which will help
to reduce delay for allocation of new resolution buffers

CRs-Fixed: 2069666

Bug: 142782952
Test: atest CtsMediaTestCases -- --module-arg CtsMediaTestCases:size:small
Change-Id: Ic95e0b62eb5f5043e0321cd0d1bbfbff76729ef3
parent 255f610f
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -1310,7 +1310,7 @@ status_t ACodec::allocateOutputMetadataBuffers() {
    OMX_U32 bufferCount, bufferSize, minUndequeuedBuffers;
    status_t err = configureOutputBuffersFromNativeWindow(
            &bufferCount, &bufferSize, &minUndequeuedBuffers,
            false /* preregister */);
            mFlags & kFlagPreregisterMetadataBuffers /* preregister */);
    if (err != OK)
        return err;
    mNumUndequeuedBuffers = minUndequeuedBuffers;
@@ -1896,6 +1896,19 @@ status_t ACodec::configureCodec(
            setPortMode(kPortIndexInput, IOMX::kPortModePresetByteBuffer);
            err = OK; // ignore error for now
        }

        OMX_INDEXTYPE index;
        if (mOMXNode->getExtensionIndex(
                "OMX.google.android.index.preregisterMetadataBuffers", &index) == OK) {
            OMX_CONFIG_BOOLEANTYPE param;
            InitOMXParams(&param);
            param.bEnabled = OMX_FALSE;
            if (mOMXNode->getParameter(index, &param, sizeof(param)) == OK) {
                if (param.bEnabled == OMX_TRUE) {
                    mFlags |= kFlagPreregisterMetadataBuffers;
                }
            }
        }
    }
    if (haveNativeWindow) {
        sp<ANativeWindow> nativeWindow =
+1 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ private:
        kFlagIsSecure                                 = 1,
        kFlagPushBlankBuffersToNativeWindowOnShutdown = 2,
        kFlagIsGrallocUsageProtected                  = 4,
        kFlagPreregisterMetadataBuffers               = 8,
    };

    enum {