[Icecast-dev] patch to make media player classic works in stream mode instead of download play mode (shoutcastsource)

moo.tinys moo.tinys at gmail.com
Fri Sep 25 23:48:53 PDT 2009


when media player classic is usually bundled in vary codec packs which
are widely used by most of the windows user that insode code pack, so
it would be nice if icecast support it instead of just fixing media
player classic. and btw it looks like media player classic is not
maintained anymore, except there is a mpc-hc

the problem is that MPC/MPC-HC is too strict that it require the
server response "ICY" instead of "HTTP/1.0"

Index: src/format.c
===================================================================
--- src/format.c        (revision 16570)
+++ src/format.c        (working copy)
@@ -275,6 +275,8 @@
 {
     unsigned remaining;
     char *ptr;
+    const char *useragent;
+    const char *protocol;
     int bytes;
     int bitrate_filtered = 0;
     avl_node *node;
@@ -284,9 +286,19 @@
     ptr = client->refbuf->data;
     client->respcode = 200;

-    bytes = snprintf (ptr, remaining, "HTTP/1.0 200 OK\r\n"
-            "Content-Type: %s\r\n", source->format->contenttype);
+    useragent = httpp_getvar (client->parser, "user-agent");
+    protocol = "HTTP/1.0";
+    if (useragent)
+    {
+        if (strstr(useragent, "shoutcastsource")) /* checking "Media
Play Classic" is not necessary */
+        {
+            protocol = "ICY";
+        }
+    }

+    bytes = snprintf (ptr, remaining, "%s 200 OK\r\n"
+            "Content-Type: %s\r\n", protocol, source->format->contenttype);
+
     remaining -= bytes;
     ptr += bytes;

can be download via http://www.ladio.me/icecast.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: icecast.patch
Type: application/octet-stream
Size: 963 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/icecast-dev/attachments/20090926/ddd2f93b/attachment.obj 


More information about the Icecast-dev mailing list