I’ve written a program modified from gst-play in gst-base repository that can play multiple video gaplessly using playbin. However, the program can only ran on my pc(amd64), the video stuck when running on my tx2 board. I’m sure that the code I wrote is right on implementing the about-to-finish signal in playbin since it’s copied from the official gst-play and has been tested on a pc. The code I wrote can be found here:
https://gist.github.com/chichunchen/220e2bcac05ba866241c7e301340aa44#file-simple-gst-play-c-L294. The compilation and usage is in the gist comment.
Update: The current gst-play installed via
sudo apt-get install gstreamer1.0-plugins-base-apps
has the same problem when specifing the gapless flag:
gst-play-1.0 rhino-2k/ --gapless
we don’t implement the functionality. What is ‘about-to-finish’ property for?
It’s a signal for playbin to achieve playing multiple video successively without gap.
The problem is that the signal does not work on tx2, and the issue could be easily reproduced by running:
gst-play-1.0 --videosink=nveglglessink --gapless <file path or uri> <file path or uri> <file path or uri>
The flag “–gapless” cannot work in tx2 but could work perfectly on my PC (the second file could not be run).
gst-play-1.0 manual: http://manpages.ubuntu.com/manpages/bionic/man1/gst-play-1.0.1.html)
gst-play-1.0 source code: https://github.com/GStreamer/gst-plugins-base/blob/master/tools/gst-play.c
Currently we do not have plan to support this functionality.