# HG changeset patch # User reimar # Date 1203107470 0 # Node ID c6ec51cc3b138a8724a4d3de0be06437be0126a1 # Parent 84eb56d278b278bd162fa4312acde3a5550993d1 Move printing of Icy-Metadata into an extra function diff -r 84eb56d278b2 -r c6ec51cc3b13 stream/http.c --- a/stream/http.c Fri Feb 15 20:23:59 2008 +0000 +++ b/stream/http.c Fri Feb 15 20:31:10 2008 +0000 @@ -716,6 +716,23 @@ } } +static void print_icy_metadata(HTTP_header_t *http_hdr) { + const char *field_data; + // note: I skip icy-notice1 and 2, as they contain html
+ // and are IMHO useless info ::atmos + if( (field_data = http_get_field(http_hdr, "icy-name")) != NULL ) + mp_msg(MSGT_NETWORK,MSGL_INFO,"Name : %s\n", field_data); + if( (field_data = http_get_field(http_hdr, "icy-genre")) != NULL ) + mp_msg(MSGT_NETWORK,MSGL_INFO,"Genre : %s\n", field_data); + if( (field_data = http_get_field(http_hdr, "icy-url")) != NULL ) + mp_msg(MSGT_NETWORK,MSGL_INFO,"Website: %s\n", field_data); + // XXX: does this really mean public server? ::atmos + if( (field_data = http_get_field(http_hdr, "icy-pub")) != NULL ) + mp_msg(MSGT_NETWORK,MSGL_INFO,"Public : %s\n", atoi(field_data)?"yes":"no"); + if( (field_data = http_get_field(http_hdr, "icy-br")) != NULL ) + mp_msg(MSGT_NETWORK,MSGL_INFO,"Bitrate: %skbit/s\n", field_data); +} + //! If this function succeeds you must closesocket stream->fd static int http_streaming_start(stream_t *stream, int* file_format) { HTTP_header_t *http_hdr = NULL; @@ -761,20 +778,7 @@ switch( http_hdr->status_code ) { case 200: { // OK char *field_data; - // note: I skip icy-notice1 and 2, as they contain html
- // and are IMHO useless info ::atmos - if( (field_data = http_get_field(http_hdr, "icy-name")) != NULL ) - mp_msg(MSGT_NETWORK,MSGL_INFO,"Name : %s\n", field_data); - if( (field_data = http_get_field(http_hdr, "icy-genre")) != NULL ) - mp_msg(MSGT_NETWORK,MSGL_INFO,"Genre : %s\n", field_data); - if( (field_data = http_get_field(http_hdr, "icy-url")) != NULL ) - mp_msg(MSGT_NETWORK,MSGL_INFO,"Website: %s\n", field_data); - // XXX: does this really mean public server? ::atmos - if( (field_data = http_get_field(http_hdr, "icy-pub")) != NULL ) - mp_msg(MSGT_NETWORK,MSGL_INFO,"Public : %s\n", atoi(field_data)?"yes":"no"); - if( (field_data = http_get_field(http_hdr, "icy-br")) != NULL ) - mp_msg(MSGT_NETWORK,MSGL_INFO,"Bitrate: %skbit/s\n", field_data); - + print_icy_metadata(http_hdr); // 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