rtsp-client: RTP Info when completed_sender

Change condition that should be fulfilled regarding RTPInfo.
Replace !gst_rtsp_media_is_receive_only with
gst_rtsp_media_has_completed_sender. It is more correct to actually look
for a sender pipeline that is complete. Only then a RTPInfo should
exist.

gst_rtsp_media_is_receive_only gives different answears depending on
state of server.
If Describe is called wth URL+options for backchannel SDP will give only
audio and only backchannel a=sendonly
If Describe is called on URL+options that gives both audio and video
direction from server to client, pipelines are created. Thus
receive_only will return false, even though Setup only would setup
backchannel.

RTP-Info is only for outgoing streams. Thus one should look if outgoing
streams are complete.
This commit is contained in:
Kristofer Bjorkstrom 2019-09-30 15:13:15 +02:00
parent d7ae39657d
commit 7e1edcf1a4

View file

@ -2006,7 +2006,7 @@ handle_play_request (GstRTSPClient * client, GstRTSPContext * ctx)
goto invalid_mode;
/* grab RTPInfo from the media now */
if (!gst_rtsp_media_is_receive_only (media) &&
if (gst_rtsp_media_has_completed_sender (media) &&
!(rtpinfo = gst_rtsp_session_media_get_rtpinfo (sessmedia)))
goto rtp_info_error;