diff options
author | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-11 01:06:08 +0000 |
---|---|---|
committer | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-11 01:06:08 +0000 |
commit | dbfbbbae3dfb923b476fc6262b6fa03ffb9430f6 (patch) | |
tree | 5dc1b5c97883b6b886e78e4a2e17eca69d733227 | |
parent | c86363fd08df189b155b8cd668c57fc5104b9132 (diff) |
Added a data field in the streaming_ctrl_t struct, to store any
kind of data that the protocol need to keep track of.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3454 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/network.c | 10 | ||||
-rw-r--r-- | libmpdemux/network.h | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/libmpdemux/network.c b/libmpdemux/network.c index feabec116a..53ce3c94d4 100644 --- a/libmpdemux/network.c +++ b/libmpdemux/network.c @@ -152,6 +152,7 @@ http_send_request( URL_t *url ) { return -1; } + if( url->port==0 ) url->port = 80; fd = connect2Server( url->hostname, url->port ); if( fd<0 ) { return -1; @@ -228,7 +229,7 @@ extension=NULL; // Look for the extension in the extensions table for( i=0 ; i<(sizeof(extensions_table)/sizeof(extensions_table[0])) ; i++ ) { if( !strcasecmp(extension, extensions_table[i].extension) ) { - if( url->port==0 ) url->port = 80; + //if( url->port==0 ) url->port = 80; return extensions_table[i].demuxer_type; } } @@ -241,8 +242,8 @@ extension=NULL; } // Checking for ASF - if( !strcasecmp(url->protocol, "mms") ) { - if( url->port==0 ) url->port = 80; + if( !strncasecmp(url->protocol, "mms", 3) ) { + //if( url->port==0 ) url->port = 80; return DEMUXER_TYPE_ASF; } @@ -309,6 +310,9 @@ extension=NULL; http_free( http_hdr ); return DEMUXER_TYPE_UNKNOWN; } + } else { + printf("Unknown protocol '%s'\n", url->protocol ); + return DEMUXER_TYPE_UNKNOWN; } } while( redirect ); diff --git a/libmpdemux/network.h b/libmpdemux/network.h index d4f7fff87f..8353aac365 100644 --- a/libmpdemux/network.h +++ b/libmpdemux/network.h @@ -34,6 +34,7 @@ typedef struct streaming_control { unsigned int buffer_pos; int (*streaming_read)( int fd, char *buffer, int buffer_size, struct streaming_control *stream_ctrl ); int (*streaming_seek)( int fd, off_t pos, struct streaming_control *stream_ctrl ); + void *data; } streaming_ctrl_t; int streaming_bufferize( streaming_ctrl_t *streaming_ctrl, char *buffer, int size); |