decodebin3: reconfigure_output_stream fails to produce valid stream
Describe your issue
Pipelines with decodebin3 are unable to reconfigure caps properly with parsebin.
Expected Behavior
Pipeline with decodebin3 should be able to switch input caps.
Observed Behavior
Pipeline reconfiguration fails with parsebin error.
Setup
- Operating System: buildroot
- Device: Computer
- GStreamer Version: 1.22.0
-
Command line:
GST_DEBUG="5" WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/root GST_PLUGIN_FEATURE_RANK=vajpegdec:PRIMARY,jpegparse:PRIMARY,jpegdec:NONE /usr/bin/gstd
Steps to reproduce the bug
For reproducing jpeg to raw bug:
- open terminal
- run
GST_DEBUG="5" WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/root GST_PLUGIN_FEATURE_RANK=vajpegdec:PRIMARY,jpegparse:PRIMARY,jpegdec:NONE /usr/bin/gstd
- run
gst-client
- create pipeline
pipeline_create pwtest pipewiresrc target-object=41 ! image/jpeg,width=1920,height=1080,framerate=5/1 ! decodebin3 ! videoconvertscale ! videorate drop-only=1 average-period=1 ! video/x-raw,width=1920,height=1080,framerate=5/1 ! fakesink
- play pipeline
pipeline_play pwtest
- attempt to reconfigure caps to raw
element_set pwtest capsfilter0 caps video/x-raw,width=1920,height=1080,format=YUY2,framerate=5/1
For reproducing raw to jpeg bug:
- open terminal
- run
GST_DEBUG="5" WAYLAND_DISPLAY=wayland-1 XDG_RUNTIME_DIR=/run/user/root GST_PLUGIN_FEATURE_RANK=vajpegdec:PRIMARY,jpegparse:PRIMARY,jpegdec:NONE /usr/bin/gstd
- run
gst-client
- create pipeline
pipeline_create pwtest pipewiresrc target-object=41 ! video/x-raw,width=1920,height=1080,format=YUY2,framerate=5/1 ! decodebin3 ! videoconvertscale ! videorate drop-only=1 average-period=1 ! video/x-raw,width=1920,height=1080,framerate=5/1 ! fakesink
- play pipeline
pipeline_play pwtest
- attempt to reconfigure caps to jpeg
element_set pwtest capsfilter0 caps image/jpeg,width=1920,height=1080,framerate=5/1
How reproducible is the bug?
always