nvvideosink timestamp bug?

Hi,

I used gstreamer and EGL to get video frames. My gstreamer pipeline is like:

rtspsrc location = "" protocols = 4 ! decodebin ! nvvidcov ! nvvideosink

and I used EGLstream in FIFO mode.

I implemented it in project testEGLStream. When I started with

GST_DEBUG=nvvideosink:7 ./testEGLStream

in terminal.

the log show like below

0:00:10.258565334 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.270946783 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.270981471 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.271102303 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 142903300 nsec
0:00:10.271138622 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763461539300

0:00:10.298552900 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3800000.
0:00:10.321062720 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.321098944 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.321227903 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 233029300 nsec
0:00:10.321264767 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763551665300

0:00:10.338585714 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:10.371405280 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.371443232 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.371567743 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 323369300 nsec
0:00:10.371603679 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763642005300

0:00:10.378572384 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
<../testEGLStream/main.cpp, 34>: frames array address is 3000000.
0:00:10.423814903 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.423850615 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.423983446 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 415784300 nsec
0:00:10.424018262 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763734420300

0:00:10.424148661 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.427257607 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.427279847 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.427372263 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 459173300 nsec
0:00:10.427398151 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763777809300

<../testEGLStream/main.cpp, 34>: frames array address is 3400000.
0:00:10.458583420 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.481432438 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.481472950 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.481647285 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 553447300 nsec
0:00:10.481687125 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763872083300

0:00:10.498563114 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3800000.
0:00:10.530790362 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.530833146 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.530970202 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 642771300 nsec
0:00:10.531006233 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84763961407300

0:00:10.538578616 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:10.580867931 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.580907067 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.581038939 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 732839300 nsec
0:00:10.581074395 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764051475300

0:00:10.581208666 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.584048493 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.584071533 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.584169101 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 776970300 nsec
0:00:10.584194253 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764095606300

<../testEGLStream/main.cpp, 34>: frames array address is 3c00000.
0:00:10.618572692 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.630572254 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.630610142 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.630737021 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 863537300 nsec
0:00:10.630774749 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764182173300

0:00:10.658561474 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3000000.
0:00:10.681193149 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.681233373 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.681372028 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411054 sec, 954173300 nsec
0:00:10.681409404 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764272809300

0:00:10.698560655 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3400000.
0:00:10.730938495 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.730978015 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.731109247 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 43909300 nsec
0:00:10.731145502 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764362545300

0:00:10.738651485 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3800000.
<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:10.782662969 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.782715097 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.782895512 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 135695300 nsec
0:00:10.782952120 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764454331300

0:00:10.783112791 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.785942474 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.785980330 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.786133482 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 178933300 nsec
0:00:10.786170889 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764497569300

0:00:10.818558329 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:10.830794499 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.830874402 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.831110081 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 263911300 nsec
0:00:10.831157601 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764582547300

0:00:10.858590119 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3000000.
0:00:10.881224738 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.881296898 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.881482465 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 354283300 nsec
0:00:10.881521537 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764672919300

0:00:10.898557109 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3400000.
0:00:10.931071684 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.931115236 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.931246851 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 444047300 nsec
0:00:10.931282851 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764762683300

0:00:10.938549827 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 3800000.
<../testEGLStream/main.cpp, 34>: frames array address is 3c00000.
0:00:10.980999366 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.981037734 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.981165797 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 533966300 nsec
0:00:10.981198245 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764852602300

0:00:10.981329028 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:10.984185464 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:10.984207384 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:10.984304471 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 577106300 nsec
0:00:10.984328951 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764895742300

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:11.018586111 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

0:00:11.031550469 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:11.031586309 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:11.031713476 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 664514300 nsec
0:00:11.031747716 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84764983150300

0:00:11.058565869 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:11.081289863 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:11.081323111 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:11.081450759 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:354:gst_nv_video_sink_show_frame: Presentation Time: 1523411055 sec, 754250300 nsec
0:00:11.081482503 15767   0x7f60035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=84765072886300

My video frame rate is 25fps. and I found the timestamp in log Presentation Time and eglTimeStamp seems not 40ms interval between two frames, if it is a bug ?

Hi ClancyLian,
Can you try mailbox mode?

We have Argus camera running in mailbox mode:
[url]https://devtalk.nvidia.com/default/topic/1023481/jetson-tx2/frames-returned-from-nveglstreamsrc-via-egl-stream-out-of-order/post/5210298/#5210298[/url]

Hi,

I tried to use mailbox mode, and the log didn’t have Presentation Time infomation and the eglTimeStamp always equal 0.

0:00:12.233196735  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.233361741  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.233969538  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.273155289  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.273189724  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.273347049  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.273978688  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.313161046  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.313195769  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.313355367  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.313963100  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.354161355  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.354198766  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.354356156  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.354989491  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.394160648  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.394199915  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.394356729  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.394967662  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.434160485  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.434198921  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.434358390  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.434972556  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.474166115  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.474202790  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.474370101  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.475004364  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.514161216  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.514205476  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.514365266  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.514983751  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.554166589  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.554211937  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.554390353  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.554979684  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.594170651  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.594222656  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.594400655  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.594997027  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.634170968  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.634214652  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.634392108  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.634954365  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.674180854  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.674226074  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.674423724  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.675014815  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.714187220  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.714230584  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.714407207  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.715154888  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.754167024  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.754209811  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.754382082  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.754898799  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2800000.
0:00:12.794159948  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.794196271  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.794354653  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.794865450  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

<../testEGLStream/main.cpp, 34>: frames array address is 2c00000.
0:00:12.834163978  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:287:gst_nv_video_sink_show_frame:<nvvideosink0> IN: gst_nv_video_sink_show_frame:

0:00:12.834201069  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:288:gst_nv_video_sink_show_frame:<nvvideosink0> Received the frame
0:00:12.834360379  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:374:gst_nv_video_sink_show_frame:<nvvideosink0> eglTimeStamp=0

0:00:12.834957743  6821   0x7f50035280 DEBUG            nvvideosink gstnvvideosink.c:386:gst_nv_video_sink_show_frame:<nvvideosink0> OUT: gst_nv_video_sink_show_frame: SUCCESSFUL

Hi ClancyLian,
Do you use nvvideosink to get each decoded frame as eglimage.

Hi ClancyLain,
We should have your issue fixed in [url]https://devtalk.nvidia.com/default/topic/1025064/jetson-tx2/egl-acquire-adjacent-two-frames-use-egl_stream_time_producer_khr-why-the-timestamps-diff-about-80ms/post/5215752/#5215752[/url]