summaryrefslogtreecommitdiff
path: root/audio/shout
diff options
context:
space:
mode:
authorEdwin Groothuis <edwin@FreeBSD.org>2003-09-01 03:06:48 +0000
committerEdwin Groothuis <edwin@FreeBSD.org>2003-09-01 03:06:48 +0000
commitf03d49db1aac39a0f006acb19a07e8bba038046e (patch)
tree6440f6d42021192f9e404520330d594b5145e518 /audio/shout
parent- don't clobber any given LDFLAGS (diff)
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>
Notes
Notes: svn path=/head/; revision=88231
Diffstat (limited to 'audio/shout')
-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)