Net::UPnP (3)
Leading comments
Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) Standard preamble: ========================================================================
NAME
Net::UPnP - Perl extension for UPnPSYNOPSIS
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 Net::UPnP::ControlPoint.
As a sample of the control point, the package provides Net::UPnP::AV::MediaServer 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
Net::UPnP::ControlPointNet::UPnP::AV::MediaServer
AUTHOR
Satoshi Konno skonno@cybergarage.orgCyberGarage www.cybergarage.org
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Satoshi KonnoIt may be used, redistributed, and/or modified under the terms of
BSD
License.