GNOME Bugzilla – Bug 764749
playbin: switching videos without about-to-finish signal does not always work
Last modified: 2018-01-25 13:27:10 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?
Created attachment 325565 [details] backtrace
Can anyone confirm this with the testcase?
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?
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!