rtpsrc, ristsrc: stream-start message is posted on the bus because of the internal udpsink
rtpsrc
, ristsrc
and possibly other similar elements currently post a stream-start message on the bus, which originates from the dynudpsink
that they internally use for sending RTCP to the network. This message is supposed to be posted only by sinks, not by sources, so I believe that these bins should handle the message internally and drop it.
Currently this does not cause any issues on master. On 1.16 (with rtpmanagerbad backported) it is causing trouble: playbin3 uri='rtp://foo.bar'
stops after a few seconds of playback, because the stream-start event makes playbin3 believe that it's time to switch to the next URI.
On master this is mitigated by:
gstreamer@47765e16
Because rtpsrc
is wrapped in a urisourcebin
, urisourcebin now drops the stream-start message because it doesn't have any visible sinks in it.
I believe, though, that a more explicit fix needs to be in place to avoid regressions. I am not sure if the intention of this commit was to fix exactly this issue. This is certainly not what the commit message describes. (cc @slomo)