Net::UPnP - Perl extension for UPnP


NAME

Net::UPnP - Perl extension for UPnP


SYNOPSIS

    use Net::UPnP::ControlPoint;
    my $obj = Net::UPnP::ControlPoint->new();
    @dev_list = $obj->search(st =>'upnp:rootdevice', mx => 3);
    $devNum= 0;
    foreach $dev (@dev_list) {
        $device_type = $dev->getdevicetype();
        if  ($device_type ne 'urn:schemas-upnp-org:device:MediaServer:1') {
            next;
        }
        print "[$devNum] : " . $dev->getfriendlyname() . "\n";
        unless ($dev->getservicebyname('urn:schemas-upnp-org:service:ContentDirectory:1')) {
            next;
        }
        $condir_service = $dev->getservicebyname('urn:schemas-upnp-org:service:ContentDirectory:1');
        unless (defined(condir_service)) {
            next;
        }
        %action_in_arg = (
                'ObjectID' => 0,
                'BrowseFlag' => 'BrowseDirectChildren',
                'Filter' => '*',
                'StartingIndex' => 0,
                'RequestedCount' => 0,
                'SortCriteria' => '',
            );
        $action_res = $condir_service->postcontrol('Browse', \%action_in_arg);
        unless ($action_res->getstatuscode() == 200) {
                next;
        }
        $actrion_out_arg = $action_res->getargumentlist();
        unless ($actrion_out_arg->{'Result'}) {
            next;
        }
        $result = $actrion_out_arg->{'Result'};
        while ($result =~ m/<dc:title>(.*?)<\/dc:title>/sgi) {
            print "\t$1\n";
        }
        $devNum++;
    }


DESCRIPTION

This package provides some functions to control UPnP devices.

Currently, the package provides only functions for the control point. To control UPnP devices, see the Net::UPnP::ControlPoint manpage.

As a sample of the control point, the package provides the Net::UPnP::AV::MediaServer manpage to control the devices such as DLNA media servers. As the example, please dms2vodcast.pl that converts from the MPEG2 movies to the MPEG4 one and outputs the RSS file for Vodcasting.


SEE ALSO

the Net::UPnP::ControlPoint manpage

the Net::UPnP::AV::MediaServer manpage


AUTHOR

Satoshi Konno skonno@cybergarage.org

CyberGarage http://www.cybergarage.org


COPYRIGHT AND LICENSE

Copyright (C) 2005 by Satoshi Konno


It may be used, redistributed, and/or modified under the terms of BSD License.

 Net::UPnP - Perl extension for UPnP