Hi,
Please apply this patch and give it a try:
diff --git a/multimedia_api/ll_samples/include/NvDrmRenderer.h b/multimedia_api/ll_samples/include/NvDrmRenderer.h
index 9084904..243c895 100644
--- a/multimedia_api/ll_samples/include/NvDrmRenderer.h
+++ b/multimedia_api/ll_samples/include/NvDrmRenderer.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2017, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2016-2021, NVIDIA CORPORATION. All rights reserved.
* NVIDIA CORPORATION and its licensors retain all intellectual property
* and proprietary rights in and to this software, related documentation
* and any modifications thereto. Any use, reproduction, disclosure or
@@ -265,6 +265,7 @@ private:
int flippedFd;
bool flipPending;
bool renderingStarted;
+ bool planeIsSet;
uint32_t hdrBlobId;
bool hdrBlobCreated;
diff --git a/multimedia_api/ll_samples/samples/common/classes/NvDrmRenderer.cpp b/multimedia_api/ll_samples/samples/common/classes/NvDrmRenderer.cpp
index b9c68ac..52885ca 100644
--- a/multimedia_api/ll_samples/samples/common/classes/NvDrmRenderer.cpp
+++ b/multimedia_api/ll_samples/samples/common/classes/NvDrmRenderer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2020, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2016-2021, NVIDIA CORPORATION. All rights reserved.
* NVIDIA CORPORATION and its licensors retain all intellectual property
* and proprietary rights in and to this software, related documentation
* and any modifications thereto. Any use, reproduction, disclosure or
@@ -189,6 +189,7 @@ NvDrmRenderer::NvDrmRenderer(const char *name, uint32_t w, uint32_t h,
stop_thread = false;
flipPending = false;
renderingStarted = false;
+ planeIsSet = false;
activeFd = flippedFd = -1;
last_fb = 0;
int ret =0;
@@ -720,10 +721,14 @@ NvDrmRenderer::renderInternal(int fd)
goto error;
}
- ret = setPlane(0, fb, 0, 0, width, height, 0, 0, width, height);
- if(ret) {
- COMP_ERROR_MSG("FAILED TO SET PLANE ");
- goto error;
+ if (planeIsSet == false)
+ {
+ ret = setPlane(0, fb, 0, 0, width, height, 0, 0, width, height);
+ if(ret) {
+ COMP_ERROR_MSG("FAILED TO SET PLANE ");
+ goto error;
+ }
+ planeIsSet = true;
}
/* TODO:
--
2.7.4