videorate element on gstreamer 1.20.3 on ubuntu22 is giving Bail Out error with the assertion GST_BUFFER_DURATION_IS_VALID. But, working with gstreamer 1.16.3 on ubuntu 20.
The error message I am getting on ubuntu22 with gstreamer 1.20.3:
ERROR:../gst/videorate/gstvideorate.c:714:gst_video_rate_push_buffer: assertion failed: (GST_BUFFER_DURATION_IS_VALID (outbuf))
Bail out! ERROR:../gst/videorate/gstvideorate.c:714:gst_video_rate_push_buffer: assertion failed: (GST_BUFFER_DURATION_IS_VALID (outbuf))
The error is from this line: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/1.20/subprojects/gst-plugins-base/gst/videorate/gstvideorate.c?ref_type=heads#L714
Details of the rtsp streams:
I have two streams, one causes the above error, one does not.
When I did ffprobe on them, I am getting this assertion error with the stream which didn’t show FPS, and not getting this assertion error with the other stream which showed FPS.
However, on ubuntu 20 and with gstreamer 1.16.3, I did not get this assertion error and videorate element worked fine with both the rtsp streams.
Please help, and point me in the right direction. I have raised a question on nvidia forums and I was pointed to gstreamer repo [here](Videorate element is giving assertion error GST_BUFFER_DURATION_IS_VALID - DeepStream SDK - NVIDIA Developer Forums).