NAME

Net::Icecast2::Mount - Icecast2 Server Mount API

SYNOPSIS

use Net::Icecast2::Mount;

my $icecast_mount = Net::Icecast2::Mount->new(
    host => 192.168.1.10,
    port => 8008,
    protocol => 'https',
    login    => 'source',
    password => 'hackme',
    mount    => '/my_mount.ogg',
);

$icecast_mount->metadata_update( song => 'New song' );
$icecast_mount->fallback_update( '/new_fallback.ogg' );
$icecast_mount->list_clients;
$icecast_mount->move_client( '/new_mount_point.ogg' );
$icecast_mount->kill_client( 23444 );
$icecast_mount->kill_source;

DESCRIPTION

Make request for Icecast2 Server Mount API

ATTRIBUTES

host

Description : Icecast2 Server hostname
Default     : localhost
Required    : 0

port

Description : Icecast2 Server port
Default     : 8000
Required    : 0

protocol

Description : Icecast2 Server protocol ( scheme )
Default     : http
Required    : 0

login

Description : Icecast2 Server Mount username
Default     : source
Required    : 0

password

Description : Icecast2 Server Mount password
Required    : 1

mount

Description : Icecast2 Server Mountpoint
Required    : 1

METHODS

metadata_update

Usage       : $icecast_mount->metadata_update( song => 'New song' );
Arguments   : List or HashRef of data parameters must update

Description : This function provides the ability for either a source client
              or any external program to update the metadata information for
              a particular mountpoint.

fallback_update

Usage       : $icecast_mount->fallback_update( '/new_fallback.ogg' );
Arguments   : New fallback mount point

Description : This function provides the ability for either a source client
              or any external program to update the "fallback mountpoint"
              for a particular mountpoint. Fallback mounts are those that are
              used in the even of a source client disconnection. If a source
              client disconnects for some reason that all currently connected
              clients are sent immediately to the fallback mountpoint.

list_clients

Usage       : $icecast_mount->list_clients;
Arguments   : No Arguments

Description : This function lists all the clients currently connected to a
              specific mountpoint. The results are sent back in XML form.

Return      : HashRef like
                mount => mount point
                listeners => listeners number
                listener => Array with info per each listener

move_clients

Usage       : $icecast_mount->move_client( '/new_mount_point.ogg' );
Arguments   : New mount point

Description : This function provides the ability to migrate currently
              connected listeners from one mountpoint to another. This
              function requires 2 mountpoints to be passed in: mount
              (the *from* mountpoint) and destination (the *to* mountpoint).
              After processing this function all currently connected
              listeners on mount will be connected to destination. Note that
              the destination mountpoint must exist and have a sounce client
              already feeding it a stream.

Return      : 1 on success and 0 on failure

kill_client

Usage       : $icecast_mount->kill_client( 23444 );
Arguments   : User ID can get from 'list_client' method

Description : This function provides the ability to disconnect a specific
              listener of a currently connected mountpoint. Listeners are
              identified by a unique id that can be retrieved by via the
              "List Clients" admin function. This id must be passed in to
              the request. After processing this request, the listener will
              no longer be connected to the mountpoint.

Return      : 1 on success and 0 on failure

kill_source

Usage       : $icecast_mount->kill_source;
Arguments   : No Argements

Description : This function will provide the ability to disconnect a specific
              mountpoint from the server. The mountpoint to be disconnected is
              specified via the variable "mount".

SEE ALSO

Icecast2 server: http://www.icecast.org Icecast2 API Docs: http://www.icecast.org/docs/icecast-trunk/icecast2_admin.html

Related modules Net::Icecast2 Net::Icecast2::Admin

AUTHOR

Pavel R3VoLuT1OneR Zhytomirsky <r3volut1oner@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Pavel R3VoLuT1OneR Zhytomirsky.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.