After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 755049 - intervideosrc doesn't render the preroll frame (in paused state)
intervideosrc doesn't render the preroll frame (in paused state)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-15 09:56 UTC by Ben
Modified: 2015-09-16 22:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
intervideosink: render preroll frames as well (3.98 KB, patch)
2015-09-15 23:22 UTC, Tim-Philipp Müller
none Details | Review

Description Ben 2015-09-15 09:56:06 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
Comment 1 Tim-Philipp Müller 2015-09-15 23:22:40 UTC
Created attachment 311424 [details] [review]
intervideosink: render preroll frames as well

Untested, but should work ;)
Comment 2 Ben 2015-09-16 01:10:55 UTC
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.
Comment 3 Tim-Philipp Müller 2015-09-16 22:33:59 UTC
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