GNOME Bugzilla – Bug 755049
intervideosrc doesn't render the preroll frame (in paused state)
Last modified: 2015-09-16 22:33:59 UTC
When seeking on playbin connected to inter elements in paused state, the prerolled frame is not rendered. The timeout property of intervideosrc has no effect. To reproduce load the test video and the python scripts to the same folder. Both scripts do the following: - Change state to PLAYING. - After 10 seconds, change state to PAUSED. - After 15 seconds, seek playbin. - After 20 seconds, change state to PLAYING. - After 30 seconds, stop the program. The playbin.py script doesn't use inter elements. The image is updated when seeking in PAUSED state. The playbin2.py script uses inter elements. The image isn't updated when seeking in PAUSED state. BigBuckBunny_320x180.mp4 https://drive.google.com/file/d/0B12AhxvnYHrAWE5DLXB5anVKeWs/view?usp=sharing playbin https://drive.google.com/file/d/0B12AhxvnYHrAdVIyS3hTaXV0MFk/view?usp=sharing intervideosrc https://drive.google.com/file/d/0B12AhxvnYHrAU3VZV0RSUE1KeTA/view?usp=sharing
Created attachment 311424 [details] [review] intervideosink: render preroll frames as well Untested, but should work ;)
I've verified that the patch work with the above python script. When seeking in PAUSED state the image is updated. Thank you for the fix.
commit 0cb160a685b1c5856ffaf372d78ce880b9d579b1 Author: Tim-Philipp Müller <tim@centricular.com> Date: Wed Sep 16 00:19:35 2015 +0100 intervideosink: render preroll frames as well Derive from GstVideoSink so that preroll frames will automatically get rendered too, unless the show-preroll-frame property is set to FALSE. Fixes intervideosrc only picking up frames if intervideosink is in PLAYING state. https://bugzilla.gnome.org/show_bug.cgi?id=755049