I am currently developing a playout system using the GStreamer playbin3 in python. The goal is using the gapless play feature of playbin3 to switch between the items of a given playlist. Everything works great as long as i try to switch from a uri that points to a html page, to an uri that points to a video. But as soon as i try it in the other direction (video -> HTML) the pipeline fails with the following errors:
brave-brave-1 | 0:01:00.266334867 1 0x7fd2d0015b00 ERROR decodebin3 gstdecodebin3.c:1486:sink_event_function:<decodebin3-0:sink> Switching from passthrough to parsebin on inputs is not supported !
brave-brave-1 | ERROR: [ input1] GStreamer error from wpevideosrc0: gst-stream-error-quark: Internal data stream error. (1)
brave-brave-1 | ERROR: [ input1] GStreamer error debug: ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3153): gst_base_src_loop (): /GstPlayBin3:playbin3-0/GstURIDecodeBin3:uridecodebin3/GstURISourceBin:urisourcebin1/GstWpeSrc:wpesrc0/GstWpeVideoSrc:wpevideosrc0:
brave-brave-1 | streaming stopped, reason not-negotiated (-4)
The code can be found here: https://github.com/dorftv/brave/blob/interpipe_playlist/brave/inputs/playlist.py
I suspect the issue stems from wrongly configured caps but at this point I´m quite desperate. Any idea how to fix this problem or for a workaround?