GNOME Bugzilla – Bug 797082
new frames not drawn after getting last-sample of sink and reusing context
Last modified: 2018-11-03 12:10:03 UTC
Getting the last-sample of a videosink and reinitializing GStreamer with the same UIView causes new frames not to be drawn.
Thanks for taking the time to report this. This bug report isn't very useful because it doesn't describe the bug well. If you have time and can still reproduce the bug, please read https://bugzilla.gnome.org/page.cgi?id=bug-writing.html and add a more useful description to this bug. When providing a better description, please reset the status of this bug report from NEEDINFO to its previous status. A better description should include a complete pipeline being used, a list of elements involved, etc.
Sorry for the vague report. Here is a more detailored description of the issue i am having. Short: Same as before, getting last-sample of a videosink causes no frames to be drawn when reusing the UIView. We are running the following pipeline: rtspsrc location=<url> latency=50 ! rtph264depay ! h264parse ! queue ! decodebin3 ! glimagesink Steps to Reproduce: Create a UIView which has a CAEAGLLayer as its layer. Start the pipeline and bind the sink to the UIView. Start playing the stream. While running get the last-sample from the sink. Stop playing the stream. Restart the pipeline but bind the sink to the old UIView. Expected behaviour: Context being cleared and new frames being drawn. Actual behaviour: No new frames are drawn even though frames are received. PS: It works fine if you stop the stream and restart the pipeline with the old UIView without taking the last-sample. Attached an example project aswell.
Created attachment 373554 [details] Example project
Just a guess, make sure to unref the last sample when done.
Unreffing by doing `GstBuffer *snapbuffer = gst_sample_get_buffer(gst_sample_copy(videobuffer)); gst_sample_unref(videobuffer);` didn't work either.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/484.