Media pipeline for one of the rtsp streams is failed to prepare with "wait_preroll: failed to preroll pipeline"
I have a server which listens for incoming rtp streams and provides rtsp media links for this streams. For some reason i am experiencing the issue with connection to one of the media links. When connectiong to media rtsp server is not able to preroll the pipeline within the timeout and next error is seen
bad_log:
...
Aug 17 09:35:52 SV3220NA303 rtp-to-rtsp-server[830]: 0:29:40.275167696 830 0xa9c680 WARN rtspmedia rtsp-media.c:3000:wait_preroll: failed to preroll pipeline
Aug 17 09:35:52 SV3220NA303 rtp-to-rtsp-server[830]: 0:29:40.275183383 830 0xa9c680 WARN rtspmedia rtsp-media.c:3304:gst_rtsp_media_prepare: failed to preroll pipeline
Aug 17 09:35:52 SV3220NA303 rtp-to-rtsp-server[830]: 0:29:40.275942045 830 0xa9c680 ERROR rtspclient rtsp-client.c:1044:find_media: client 0x7f5a7c02ee40: can't prepare media
Aug 17 09:35:52 SV3220NA303 rtp-to-rtsp-server[830]: 0:29:40.276092339 830 0xa9c680 ERROR rtspclient rtsp-client.c:2955:handle_describe_request: client 0x7f5a7c02ee40: no media
...
Logs for good media link and bad media link are attached.
The major difference between the pipeline construction is that in bad case caps creation event for video/x-h264
is not arrived, thus the media pipeline is not created within a timeout.
In case of valid pipeline event is received and media pipeline is created sucessfully:
good_log:
...
0:13:59.694671471 2042 0x7f68fc004000 INFO GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)01424032ffe1001167424032f40a0fd0800001f400003a984201000568ce01af20, level=(string)5, profile=(string)constrained-baseline
0:13:59.694783493 2042 0x7f68fc004000 INFO GST_EVENT gstevent.c:814:gst_event_new_caps: creating caps event application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)424032, sprop-parameter-sets=(string)"Z0JAMvQKD9CAAAH0AAA6mEI\=\,aM4BryA\=", payload=(int)96, ssrc=(uint)481514705, timestamp-offset=(uint)1030785127, seqnum-offset=(uint)21035
...
Can someone explain what can be a reason for this behavior? Why does media factory is able to create media for one link but is not able to create media for another one?