videodecoder: Don't push late frames
While it's a bit tricky to discard frames *before* decoding (because we might not be sure which data is needed or not by the decoder), we can discard them after decoding if they are too late anyway. Any following basetransform based element or similar would drop the frame too.
-
I can't say that I understand the algorithm used to discard buffers, but I can say that this change severely reduces the frame rate for the IMX gstreamer decoders. Perhaps there should be a parameter to toggle this behavior?
-
It simply drops frames here that would be considered too late in a video sink too when synchronizing to the clock. Your problem is probably a general synchronization problem in your pipeline somewhere.
Please create an issue with more details and a way to reproduce the problem.
-
mentioned in issue #1 (closed)
-
Thank you for your comments. I was just going to go with a version of code that doesn't have this change. But if I could track down a synchronization problem that would be much better. I have to admit I don't completely understand synchronization in gstreamer. I have submitted a bug: gstreamer/gst-plugins-base#668 (closed). I don't know how reproducible it will be without my specific hardware. Please let me know if I should add further information.
-
mentioned in issue gstreamer/gst-plugins-base#668 (closed)