changeset 14265:bc8152b52771

Try http if pnm connection fails Fixes pnm://www.darrelbowen.com/videos/commercials256.rm
author rtognimp
date Tue, 28 Dec 2004 19:59:56 +0000
parents cb5fbade8a5c
children 412eddc61f85
files libmpdemux/network.c
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/network.c	Tue Dec 28 19:11:14 2004 +0000
+++ b/libmpdemux/network.c	Tue Dec 28 19:59:56 2004 +0000
@@ -998,7 +998,7 @@
 	if(fd<0) return -1;
 	
 	pnm = pnm_connect(fd,stream->streaming_ctrl->url->file);
-	if(!pnm) return -1;
+	if(!pnm) return -2;
 
 	stream->fd=fd;
 	stream->streaming_ctrl->data=pnm;
@@ -1250,6 +1250,10 @@
 	if( !strcasecmp( stream->streaming_ctrl->url->protocol, "pnm")) {
 		stream->fd = -1;
 		ret = pnm_streaming_start( stream );
+		if (ret == -1) {
+		    mp_msg(MSGT_NETWORK,MSGL_INFO,"Can't connect with pnm, retrying with http.\n");
+		    goto stream_switch;
+		}
 	} else
 	
 	if( (!strcasecmp( stream->streaming_ctrl->url->protocol, "rtsp")) &&
@@ -1259,7 +1263,7 @@
 		    mp_msg(MSGT_NETWORK,MSGL_INFO,"Not a Realmedia rtsp url. Trying standard rtsp protocol.\n");
 #ifdef STREAMING_LIVE_DOT_COM
 		    *demuxer_type =  DEMUXER_TYPE_RTP;
-		    goto try_livedotcom;
+		    goto stream_switch;
 #else
 		    mp_msg(MSGT_NETWORK,MSGL_ERR,"RTSP support requires the \"LIVE.COM Streaming Media\" libraries!\n");
 		    return -1;
@@ -1268,7 +1272,7 @@
 	} else
 
 	// For connection-oriented streams, we can usually determine the streaming type.
-try_livedotcom:
+stream_switch:
 	switch( *demuxer_type ) {
 		case DEMUXER_TYPE_ASF:
 			// Send the appropriate HTTP request