[FFmpeg-cvslog] r20362 - trunk/libavformat/rtsp.c

lu_zero subversion
Sat Oct 24 17:10:58 CEST 2009


Author: lu_zero
Date: Sat Oct 24 17:10:58 2009
New Revision: 20362

Log:
Use sdp c= line if the rtsp Transport line doesn't have a destination

Transport:destination in rtsp is optional, c= line in sdp is compulsory

Patch from Armand Bendanan (name.surnameATfreeDOTfr)

Modified:
   trunk/libavformat/rtsp.c

Modified: trunk/libavformat/rtsp.c
==============================================================================
--- trunk/libavformat/rtsp.c	Sat Oct 24 14:44:27 2009	(r20361)
+++ trunk/libavformat/rtsp.c	Sat Oct 24 17:10:58 2009	(r20362)
@@ -1125,12 +1125,19 @@ make_setup_request (AVFormatContext *s, 
             {
                 char url[1024];
                 struct in_addr in;
+                int port, ttl;
 
-                in.s_addr = htonl(reply->transports[0].destination);
+                if (reply->transports[0].destination) {
+                    in.s_addr = htonl(reply->transports[0].destination);
+                    port      = reply->transports[0].port_min;
+                    ttl       = reply->transports[0].ttl;
+                } else {
+                    in        = rtsp_st->sdp_ip;
+                    port      = rtsp_st->sdp_port;
+                    ttl       = rtsp_st->sdp_ttl;
+                }
                 snprintf(url, sizeof(url), "rtp://%s:%d?ttl=%d",
-                         inet_ntoa(in),
-                         reply->transports[0].port_min,
-                         reply->transports[0].ttl);
+                         inet_ntoa(in), port, ttl);
                 if (url_open(&rtsp_st->rtp_handle, url, URL_RDWR) < 0) {
                     err = AVERROR_INVALIDDATA;
                     goto fail;



More information about the ffmpeg-cvslog mailing list