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 764749 - playbin: switching videos without about-to-finish signal does not always work
playbin: switching videos without about-to-finish signal does not always work
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-04-07 21:30 UTC by Vasilis Liaskovitis
Modified: 2018-01-25 13:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
testcase (2.49 KB, text/x-c)
2016-04-07 21:30 UTC, Vasilis Liaskovitis
Details
backtrace (41.45 KB, text/plain)
2016-04-07 21:31 UTC, Vasilis Liaskovitis
Details

Description Vasilis Liaskovitis 2016-04-07 21:30:55 UTC
Created attachment 325564 [details]
testcase

Below is a testcase that tries to play through list of videos without using about-to-finish signal. The video list loops endlessly. The about-to-finish signal cannot be used due to application requirement (next uri is not known immediately in the real application, and pipeline will need to be paused until next video/uri is available). 

The testcase adds a pad probe to drop the EOS event at the end of each video, and then calls another function (outside of streaming thread) to change pipeline state to READY and replace the playbin uri with the next video uri. Testcase uses vaapisink as video-sink of playbin.
 
The testcase successfully switches through 2-20 videos (differs on each run) but then output goes blank/ no more video is displayed. This is reproducible about 50% of the test runs so far, in other runs video switching is successful for more than 30+ videos. 

Source code and backtrace of all threads during blank output/stopped switching follows source code is here: http://pastebin.com/AdqyexYG

I will also attach the source code below. Perhaps there is an error in the testcase, or some race in the playbin pipeline restart because gapless mode (about-to-finish) is not used?
Comment 1 Vasilis Liaskovitis 2016-04-07 21:31:50 UTC
Created attachment 325565 [details]
backtrace
Comment 2 Vasilis Liaskovitis 2016-04-20 18:59:25 UTC
Can anyone confirm this with the testcase?
Comment 3 Tim-Philipp Müller 2016-04-23 15:57:53 UTC
Do you have a set of specific video you test this with?

Does this also happen with software decoders and ximagesink/xvimagesink/glimagesink?

What version of GStreamer / gstreamer-vaapi are you testing exactly?
Comment 4 Tim-Philipp Müller 2018-01-25 13:27:10 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment.
Thanks!