Using this pipeline I can play two of the same videos using the videomixer, however when I play two different videos it fails.
gst-launch -e videomixer name=mix ! ffmpegcolorspace ! xvimagesink \
uridecodebin uri="file:///home/dtolj/projects/test1.mp4" ! decodebin2 ! videorate ! videoscale ! video/x-raw-yuv,width=320,height=180 ! videobox border-alpha=0 top=0 left=0 ! mix. \
uridecodebin uri="file:///home/dtolj/projects/test2.mp4" ! decodebin2 ! videorate ! videoscale ! video/x-raw-yuv,width=320,height=180 ! videobox border-alpha=0 top=0 left=-320 ! mix.
error:
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22/GstQTDemux:qtdemux0: GStreamer encountered a general stream error.
Additional debug info:
qtdemux.c(3865): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin1/GstDecodeBin2:decodebin22/GstQTDemux:qtdemux0:
streaming stopped, reason not-negotiated
ERROR: pipeline doesn't want to preroll.
It seems I was decoding the video two times, I removed
decodebin2, also gstreamer seems very picky about video formats. Maybe I shouldn’t rely onuridecodebintoo much and try to use an appropriate demuxer.