aboutsummaryrefslogtreecommitdiffstats
path: root/audio
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2003-09-01 11:06:48 +0800
committeredwin <edwin@FreeBSD.org>2003-09-01 11:06:48 +0800
commit9b0abce8e93b027ea769acf6a997a7953121179b (patch)
tree01782bc4e2fdd9193f7ebea3ac3b4836ecd11f96 /audio
parent6449b70130ca21a2195f7bd573c278167bff36e6 (diff)
downloadfreebsd-ports-gnome-9b0abce8e93b027ea769acf6a997a7953121179b.tar.gz
freebsd-ports-gnome-9b0abce8e93b027ea769acf6a997a7953121179b.tar.zst
freebsd-ports-gnome-9b0abce8e93b027ea769acf6a997a7953121179b.zip
Bug in audio/shout when using with SHOUTcast Server 1.9.2
Shout is streaming client for icecast and shoutcast streaming servers. It works well with SHOUTcast Server Version 1.9.2/FreeBSD4 (with -i key (Use old icy headers)),But if you try to enable title streaming (-t key) (without it clients don't see what song is playing). There are two problems why it doesn't work: 1. By default shoutcast expects source stremer connection on 8001 port, and listeners on 8000 port. (steamer port is listener_port+1). Shout streams mp3 music on port 8001 (from config file or command line), but title streaming is done on listener port through web admin interface. (http://server:port//admin.cgi?pass=password&;mode=updinfo&song=Song Title) Without patch shout tries to update info on streamer, and not listener port and this doesn't work. I attached patch which reduces port number by one, which is right (listener) port number. 2. With this fix shout connects to right port, but still doesn't update song title. From shoutcast documentation I've found that now shoutcast accepts update post (see above) only with useragent Mozilla ant shout gives useragent Shout/0.8.0. Informed maintainer PR: ports/48771 Submitted by: Justas Gurinavicius <raktas@raktas.net>
Diffstat (limited to 'audio')
-rw-r--r--audio/shout/Makefile1
-rw-r--r--audio/shout/files/patch-shout.c20
2 files changed, 21 insertions, 0 deletions
diff --git a/audio/shout/Makefile b/audio/shout/Makefile
index 396ae71e3826..eeb486eafb2c 100644
--- a/audio/shout/Makefile
+++ b/audio/shout/Makefile
@@ -7,6 +7,7 @@
PORTNAME= shout
PORTVERSION= 0.8.0
+PORTREVISION= 1
CATEGORIES= audio net
MASTER_SITES= http://www.icecast.org/releases/
diff --git a/audio/shout/files/patch-shout.c b/audio/shout/files/patch-shout.c
new file mode 100644
index 000000000000..55a3928779a7
--- /dev/null
+++ b/audio/shout/files/patch-shout.c
@@ -0,0 +1,20 @@
+--- shout.c.orig Thu Apr 20 00:31:50 2000
++++ shout.c Sun Aug 31 19:59:41 2003
+@@ -1738,7 +1738,7 @@
+ void
+ update_meta_info_on_server (char *filename, unsigned long int size)
+ {
+- sock_t sockfd = sock_connect (set.servername, set.port);
++ sock_t sockfd = sock_connect (set.servername, set.port-1);
+ char title[BUFSIZE]; /* copy of filename */
+ char *song = NULL;
+ char *mount = NULL;
+@@ -1815,7 +1815,7 @@
+
+ if (sockfd != -1) {
+ if (set.use_icy) {
+- sock_write (sockfd, "GET /admin.cgi?pass=%s&mode=updinfo&song=%s HTTP/1.0\nHost: %s:%d\nUser-Agent: Shout/%s\n\n", set.password, url_encode (titleptr, &song), set.servername, set.port, VERSION);
++ sock_write (sockfd, "GET /admin.cgi?pass=%s&mode=updinfo&song=%s HTTP/1.0\nHost: %s:%d\nUser-Agent: Mozilla(Shout/%s)\n\n", set.password, url_encode (titleptr, &song), set.servername, set.port, VERSION);
+ } else {
+ sock_write (sockfd, "GET /admin.cgi?pass=%s&mode=updinfo&mount=%s&song=%s&length=%ld HTTP/1.0\nHost: %s:%d\nUser-Agent: Shout/%s\n\n", set.password, url_encode (set.mount_name, &mount), url_encode (titleptr, &song), size, set.servername, set.port, VERSION);
+ if (mount)