diff options
author | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-12 14:19:12 +0000 |
---|---|---|
committer | rtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-12 14:19:12 +0000 |
commit | 087c4e58012b36023957cbd14ae4b2490cb38e06 (patch) | |
tree | b51164dccb58eb217b133585cea4b7a0b39f1d29 /libmpdemux/network.c | |
parent | 138eac342d5b5e91e2f957c50bc2adbbc6b84849 (diff) | |
download | mpv-087c4e58012b36023957cbd14ae4b2490cb38e06.tar.bz2 mpv-087c4e58012b36023957cbd14ae4b2490cb38e06.tar.xz |
nsv (Nullsoft streaming video) demuxer
Patch by Reza Jelveh <reza (dot) jelveh (at) tu-harburg (dot) de>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12176 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/network.c')
-rw-r--r-- | libmpdemux/network.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/libmpdemux/network.c b/libmpdemux/network.c index 6597434411..e2afd50f2e 100644 --- a/libmpdemux/network.c +++ b/libmpdemux/network.c @@ -92,7 +92,9 @@ static struct { // 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 @@ extension=NULL; 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 @@ streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) { 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 ); |