[icecast] Reloading ices (0.2.3) playlist

Andy Theyers andy at irealise.com
Sun Apr 13 14:15:12 UTC 2003



Hiya

I'm completely stumped on reloading the playlist...  If I send ices a 
SIGHUP signal it appears to reload the Perl module but not execute any code.

The messages I'm getting are:
DEBUG: Caught SIGHUP, cycling logfiles and reloading playlist...
DEBUG: Interpreting [ices_shutdown]
DEBUG: perl [ices_shutdown] returned 1 values, last [1]
DEBUG: Done interpreting [ices_shutdown]
DEBUG: Importing perl module: remote
DEBUG: Found method: ices_init
DEBUG: Found method: ices_shutdown
DEBUG: Found method: ices_get_next
DEBUG: Found method: ices_get_metadata
DEBUG: Found method: ices_get_lineno

And then nothing more happens.  The currently playing track doesn't stop, 
the ices_get_next isn't called and everything continues as normal until the 
end of the current track, when a new track isn't fed to icecast and the 
client drops it's connection.

Anyone know what I'm doing wrong?

Here's my module (remote.pm)
------------------
use strict;
use LWP::UserAgent;
use HTTP::Request;

ub ices_init {
        print "Perl subsystem Initializing:\n";
        return 1;
}

ub ices_get_next {
        print "Getting next track from \
http://tunes.3dcrm.co.uk/stream/next.php\n";
        my $ua=new LWP::UserAgent;
        my $req=HTTP::Request->new(GET => \
"http://tunes.3dcrm.co.uk/stream/next.php");
        print "Making request...";
        my $res=$ua->simple_request($req);
        if(!$res->is_success) {
                print "Failed: " . $res->status_line . "\n";
        }
        print "Done\n";
        my $filename=$res->content;
        return($filename);
}

# If defined, the return value is used for title streaming (metadata)
sub ices_get_metadata {
        print "Getting meta data from \
http://tunes.3dcrm.co.uk/stream/meta.php\n";
        my $ua2=new LWP::UserAgent;
        my $req2=HTTP::Request->new(GET => \
"http://tunes.3dcrm.co.uk/stream/meta.php");
        print "Making request...";
        my $res2=$ua2->simple_request($req2);
        if(!$res2->is_success) {
                print "Failed: " . $res2->status_line . "\n";
        }
        print "Done...\n";
        my $metadata=$res2->content;
        return($metadata);
}

return 1;
-----------------------------

Thanks

Andy

-- 
http://irealise.com
irealise - creative technology

--- >8 ----
List archives:  http://www.xiph.org/archives/
icecast project homepage: http://www.icecast.org/
To unsubscribe from this list, send a message to 'icecast-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.




More information about the Icecast mailing list