[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