diff options
author | edwin <edwin@FreeBSD.org> | 2003-09-01 03:06:48 +0000 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2003-09-01 03:06:48 +0000 |
commit | 9b0abce8e93b027ea769acf6a997a7953121179b (patch) | |
tree | 01782bc4e2fdd9193f7ebea3ac3b4836ecd11f96 /audio | |
parent | 6449b70130ca21a2195f7bd573c278167bff36e6 (diff) | |
download | FreeBSD-ports-9b0abce8e93b027ea769acf6a997a7953121179b.zip FreeBSD-ports-9b0abce8e93b027ea769acf6a997a7953121179b.tar.gz |
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/Makefile | 1 | ||||
-rw-r--r-- | audio/shout/files/patch-shout.c | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/audio/shout/Makefile b/audio/shout/Makefile index 396ae71..eeb486e 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 0000000..55a3928 --- /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) |