Mercurial > mplayer.hg
changeset 11505:8de9dba0ffaa
Add detection of Real rtsp when there are queries in url.
Patch by rgselk <rgselknospam(at)yahoo(dot)com>
author | rtognimp |
---|---|
date | Sun, 23 Nov 2003 13:31:44 +0000 |
parents | 03ac0a671641 |
children | fff1b6f1a9cc |
files | libmpdemux/network.c |
diffstat | 1 files changed, 7 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpdemux/network.c Sun Nov 23 08:23:01 2003 +0000 +++ b/libmpdemux/network.c Sun Nov 23 13:31:44 2003 +0000 @@ -571,7 +571,7 @@ int autodetectProtocol(streaming_ctrl_t *streaming_ctrl, int *fd_out, int *file_format) { HTTP_header_t *http_hdr; - unsigned int i, j; + unsigned int i; int fd=-1; int redirect; int auth_retry=0; @@ -628,29 +628,15 @@ if( !strcasecmp(url->protocol, "rtsp") ) { // Checking for Real rtsp:// // Extension based detection, should be replaced with something based on server answer - extension = NULL; - if( url->file!=NULL ) { - j = strlen(url->file); - for( i=j; i>0 ; i-- ) { - if( url->file[i]=='?' ) - j = i; - if( url->file[i]=='.' ) { - extension = calloc(j-i, 1); - for ( i++; i < j; i++) - extension[strlen(extension)]=url->file[i]; - extension[strlen(extension)]=0; - break; + if( url->file!= NULL ) { + char *p; + for( p = url->file; p[0]; p++ ) { + if( p[0] == '.' && tolower(p[1]) == 'r' && (tolower(p[2]) == 'm' || tolower(p[2]) == 'a') && (!p[3] || p[3] == '?' || p[3] == '&') ) { + *file_format = DEMUXER_TYPE_REAL; + return 0; } } } - if (extension != NULL && (!strcasecmp(extension, "rm") - || !strcasecmp(extension, "ra"))) { - *file_format = DEMUXER_TYPE_REAL; - free(extension); - return 0; - } - if (extension != NULL) - free(extension); mp_msg(MSGT_NETWORK,MSGL_INFO,"Not a Realmedia rtsp url. Trying standard rtsp protocol.\n"); #ifdef STREAMING_LIVE_DOT_COM *file_format = DEMUXER_TYPE_RTP;