uridecodebin3: No output for streams chosen after initial selection when using RTSP input
Test case can be found here: https://gitlab.freedesktop.org/thewildtree/uridecodebin3-rtspsrc-stream-selection-test/
An example RTSP stream can be generated using test-launch
from gst-rtsp-server
, like so:
./test-launch "( \
videotestsrc is-live=true pattern=smpte ! video/x-raw,format=I420,width=800,height=600 ! x264enc tune=zerolatency speed-preset=ultrafast ! rtph264pay name=pay0 \
videotestsrc is-live=true pattern=ball ! video/x-raw,format=I420,width=800,height=600 ! x264enc tune=zerolatency speed-preset=ultrafast ! rtph264pay name=pay1 pt=97 \
)"
Description, as also found in src/main.rs
in the test case:
- Have an RTSP source with 2 video streams and point uridecodebin3 to it
- Select just the first video stream every time a new stream-collection message is received
- First stream shows up correctly
- Wait 5 seconds
- Select both video streams now
EXPECTED: Data flows on both pads, two windows show up
PROBLEM: Second pad gets added, but no buffers are ever received there. First stream keeps playing.
Debug logs with GST_DEBUG=2,uri*:8,*decodeb*:8,parsebin:8,*repr:5
attached.
uridecodebin3-rtsp-selection.log
For each pad added, the test app adds a simple probe. For the second stream, the probe is never called.