[Icecast] Problem with fallback on 2.31 on Windows XP

Steve Matzura
Sun, 29 Nov 2015 21:16:53 -0000

If this isn't supported, then I apologize for the disruption, I'll
just tell my customer / client / friend it's time to seriously rethink
what they're trying to do. If support is possible, here's the problem:

I took a running icecast.xml file from a configuration that works. It
has live, backup, and listener (called /broadband) mount points. A
continuously running stream connects to /backup to provide a fallback,
another stream can connect to /live, and listeners listen on
/broadband. This config worked on a 2.42 Linux system, so I just
dropped it into place as-is on the 2.31 XP system, but it does not
work. The stream can connect to /backup, but when a listener tries to
connect to /broadband, they get 404 in their media player. I suspect
I've bungled the relay or fallback setup and would greatly appreciate
help fixing it.

Here's the XML with the comment lines removed to make it shorter:

<icecast>
    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>65535</burst-size>
    </limits>

    <authentication>
        <source-password>oliver88</source-password>
        <relay-password>oliver770</relay-password>

        <admin-user>tyler</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>


    <hostname>192.168.1.10</hostname>

        <listen-socket>
        <port>8000</port>
        </listen-socket>

       <mount>
        <mount-name>/broadband</mount-name>

        <username>tyler</username>
        <password>oliver88</password>

        <max-listeners>5</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/live</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/example_intro.ogg</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <authentication type="htpasswd">
                <option name="filename"
value="myauth"/>
                <option name="allow_duplicate_users"
value="0"/>
        </authentication>
        <on-connect>/home/icecast/bin/broadband-connect</on-connect>
 <on-disconnect>/home/icecast/bin/broadband-disconnect</on-disconnect>
    </mount>

    <mount>
        <mount-name>/live</mount-name>

        <username>othersource</username>
        <password>oliver88</password>

        <max-listeners>5</max-listeners>
        <dump-file>/tmp/dump-example1.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/backup</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/example_intro.ogg</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <authentication type="htpasswd">
                <option name="filename"
value="myauth"/>
                <option name="allow_duplicate_users"
value="0"/>
        </authentication>
        <on-connect>/home/icecast/bin/broadband-connect</on-connect>
 <on-disconnect>/home/icecast/bin/broadband-disconnect</on-disconnect>
    </mount>

    <mount>
        <mount-name>/backup</mount-name>
        <authentication type="url">
            <option name="mount_add"
value="http://myauthserver.net/notify_mount.php"/>
            <option name="mount_remove"
value="http://myauthserver.net/notify_mount.php"/>
            <option name="listener_add"
value="http://myauthserver.net/notify_listener.php"/>
            <option name="listener_remove"
value="http://myauthserver.net/notify_listener.php"/>
        </authentication>
    </mount>

    -->

    <fileserve>1</fileserve>

    <!-- set the mountpoint for a shoutcast source to use, the default
if not
         specified is /stream but you can change it here if an
alternative is
         wanted or an extension is required
    <shoutcast-mount>/backup</shoutcast-mount>
    -->

    <paths>

        <basedir>./</basedir>

        <!-- Note that if <chroot> is turned on below, these paths
must both
             be relative to the new root, not the original root -->
        <logdir>./logs</logdir>
        <webroot>./web</webroot>
        <adminroot>./admin</adminroot>

        <alias source="/foo" dest="/bar"/>
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <playlistlog>playlist.log</playlistlog> -->
      	<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1
Error
-->
<logsize>10000</logsize>

    <security>
        <chroot>0</chroot>
    </security>
</icecast>


Thanks in advance.