# HG changeset patch # User bertrand # Date 1011864592 0 # Node ID 3fb147d59ca6d5f089d5d7c14886cf479cdfa282 # Parent c67d50d4a889d95904595213be8f45cba318cd07 Readded the content-type checking, in case of the no HTTP body are sent we can still try with the content-type. diff -r c67d50d4a889 -r 3fb147d59ca6 libmpdemux/asf_streaming.c --- 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; }