GNOME Bugzilla – Bug 722303
v4l2sink: Enable rendering of the preroll buffer
Last modified: 2014-05-26 18:09:22 UTC
This was disabled in the past due to issue with processing an already queued buffer. The following patches fixes the issue and re-enable this feature.
Created attachment 266411 [details] [review] Allow process a buffer again
Created attachment 266412 [details] [review] Enable display of preroll buffer
Created attachment 266413 [details] [review] Implement get_times
Comment on attachment 266411 [details] [review] Allow process a buffer again This needs to be updated to latest GIT. There is no meta in v4l2 anymore Nicolas, what's the plan here?
Ok, the status is that this method is wrong for encoder, since the encoder won't let you dequeue it's observation. We have to copy if we want to render the same buffer again, it's actually very simple to do.
Comment on attachment 266413 [details] [review] Implement get_times This I won't merge. Looking at it, it's a bit unrelated and not needed for the problem we are solving. It improve support for buffer without duration by calculating the duration from the framerate. This could be done in the GstVideoSink base class, though I don't understand well the effect.
commit 5c07e6b45c9a9c91ea5e5dbe577f75830d69ad65 Author: Julien Isorce <julien.isorce@collabora.co.uk> Date: Mon May 26 10:59:55 2014 -0400 v4l2sink: implement gstvideosink.show_frame instead of gstbasesink.render It allows to show preroll frame. Especially it allows to update the frame when seeking in PAUSED state. https://bugzilla.gnome.org/show_bug.cgi?id=722303 commit b3bf4e33d00d3c6b59d1f9aee46a58786ae08dfb Author: Nicolas Dufresne <nicolas.dufresne@collabora.com> Date: Mon May 26 12:34:42 2014 -0400 v4l2bufferpool: Copy already queued buffer This is required as during preroll we pass the first buffer twice, hence already queued. It is also useful, to allow filters replaying a previous rendered buffers. This will require 1 more buffer in sink if last-sample is enabled, since the last sample will not be the same as the currently queued buffer. https://bugzilla.gnome.org/show_bug.cgi?id=722303
Comment on attachment 266412 [details] [review] Enable display of preroll buffer Had to manually redo this one.