Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::UPnP::AV::MediaSeUser(Contributed Perl DocumNet::UPnP::AV::MediaServer(3)

NAME
       Net::UPnP::AV::MediaServer - Perl extension for UPnP.

SYNOPSIS
	   use Net::UPnP::ControlPoint;
	   use Net::UPnP::AV::MediaServer;

	   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;
	       }
	       $mediaServer = Net::UPnP::AV::MediaServer->new();
	       $mediaServer->setdevice($dev);
	       @content_list = $mediaServer->getcontentlist(ObjectID =>	0);
	       foreach $content	(@content_list)	{
		   print_content($mediaServer, $content, 1);
	       }
	       $devNum++;
	   }

	   sub print_content {
	       my ($mediaServer, $content, $indent) = @_;
	       my $id =	$content->getid();
	       my $title = $content->gettitle();
	       for ($n=0; $n<$indent; $n++) {
		   print "\t";
	       }
	       print "$id = $title";
	       if ($content->isitem()) {
		   print " (" .	$content->geturl();
		   if (length($content->getdate())) {
		       print " - " . $content->getdate();
		   }
		   print " - " . $content->getcontenttype() . ")";
	       }
	       print "\n";
	       unless ($content->iscontainer())	{
		   return;
	       }
	       @child_content_list = $mediaServer->getcontentlist(ObjectID => $id );
	       if (@child_content_list <= 0) {
		   return;
	       }
	       $indent++;
	       foreach my $child_content (@child_content_list) {
		   print_content($mediaServer, $child_content, $indent);
	       }
	   }

DESCRIPTION
       The package is a	extention UPnP/AV media	server.

METHODS
       new - create new	Net::UPnP::AV::MediaServer.
	       $mservier = Net::UPnP::AV::MediaServer();

	   Creates a new object. Read `perldoc perlboot` if you	don't
	   understand that.

	   The new object is not associated with any UPnP devices. Please use
	   setdevice() to set the device.

       setdevice - set a UPnP devices
	       $mservier->setdevice($dev);

	   Set a device	to the object.

       browse -	browse the content directory.
	       @action_response	= $mservier->browse(
						   ObjectID => $objid, # 0
						   BrowseFlag => $browseFlag, #	'BrowseDirectChildren'
						   Filter => $filter, #	"*'
						   StartingIndex => $startIndex, # 0
						   RequestedCount => $reqCount,	# 0
						   SortCriteria	=> $sortCrit # ''
						   );

	   Browse the content directory	and return the action response,
	   Net::UPnP::ActionResponse.

       getcontentlist -	get the	content	list.
	       @content_list = $mservier->getcontentlist(
						   ObjectID => $objid, # 0
						   Filter => $filter, #	"*'
						   StartingIndex => $startIndex, # 0
						   RequestedCount => $reqCount,	# 0
						   SortCriteria	=> $sortCrit # ''
						   );

	   Browse the content directory	and return the content list. Please
	   see Net::UPnP::AV::Content, Net::UPnP::AV::Item and
	   Net::UPnP::AV::Container.

SEE ALSO
       Net::UPnP::AV::Content

       Net::UPnP::AV::Item

       Net::UPnP::AV::Container

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.

perl v5.32.0			  2018-12-23	 Net::UPnP::AV::MediaServer(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SEE ALSO | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::UPnP::AV::MediaServer&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help