@Danell, I’m not adding dynamic sources on runtime. Yes I did replace the libgstnvvideo4linux2.so file. So far I’m testing on a dgpu machine not a nano. Hence I replaced the file in
But that didn’t change anything. Could you please give it a try on your end and see if it works?
Apart from this, regarding the drop-frame-interval, I also did give another thing a try, I modified few lines in deepstream_test3_app.c, Here’s the modified segment,
< transform = gst_element_factory_make ("nvegltransform", "nvegl-transform");
> // transform = gst_element_factory_make ("nvegltransform", "nvegl-transform");
> transform = gst_element_factory_make ("queue", "queue");
< sink = gst_element_factory_make ("nveglglessink", "nvvideo-renderer");
> // sink = gst_element_factory_make ("nveglglessink", "nvvideo-renderer");
> sink = gst_element_factory_make ("nvoverlaysink", "nvvideo-renderer");
> g_object_set(G_OBJECT(sink), "sync", FALSE, NULL);
I made the above change and I did not see the video rendering stutter on either nano or the dgpu device. But with this I did come across another thing on the nano, usually on a nano a single stream processes at 24-30(or higher) fps. But with 4 streams, out of which 3 streams were set to drop 20 frames on them and the other at full fps, when I ran it I saw a lag which was getting accumulated. But mathematically in terms of processing, it should ideally be processing 24(stream-0) + 1 or 2 fps on other sources accumulating to 30fps. But the processing wasn’t that much causing a lag. Any idea on this?
So far I’ve tried two different solutions for the drop-frame-interval. It would really help if either one works.