The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.