diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-01-23 11:14:18 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-01-23 11:14:18 +0000 |
commit | 03af209bf71722c7a7e8172ab7012096a11b744a (patch) | |
tree | 8ae985a0546e6c07fc9b8740d5d01b5ce4bce927 | |
parent | e177aedfc1113c07720e61a9c102e26425803bfd (diff) |
Handle Content-Length also when Content-Type is not set.
Based on patch by Yuriy Kaminskiy [yumkam mail ru]
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30399 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | stream/http.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/stream/http.c b/stream/http.c index d507f0f001..f993fee179 100644 --- a/stream/http.c +++ b/stream/http.c @@ -743,6 +743,7 @@ static int http_streaming_start(stream_t *stream, int* file_format) { int auth_retry=0; int seekable=0; char *content_type; + const char *content_length; char *next_url; URL_t *url = stream->streaming_ctrl->url; @@ -816,15 +817,15 @@ static int http_streaming_start(stream_t *stream, int* file_format) { // Assume standard http if not ICY switch( http_hdr->status_code ) { case 200: // OK + content_length = http_get_field(http_hdr, "Content-Length"); + if (content_length) { + mp_msg(MSGT_NETWORK,MSGL_V,"Content-Length: [%s]\n", content_length); + stream->end_pos = atoll(content_length); + } // Look if we can use the Content-Type content_type = http_get_field( http_hdr, "Content-Type" ); if( content_type!=NULL ) { - char *content_length = NULL; mp_msg(MSGT_NETWORK,MSGL_V,"Content-Type: [%s]\n", content_type ); - if( (content_length = http_get_field(http_hdr, "Content-Length")) != NULL) { - mp_msg(MSGT_NETWORK,MSGL_V,"Content-Length: [%s]\n", http_get_field(http_hdr, "Content-Length")); - stream->end_pos = atoll(content_length); - } // Check in the mime type table for a demuxer type i = 0; while(mime_type_table[i].mime_type != NULL) { |