Issue with nvoverlaysink for overlay 2

Hi ,

Setup Details:

L4T R31.1
Display - LG 4K TV.
Streams- mp4, 4k, H264.

Document referred:
Accelerated GStreamer User Guide Release 31.1

I am trying to execute the commands mentioned at page #21 to run playback on both overlays 1 and 2.
I could get playback for only one pipeline.
I am getting below error -
Please let me know how to if anything I am missing here.


NvMMLiteOpen : Block : BlockType = 261
NvMMLiteBlockCreate : Block : BlockType = 261
Allocating new output: 3840x2160 (x 9), ThumbnailMode = 0
OPENMAX: HandleNewStreamFormat: 3528: Send OMX_EventPortSettingsChanged: nFrameWidth = 3840, nFrameHeight = 2160
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
NvxBaseWorkerFunction[2579] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552

Please refer to
https://devtalk.nvidia.com/default/topic/1043327/?comment=5295523

Thanks for the link.
I could set the fb1 and fb2 values to zero.

But for fb0 I am getting error .
“bash : echo : write error: Invalid argument”

I followed the working steps from the shared link.

Is there anything else to be changed prior to working steps from the link ?

You need to disable ubuntu desktop first and blank all the display.

Thank you for the input.

This helped to enable overlay 1 and 2 and I could use them for playback.

But I got the same issue/error mentioned at start of this thread, if I use overlay=3 or 4.
I am trying to playback four streams having 1080p resolution.

saleem.khan,

There are 6 overlays on your tegra device and it can be arbitrarily assign to each fb. One fb indicates one panel/monitor.

If you assign 0x3f to one fb, it indicates all 6 overlay would be on one monitor and other monitors would not use. I am not sure if this is your usecase because you have 3 monitors. Other 2 monitors would also occupy overlays to render, so I guess that is why overlay 3 and 4 is dead.

Below is the explanation of window assignment on TX2/AGX.
0x3f is 0011 1111 which means all 6 overlays are on one fb.

If you want to assign just 2 overlays on fb0, 2 on fb1 and the rest 2 on fb2, you can try to use
0011 0000 → 0x30 on fb0
0000 1100 → 0xc on fb1
0000 0011 → 0x3 on fb2.