Mercurial > mplayer.hg
diff libmpdemux/network.c @ 12175:da8e39bfe121
nsv (Nullsoft streaming video) demuxer
Patch by Reza Jelveh <reza (dot) jelveh (at) tu-harburg (dot) de>
author | rtognimp |
---|---|
date | Mon, 12 Apr 2004 14:19:12 +0000 |
parents | 2c2fb4457982 |
children | d572c605f665 |
line wrap: on
line diff
--- a/libmpdemux/network.c Sun Apr 11 20:01:42 2004 +0000 +++ b/libmpdemux/network.c Mon Apr 12 14:19:12 2004 +0000 @@ -92,7 +92,9 @@ // Real Media { "audio/x-pn-realaudio", DEMUXER_TYPE_REAL }, // OGG Streaming - { "application/x-ogg", DEMUXER_TYPE_OGG } + { "application/x-ogg", DEMUXER_TYPE_OGG }, + // NullSoft Streaming Video + { "video/nsv", DEMUXER_TYPE_NSV} }; @@ -778,8 +780,14 @@ mp_msg(MSGT_NETWORK,MSGL_INFO,"Public : %s\n", atoi(field_data)?"yes":"no"); field_data = NULL; if( (field_data = http_get_field(http_hdr, "icy-br")) != NULL ) mp_msg(MSGT_NETWORK,MSGL_INFO,"Bitrate: %skbit/s\n", field_data); field_data = NULL; - // Ok, we have detected an mp3 stream - *file_format = DEMUXER_TYPE_AUDIO; + + // If content-type == video/nsv we most likely have a winamp video stream + // otherwise it should be mp3. if there are more types consider adding mime type + // handling like later + if( !strcmp((field_data = http_get_field(http_hdr, "content-type")),"video/nsv")) + *file_format = DEMUXER_TYPE_NSV; + else + *file_format = DEMUXER_TYPE_AUDIO; return 0; } case 400: // Server Full @@ -1248,6 +1256,7 @@ case DEMUXER_TYPE_OGG: case DEMUXER_TYPE_PLAYLIST: case DEMUXER_TYPE_UNKNOWN: + case DEMUXER_TYPE_NSV: // Generic start, doesn't need to filter // the network stream, it's a raw stream ret = nop_streaming_start( stream );