decodebin3: rtsp stream random playback fail with "No suitable plugins found"
After gstreamer upgrades to 1.24.7, rtsp playback random fail with "No suitable plugins found"
root@imx8mmevk:~# gst-play-1.0 rtsp://10.192.224.199/H264_BP51_176x144_15_200_AAC_8_12_2.mp4
Press 'k' to see a list of keyboard shortcuts.
Now playing rtsp://10.192.224.199/H264_BP51_176x144_15_200_AAC_8_12_2.mp4
Pipeline is live.
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...
ERROR Your GStreamer installation is missing a plug-in. for rtsp://10.192.224.199/H264_BP51_176x144_15_200_AAC_8_12_2.mp4
ERROR debug information: ../gst/playback/gstdecodebin3.c(3332): mq_slot_check_reconfiguration (): /GstPlayBin3:playbin/GstURIDecodeBin3:uridecodebin3/GstDecodebin3:decodebin3-0:
No suitable plugins found
Reached end of play list.
This is because decodebin3 do db_output_stream_reconfigure() in advance when handling stream_start event if all streams are present in collection.
For rtsp streaming, stream-start event parsed caps may be application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264
instead of real parsed h264 caps. And this collection only has 1 stream. db_output_stream_reconfigure() cannot find decoder for such caps and reports "No suitable plugins found". Then later caps event do db_output_stream_reconfigure() fail as cannot find the slot->output which has been removed.