Permalink
Browse files

new version 0.6

  • Loading branch information...
1 parent 2398983 commit c683e05d88733e42a6b7e39c572399d088cca8c8 @sharifulin committed Nov 24, 2011
Showing with 242 additions and 108 deletions.
  1. +2 −0 .gitignore
  2. +4 −0 Changes
  3. +1 −1 MANIFEST
  4. +22 −20 META.yml
  5. +1 −1 Makefile.PL
  6. BIN POE-Component-Client-Icecast-0.12.tar.gz
  7. +0 −70 README
  8. +193 −0 README.pod
  9. +19 −16 lib/POE/Component/Client/Icecast.pm
View
@@ -0,0 +1,2 @@
+*.tar*.gz
+*.SKIP
View
@@ -1,5 +1,9 @@
Revision history for POE-Component-Client-Icecast
+0.6 2011-11-24 15:59
+ New version, add multiple call PoCo Client of Icecast
+ Cleanup
+
0.12 2009-04-24 02:07
Update MANIFEST
View
@@ -1,7 +1,7 @@
Build.PL
Changes
MANIFEST
-README
+README.pod
lib/POE/Component/Client/Icecast.pm
examples/test.pl
t/00-load.t
View
@@ -1,30 +1,32 @@
---
-name: POE-Component-Client-Icecast
-version: 0.12
+abstract: 'non-blocking client to Icecast server for getting tags'
author:
- 'Anatoly Sharifulin <sharifulin@gmail.com>'
-abstract: non-blocking client to Icecast server for getting tags
+build_requires:
+ Test::More: 0
+configure_requires:
+ Module::Build: 0.36
+generated_by: 'Module::Build version 0.3603'
+keywords:
+ - POE
+ - PoCo
+ - Icecast
license: perl
-resources:
- license: http://dev.perl.org/licenses/
- repository: http://github.com/sharifulin/poe-component-client-icecast/tree
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
+name: POE-Component-Client-Icecast
+provides:
+ POE::Component::Client::Icecast:
+ file: lib/POE/Component/Client/Icecast.pm
+ version: 0.6
requires:
Carp: 0
POE::Component::Client::HTTP: 0
POE::Filter::Stream: 0
POE::Session: 0
perl: 5.008
-build_requires:
- Test::More: 0
-provides:
- POE::Component::Client::Icecast:
- file: lib/POE/Component/Client/Icecast.pm
- version: 0.12
-generated_by: Module::Build version 0.280801
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.2.html
- version: 1.2
-keywords:
- - POE
- - PoCo
- - Icecast
+resources:
+ license: http://dev.perl.org/licenses/
+ repository: http://github.com/sharifulin/poe-component-client-icecast/tree
+version: 0.6
View
@@ -1,4 +1,4 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.2808_01
+# Note: this file was auto-generated by Module::Build::Compat version 0.3603
require 5.008;
use ExtUtils::MakeMaker;
WriteMakefile
Binary file not shown.
View
70 README
@@ -1,70 +0,0 @@
-POE::Component::Client::Icecast - non-blocking client to Icecast server for getting tags
-
-SYNOPSIS
-
- use strict;
- use POE qw(Component::Client::Icecast);
- use Data::Dumper;
-
- POE::Component::Client::Icecast->new(
- Stream => 'http://station20.ru:8000/station-128',
- GetTags => sub {
- warn Dumper $_[ARG0];
- },
- );
-
- # or
-
- POE::Component::Client::Icecast->new(
- Host => 'station20.ru',
- Path => '/station-128',
-
- RemoteAddress => '87.242.82.108',
- RemotePort => 8000,
- BindPort => 8103, # for only one permanent client
-
- GetTags => sub {
- warn Dumper $_[ARG0];
- },
- );
-
- POE::Kernel->run;
-
-INSTALLATION
-
-To install this module, run the following commands:
-
- perl Build.PL
- ./Build
- ./Build test
- ./Build install
-
-SUPPORT AND DOCUMENTATION
-
-After installing, you can find documentation for this module with the
-perldoc command.
-
- perldoc POE::Component::Client::Icecast
-
-You can also look for information at:
-
- RT, CPAN's request tracker
- http://rt.cpan.org/NoAuth/Bugs.html?Dist=POE-Component-Client-Icecast
-
- AnnoCPAN, Annotated CPAN documentation
- http://annocpan.org/dist/POE-Component-Client-Icecast
-
- CPAN Ratings
- http://cpanratings.perl.org/d/POE-Component-Client-Icecast
-
- Search CPAN
- http://search.cpan.org/dist/POE-Component-Client-Icecast/
-
-
-COPYRIGHT AND LICENCE
-
-Copyright (C) 2009 Anatoly Sharifulin
-
-This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
View
@@ -0,0 +1,193 @@
+=head1 NAME
+
+POE::Component::Client::Icecast - non-blocking client to Icecast server for getting tags
+
+=head1 SYNOPSIS
+
+ use strict;
+ use POE qw(Component::Client::Icecast);
+ use Data::Dumper;
+
+ POE::Component::Client::Icecast->new(
+ Stream => 'http://station20.ru:8000/station-128',
+ Reconnect => 10,
+ GetTags => sub {
+ warn Dumper $_[ARG0];
+ },
+ );
+
+ # or
+
+ POE::Component::Client::Icecast->new(
+ Host => 'station20.ru',
+ Path => '/station-128',
+
+ RemoteAddress => '87.242.82.108',
+ RemotePort => 8000,
+ BindPort => 8103, # for only one permanent client
+
+ Reconnect => 10,
+
+ GetTags => sub {
+ warn Dumper $_[ARG0];
+ },
+ );
+
+ POE::Kernel->run;
+
+
+=head1 DESCRIPTION
+
+The module is a non-blocking client to Icecast streaming multimedia server for getting stream tags.
+
+See L<http://www.icecast.org/>.
+
+POE::Component::Client::Icecast is based on L<POE::Component::Client::TCP>.
+
+=head1 METHODS
+
+=head2 new
+
+
+ POE::Component::Client::Icecast->new(
+ Stream => 'http://station20.ru:8000/station-128',
+
+ # or
+
+ Host => 'station20.ru',
+ Path => '/station-128',
+
+ RemoteAddress => '87.242.82.108',
+ RemotePort => 8000,
+ BindPort => 8103, # for only one permanent client
+
+ # get tags from server
+
+ GetTags => sub {
+ warn Dumper $_[ARG0];
+ },
+ );
+
+PoCo::Client::Icecast's new method takes a few named parameters:
+
+=over 9
+
+=item * I<Stream>
+
+The stream url to Icecast stream, which contains domain, port and path to stream. Recommended.
+
+Instead of this param you ought to use: I<Host>, I<Path>, I<RemoteAddr> and I<RemotePort>.
+
+=item * I<Host>
+
+The host of Icecast server (without port).
+
+=item * I<Path>
+
+The path to Icecast stream.
+
+=item * I<RempoteAddress>
+
+The remote address to connect to Icecast server (host or ip).
+It's a param of L<POE::Component::Client::TCP>.
+
+=item * I<RemotePort>
+
+The remote port to connect.
+It's a param of L<POE::Component::Client::TCP>.
+
+=item * I<BindAddress>
+
+The param specifies the local interface address to bind to before starting to connect.
+It's a param of L<POE::Component::Client::TCP>.
+
+=item * I<BindPort>
+
+The param sets the local socket port that the client will be bound to before starting to connect.
+It's a param of L<POE::Component::Client::TCP>.
+
+=item * I<GetTags>
+
+The event of getting tags from server, it is called for each fully parsed input record from Icecast server.
+
+I<$_[ARG0]> contains a hashref of tags.
+
+=item * I<Reconnect>
+
+The flag of reconnect to Icecast server. If this flag exists, client will reconnect to server when an established socket has been disconnected.
+Delay is value of this param (in seconds). Default value is 0 (no reconnect).
+
+=back
+
+
+=head1 DEBUG & TRACE MODES
+
+The module supports debug mode and trace mode (trace POE session).
+
+ BEGIN { $ENV{ICECAST_DEBUG}++; $ENV{ICECAST_TRACE}++ };
+ use POE::Component::Client::Icecast;
+
+=head1 EXAMPLES
+
+See I<examples/test.pl> in this distributive.
+
+
+=head1 SEE ALSO
+
+L<POE>
+
+=head1 DEPENDENCIES
+
+L<POE::Component::Client::TCP> L<POE::Filter::Stream> L<POE::Session> L<Carp>
+
+=head1 AUTHOR
+
+Anatoly Sharifulin, C<< <sharifulin at gmail.com> >>
+
+=head1 BUGS
+
+Please report any bugs or feature requests to C<bug-poe-component-client-icecast at rt.cpan.org>, or through
+the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=poe-component-client-icecast>. I will be notified, and then you'll
+automatically be notified of progress on your bug as I make changes.
+
+=head1 SUPPORT & DOCUMENTATION
+
+You can find documentation for this module with the perldoc command.
+
+ perldoc POE::Component::Client::Icecast
+
+You can also look for information at:
+
+=over 5
+
+=item * Github
+
+L<http://github.com/sharifulin/poe-component-client-icecast/tree/master>
+
+=item * RT: CPAN's request tracker
+
+L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=poe-component-client-icecast>
+
+=item * AnnoCPAN: Annotated CPAN documentation
+
+L<http://annocpan.org/dist/poe-component-client-icecast>
+
+=item * CPAN Ratings
+
+L<http://cpanratings.perl.org/d/poe-component-client-icecast>
+
+=item * Search CPAN
+
+L<http://search.cpan.org/dist/poe-component-client-icecast>
+
+=back
+
+=head1 COPYRIGHT & LICENSE
+
+Copyright (C) 2009-2011 Anatoly Sharifulin
+
+This program is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=cut
+
Oops, something went wrong.

0 comments on commit c683e05

Please sign in to comment.