Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- mplayer-1.0~rc2.orig/cfg-common.h
- +++ mplayer-1.0~rc2/cfg-common.h
- @@ -87,6 +87,9 @@
- {"rtsp-port", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- {"rtsp-destination", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
- #endif
- +#ifdef USE_ICONV
- + {"tagcp", &tag_cp, CONF_TYPE_STRING, 0, 0, 0, NULL},
- +#endif
- // ------------------------- demuxer options --------------------
- --- mplayer-1.0~rc2.orig/libass/ass_mp.c
- +++ mplayer-1.0~rc2/libass/ass_mp.c
- @@ -64,8 +64,10 @@
- #ifdef USE_ICONV
- extern char* sub_cp;
- +extern char* tag_cp;
- #else
- static char* sub_cp = 0;
- +static char* tag_cp = 0;
- #endif
- extern void process_force_style(ass_track_t* track);
- --- mplayer-1.0~rc2.orig/stream/http.c
- +++ mplayer-1.0~rc2/stream/http.c
- @@ -27,6 +27,10 @@
- #include "network.h"
- #include "help_mp.h"
- +#ifdef USE_ICONV
- +#include <iconv.h>
- +char *tag_cp=NULL;
- +#endif
- extern mime_struct_t mime_type_table[];
- extern int stream_cache_size;
- @@ -114,6 +118,43 @@
- char *info = malloc(metalen + 1);
- unsigned nlen = my_read(fd, info, metalen, sc);
- info[nlen] = 0;
- +#ifdef USE_ICONV
- + iconv_t iconv_converter = (iconv_t)(-1);
- + char *outcp = "UTF-8";
- + char *incp = tag_cp;
- + if (tag_cp && (iconv_converter == (iconv_t)(-1)))
- + {
- + if ((iconv_converter = iconv_open (outcp, incp)) == (iconv_t)(-1))
- + {
- + mp_msg(MSGT_DEMUXER, MSGL_ERR, "ICY: can't open iconv.\n");
- + }
- + }
- + if (iconv_converter != (iconv_t)(-1))
- + {
- + size_t tmp_conv_len = nlen * 4;
- + size_t conv_len = tmp_conv_len;
- + size_t tmp_len = nlen;
- + char *tmp_info = info;
- + char *converted_info = (char*)malloc(conv_len + 1);
- + if (!converted_info)
- + mp_msg(MSGT_DEMUXER, MSGL_ERR, "ICY: can't allocate memory.\n");
- + char *tmp_conv_info = converted_info;
- + if ((conv_len = iconv(iconv_converter, &tmp_info, &tmp_len, &tmp_conv_info, &tmp_conv_len)) == (size_t)(-1))
- + {
- + mp_msg(MSGT_DEMUXER, MSGL_WARN, "ICY: error while iconving info.\n");
- + free(converted_info);
- + (void)iconv_close(iconv_converter);
- + }
- + else
- + {
- + *tmp_conv_info='\0';
- + free(info);
- + info = converted_info;
- + (void)iconv_close(iconv_converter);
- + iconv_converter = (iconv_t)(-1);
- + }
- + }
- +#endif /* USE_ICONV */
- mp_msg(MSGT_DEMUXER, MSGL_INFO, "\nICY Info: %s\n", info);
- free(info);
- }
- --- mplayer-1.0~rc2.orig/stream/stream.h
- +++ mplayer-1.0~rc2/stream/stream.h
- @@ -299,6 +299,7 @@
- extern int dvd_angle;
- extern char * audio_stream;
- +extern char * tag_cp;
- typedef struct {
- int id; // 0 - 31 mpeg; 128 - 159 ac3; 160 - 191 pcm
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement