changeset 4334:3fb147d59ca6

Readded the content-type checking, in case of the no HTTP body are sent we can still try with the content-type.
author bertrand
date Thu, 24 Jan 2002 09:29:52 +0000
parents c67d50d4a889
children 270cbfe45b30
files libmpdemux/asf_streaming.c
diffstat 1 files changed, 24 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/asf_streaming.c	Thu Jan 24 05:30:41 2002 +0000
+++ b/libmpdemux/asf_streaming.c	Thu Jan 24 09:29:52 2002 +0000
@@ -370,31 +370,32 @@
 		// so we could used mime type to know the stream type,
 		// but guess what? All of them are not well configured.
 		// So we have to check for an asf header :(, but it works :p
-		if( asf_header_check( http_hdr )==0 ) {
-			printf("=====> ASF Plain text\n");
-			return ASF_PlainText_e;
+		if( http_hdr->body_size>sizeof(ASF_obj_header_t) ) {
+			if( asf_header_check( http_hdr )==0 ) {
+				printf("=====> ASF Plain text\n");
+				return ASF_PlainText_e;
+			} else {
+				printf("=====> ASF Redirector\n");
+				return ASF_Redirector_e;
+			}
 		} else {
-			printf("=====> ASF Redirector\n");
-			return ASF_Redirector_e;
+			if(	(!strcasecmp(content_type, "audio/x-ms-wax")) ||
+				(!strcasecmp(content_type, "audio/x-ms-wma")) ||
+				(!strcasecmp(content_type, "video/x-ms-asf")) ||
+				(!strcasecmp(content_type, "video/x-ms-afs")) ||
+				(!strcasecmp(content_type, "video/x-ms-wvx")) ||
+				(!strcasecmp(content_type, "video/x-ms-wmv")) ||
+				(!strcasecmp(content_type, "video/x-ms-wma")) ) {
+				printf("=====> ASF Redirector\n");
+				return ASF_Redirector_e;
+			} else if( !strcasecmp(content_type, "text/plain") ) {
+				printf("=====> ASF Plain text\n");
+				return ASF_PlainText_e;
+			} else {
+				printf("=====> ASF unknown content-type: %s\n", content_type );
+				return ASF_Unknown_e;
+			}
 		}
-/*
-		if(	(!strcasecmp(content_type, "audio/x-ms-wax")) ||
-			(!strcasecmp(content_type, "audio/x-ms-wma")) ||
-			(!strcasecmp(content_type, "video/x-ms-asf")) ||
-			(!strcasecmp(content_type, "video/x-ms-afs")) ||
-			(!strcasecmp(content_type, "video/x-ms-wvx")) ||
-			(!strcasecmp(content_type, "video/x-ms-wmv")) ||
-			(!strcasecmp(content_type, "video/x-ms-wma")) ) {
-			printf("=====> ASF Redirector\n");
-			return ASF_Redirector_e;
-		} else if( !strcasecmp(content_type, "text/plain") ) {
-			printf("=====> ASF Plain text\n");
-			return ASF_PlainText_e;
-		} else {
-			printf("=====> ASF unknown content-type: %s\n", content_type );
-			return ASF_Unknown_e;
-		}
-*/
 	}
 	return ASF_Unknown_e;
 }