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

Commit dcff00c8 authored by Tianhua Sun's avatar Tianhua Sun Committed by jie.yuan
Browse files

SurfaceFlinger: fix no small window displayed in PIP mode of DTVKIT [1/1]



Bug:146758432
PD#SWPL-39338

Problem:
Dtvkit, no small window displayed in pip mode

Solution:
porting from I82d81ded
For surfaceview of tv sideband, there is no activeBuffer in bufferqueue.
ClientCompostion layer if above it need plug holes for this case.

Verify:
ohm

Change-Id: Id92c3856eb8eb5a14813336f723d30b7a17514b1
Signed-off-by: default avatarTianhua Sun <tianhua.sun@amlogic.com>
parent 7ac860e5
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -176,8 +176,15 @@ std::optional<compositionengine::LayerFE::LayerSettings> BufferLayer::prepareCli
        if (!holes.isEmpty()) {
            targetSettings.clearRegion.orSelf(holes);
        }

        if (mSidebandStream != nullptr) {
            // For surfaceview of tv sideband, there is no activeBuffer
            // in bufferqueue, we need return LayerSettings.
            return result;
        } else {
            return std::nullopt;
        }
    }
    bool blackOutLayer = (isProtected() && !targetSettings.supportsProtectedContent) ||
            (isSecure() && !targetSettings.isSecure);
    compositionengine::LayerFE::LayerSettings& layer = *result;