summaryrefslogtreecommitdiffstats
path: root/libmpdemux/network.c
diff options
context:
space:
mode:
authoralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-16 21:48:59 +0000
committeralex <alex@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-16 21:48:59 +0000
commitd6d95023860317da73a76ba040e9dbf7444cda3f (patch)
tree4b4a10e814b2f50c6f40f9d18c6632fd26564052 /libmpdemux/network.c
parent5979a71903f55446e17b5fe27ca33b3aa0e9476a (diff)
downloadmpv-d6d95023860317da73a76ba040e9dbf7444cda3f.tar.bz2
mpv-d6d95023860317da73a76ba040e9dbf7444cda3f.tar.xz
fixed MP3 ICY detection, return detected file format for open_stream
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4730 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/network.c')
-rw-r--r--libmpdemux/network.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/libmpdemux/network.c b/libmpdemux/network.c
index 55bf1096e4..3c52559a09 100644
--- a/libmpdemux/network.c
+++ b/libmpdemux/network.c
@@ -34,7 +34,7 @@ static struct {
int demuxer_type;
} mime_type_table[] = {
// MP3 streaming, some MP3 streaming server answer with audio/mpeg
- { "audio/mpeg", DEMUXER_TYPE_MPEG_PS },
+ { "audio/mpeg", DEMUXER_TYPE_AUDIO },
// MPEG streaming
{ "video/mpeg", DEMUXER_TYPE_MPEG_PS },
// AVI ??? => video/x-msvideo
@@ -68,6 +68,8 @@ static struct {
{ "viv", DEMUXER_TYPE_VIVO },
{ "rm", DEMUXER_TYPE_REAL },
{ "y4m", DEMUXER_TYPE_Y4M },
+ { "mp3", DEMUXER_TYPE_AUDIO },
+ { "wav", DEMUXER_TYPE_AUDIO },
};
streaming_ctrl_t *
@@ -400,7 +402,7 @@ extension=NULL;
// Check if the response is an ICY status_code reason_phrase
if( !strcasecmp(http_hdr->protocol, "ICY") ) {
// Ok, we have detected an mp3 streaming
- *file_format = DEMUXER_TYPE_MPEG_PS;
+ *file_format = DEMUXER_TYPE_AUDIO;
return 0;
}
@@ -658,7 +660,7 @@ rtp_streaming_start( stream_t *stream ) {
}
int
-streaming_start(stream_t *stream, int demuxer_type, URL_t *url) {
+streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) {
int ret;
if( stream==NULL ) return -1;
@@ -667,7 +669,7 @@ streaming_start(stream_t *stream, int demuxer_type, URL_t *url) {
return -1;
}
stream->streaming_ctrl->url = check4proxies( url );
- ret = autodetectProtocol( stream->streaming_ctrl, &stream->fd, &demuxer_type );
+ ret = autodetectProtocol( stream->streaming_ctrl, &stream->fd, demuxer_type );
if( ret<0 ) {
return -1;
}
@@ -683,7 +685,7 @@ streaming_start(stream_t *stream, int demuxer_type, URL_t *url) {
ret = rtp_streaming_start( stream );
} else
// For connection-oriented streams, we can usually determine the streaming type.
- switch( demuxer_type ) {
+ switch( *demuxer_type ) {
case DEMUXER_TYPE_ASF:
// Send the appropriate HTTP request
// Need to filter the network stream.
@@ -693,10 +695,17 @@ streaming_start(stream_t *stream, int demuxer_type, URL_t *url) {
printf("asf_streaming_start failed\n");
}
break;
- case DEMUXER_TYPE_AVI:
- case DEMUXER_TYPE_MOV:
case DEMUXER_TYPE_MPEG_ES:
case DEMUXER_TYPE_MPEG_PS:
+ case DEMUXER_TYPE_AVI:
+ case DEMUXER_TYPE_MOV:
+ case DEMUXER_TYPE_VIVO:
+ case DEMUXER_TYPE_FLI:
+ case DEMUXER_TYPE_REAL:
+ case DEMUXER_TYPE_Y4M:
+ case DEMUXER_TYPE_FILM:
+ case DEMUXER_TYPE_ROQ:
+ case DEMUXER_TYPE_AUDIO:
case DEMUXER_TYPE_UNKNOWN:
// Generic start, doesn't need to filter
// the network stream, it's a raw stream