playbin with about to finish freezes or receives EOS when using small videos
I'm having a problem to play some small video files using playbin and playbin3
I created a example code that uses playbin3 with about to finish signal to play a list of small video files (5s each) in loop, but playbin emits an EOS signal in the last video so it doesn't go to the next video, and in some videos when changing from a video with audio to one that does not have audio it freezes the pipeline with no warnings or errors.
Only when using fakesink for video the problem does not happen.
I compiled the example using Ubuntu 19.10, and uses decklinksink, xvimagesink , v4l2sink
The v4l2 i'm using as a loopback device configured using this project https://github.com/umlaeute/v4l2loopback
Configure loopback v4l2 devices
sudo modprobe v4l2loopback -r -f && sudo modprobe v4l2loopback max_buffers=2 max_openers=64 devices=2 exclusive_caps=1,1
Set Fixed Caps
v4l2-ctl -d /dev/video1 -c keep_format=0 && v4l2-ctl -d /dev/video1 -c keep_format=1 && v4l2loopback-ctl set-fps 30000/1001 /dev/video1 && gst-launch-1.0 -v videotestsrc num-buffers=10 ! video/x-raw,width=1920,height=1080,format=UYVY ! v4l2sink device=/dev/video1
Example
To run each case:
./issue {0-5} --
{p1,p2}