summaryrefslogtreecommitdiffstats
path: root/3rdparty/mpg123/2011_all_mpg123-http-seek.patch
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/mpg123/2011_all_mpg123-http-seek.patch')
-rw-r--r--3rdparty/mpg123/2011_all_mpg123-http-seek.patch201
1 files changed, 0 insertions, 201 deletions
diff --git a/3rdparty/mpg123/2011_all_mpg123-http-seek.patch b/3rdparty/mpg123/2011_all_mpg123-http-seek.patch
deleted file mode 100644
index 67ab4f5..0000000
--- a/3rdparty/mpg123/2011_all_mpg123-http-seek.patch
+++ /dev/null
@@ -1,201 +0,0 @@
-diff -dPNur xmms-1.2.11/Input/mpg123/common.c xmms-1.2.11-new/Input/mpg123/common.c
---- xmms-1.2.11/Input/mpg123/common.c 2005-05-15 02:01:19.000000000 +0200
-+++ xmms-1.2.11-new/Input/mpg123/common.c 2007-11-24 23:52:01.000000000 +0100
-@@ -148,19 +148,34 @@
- int mpg123_stream_jump_to_frame(struct frame *fr, int frame)
- {
- if (!filept)
-- return -1;
-- mpg123_read_frame_init();
-- fseek(filept, frame * (fr->framesize + 4), SEEK_SET);
-- mpg123_read_frame(fr);
-+ {
-+ unsigned long r;
-+
-+ r = frame * (fr->framesize + 4);
-+ mpg123_stream_close();
-+ mpg123_open_stream(mpg123_filename, -1, r);
-+ }
-+ else
-+ {
-+ mpg123_read_frame_init();
-+ fseek(filept, frame * (fr->framesize + 4), SEEK_SET);
-+ mpg123_read_frame(fr);
-+ }
- return 0;
- }
-
- int mpg123_stream_jump_to_byte(struct frame *fr, int byte)
- {
- if (!filept)
-- return -1;
-- fseek(filept, byte, SEEK_SET);
-- mpg123_read_frame(fr);
-+ {
-+ mpg123_stream_close();
-+ mpg123_open_stream(mpg123_filename, -1, (unsigned long)byte);
-+ }
-+ else
-+ {
-+ fseek(filept, byte, SEEK_SET);
-+ mpg123_read_frame(fr);
-+ }
- return 0;
- }
-
-@@ -446,14 +461,14 @@
- return 1;
- }
-
--void mpg123_open_stream(char *bs_filenam, int fd)
-+void mpg123_open_stream(char *bs_filenam, int fd, unsigned long range)
- {
- filept_opened = 1;
- if (!strncasecmp(bs_filenam, "http://", 7))
- {
- filept = NULL;
-- mpg123_http_open(bs_filenam);
- mpg123_info->filesize = 0;
-+ mpg123_http_open(bs_filenam, range);
- mpg123_info->network_stream = TRUE;
- }
- else
-diff -dPNur xmms-1.2.11/Input/mpg123/http.c xmms-1.2.11-new/Input/mpg123/http.c
---- xmms-1.2.11/Input/mpg123/http.c 2007-11-16 22:51:24.000000000 +0100
-+++ xmms-1.2.11-new/Input/mpg123/http.c 2007-11-24 23:52:01.000000000 +0100
-@@ -50,6 +50,7 @@
- extern gboolean mpg123_stereo;
-
- static gboolean prebuffering, going, eof = FALSE;
-+static unsigned long range;
- static gint sock, rd_index, wr_index, buffer_length, prebuffer_length;
- static guint64 buffer_read = 0;
- static gchar *buffer;
-@@ -326,7 +327,7 @@
- static void *http_buffer_loop(void *arg)
- {
- gchar line[1024], *user, *pass, *host, *filename,
-- *status, *url, *temp, *file;
-+ *status, *url, *temp, *temp2, *file;
- gchar *chost;
- gint cnt, written, error, port, cport;
- socklen_t err_len;
-@@ -495,15 +496,22 @@
- }
- else
- file = g_strconcat("/", filename, NULL);
-- temp = g_strdup_printf("GET %s HTTP/1.0\r\n"
-+ if (range)
-+ {
-+ temp2 = g_strdup_printf("Range: bytes=%lu-\r\n", range);
-+ } else
-+ temp2 = NULL;
-+ temp = g_strdup_printf("GET %s HTTP/1.1\r\n"
- "Host: %s\r\n"
- "User-Agent: %s/%s\r\n"
-- "%s%s%s%s\r\n",
-+ "%s%s%s%s%s\r\n",
- file, host, PACKAGE, VERSION,
- proxy_auth ? proxy_auth : "", auth ? auth : "",
- mpg123_cfg.cast_title_streaming ? "Icy-MetaData:1\r\n" : "",
-- mpg123_cfg.use_udp_channel ? udpspace : "");
--
-+ mpg123_cfg.use_udp_channel ? udpspace : "",
-+ range ? temp2 : "");
-+
-+ g_free(temp2);
- g_free(file);
- if(proxy_auth)
- g_free(proxy_auth);
-@@ -587,7 +595,9 @@
- #endif
- /* udp_serverport = atoi (line + 20); */
- }
--
-+ if (!strncasecmp(line, "content-length:", 15)) {
-+ mpg123_info->filesize = atoi(line + 15);
-+ }
- }
- else
- {
-@@ -719,7 +729,7 @@
- pthread_exit(NULL);
- }
-
--int mpg123_http_open(gchar * _url)
-+int mpg123_http_open(gchar * _url, unsigned long rng)
- {
- gchar *url;
-
-@@ -735,6 +745,7 @@
- going = TRUE;
- eof = FALSE;
- buffer = g_malloc(buffer_length);
-+ range = rng;
-
- pthread_create(&thread, NULL, http_buffer_loop, url);
-
-diff -dPNur xmms-1.2.11/Input/mpg123/mpg123.c xmms-1.2.11-new/Input/mpg123/mpg123.c
---- xmms-1.2.11/Input/mpg123/mpg123.c 2006-07-25 05:18:51.000000000 +0200
-+++ xmms-1.2.11-new/Input/mpg123/mpg123.c 2007-11-24 23:52:01.000000000 +0100
-@@ -857,7 +857,7 @@
-
- mpg123_read_frame_init();
-
-- mpg123_open_stream(filename, -1);
-+ mpg123_open_stream(filename, -1, 0);
- if (mpg123_info->eof || !mpg123_read_frame(&fr))
- mpg123_info->eof = TRUE;
- if (!mpg123_info->eof && mpg123_info->going)
-@@ -906,7 +906,7 @@
- break;
- }
-
-- if (!have_xing_header && strncasecmp(filename, "http://", 7))
-+ if(!have_xing_header && mpg123_info->filesize != 0)
- mpg123_info->num_frames = mpg123_calc_numframes(&fr);
-
- memcpy(&fr, &temp_fr, sizeof(struct frame));
-@@ -918,11 +918,10 @@
- mpg123_lsf = fr.lsf;
- mpg123_mpeg25 = fr.mpeg25;
- mpg123_mode = fr.mode;
--
-+ mpg123_length = mpg123_info->num_frames * mpg123_info->tpf * 1000;
-+
- if (strncasecmp(filename, "http://", 7))
- {
-- mpg123_length =
-- mpg123_info->num_frames * mpg123_info->tpf * 1000;
- if (!mpg123_title)
- mpg123_title = get_song_title(NULL,filename);
- }
-@@ -930,7 +929,6 @@
- {
- if (!mpg123_title)
- mpg123_title = mpg123_http_get_title(filename);
-- mpg123_length = -1;
- }
- mpg123_ip.set_info(mpg123_title, mpg123_length,
- mpg123_bitrate * 1000,
-diff -dPNur xmms-1.2.11/Input/mpg123/mpg123.h xmms-1.2.11-new/Input/mpg123/mpg123.h
---- xmms-1.2.11/Input/mpg123/mpg123.h 2006-07-24 00:32:44.000000000 +0200
-+++ xmms-1.2.11-new/Input/mpg123/mpg123.h 2007-11-24 23:52:01.000000000 +0100
-@@ -176,7 +176,7 @@
-
- /* ------ Declarations from "http.c" ------ */
-
--extern int mpg123_http_open(char *url);
-+extern int mpg123_http_open(char *url, unsigned long rng);
- int mpg123_http_read(gpointer data, gint length);
- void mpg123_http_close(void);
- char *mpg123_http_get_title(char * url);
-@@ -188,7 +188,7 @@
- extern unsigned int mpg123_getbits(int);
- extern unsigned int mpg123_getbits_fast(int);
-
--extern void mpg123_open_stream(char *bs_filenam, int fd);
-+extern void mpg123_open_stream(char *bs_filenam, int fd, unsigned long range);
- extern int mpg123_head_check(unsigned long);
- extern void mpg123_stream_close(void);
-