[mythtv] Ticket #1495: uPnp Support - Additional information
David Blain
MythTv at TheBlains.net
Sun Mar 12 07:39:22 UTC 2006
Isaac,
I was going to wait until after you reviewed my code before I created a
ticket, however, the attachments were too large so I thought it was easiest
just to bite the bullet and create the ticket.
The diff attached to ticket #1495 is against SVN 9320. I copied some of the
below text in the ticket, however this is some additional explanation.
I am planning on creating a detailed document/web site explaining the design
and how to extend it, however it is going to take me a couple of weeks due
to projects at work.
Here is a quick description of some of the features/requirements:
--- Installation:
There are 3 xml files that are used to describe the upnp devices/services in
mythtv. A 'make install' will copy them to the same directory as the
executables. In order for the application to know where the files are you
MUST add a setting to the database:
upnpDescXmlPath = /usr/local/bin/
I'm sure there is a better way to handle this, and am open to suggestions.
Also, if you want to assign a friendly name to be displayed on upnp clients
you can add this setting to the database (If it does not exist, it will
build a default name with the hostname embedded in it.)
upnpFriendlyName = "MythTv..."
--- Features / Limitations
1) Only Recorded programs are displayed on the client and I have not
included groups yet.
2) I used a D-Link DSM-520 as the playback client when testing... I had to
add device specific code for it not to treat MythTv as a foreign server.
(If an <mpeg file name>.idx file existing, then FF & FB work... I don't know
how to create these files yet, I had to use videoi.exe on a windows machine
to generate one)
3) The Connection Manager Service is NOT implemented yet.
4) uPnp Subscriptions & Events are not implemented yet.
5) All upnp & other methods can be accessed via SOAP, Form POST or by REST
(query strings).
6) I have added a handful of methods that return XML (these were added
before I started the upnp support... Some will be enhanced in the future to
be more upnp like).
/ Same as getStatusHTML
xml Same as getStatusXML
getStatusHTML Returns the original HTML Status Page
*** All of the following return XML ***
getStatusXML Returns the current Status Data
getProgramGuide Returns a subset of the program listings
getHosts Returns a list of unique Hosts contained in
the Setting table.
getKeys Returns a list of unique Keys in the Setting
Table
getSetting Returns a Keys value
putSetting Sets a Keys Value
getChannelIcon Retrieves the channel Icon
getRecorded Retrieves a list of Recorded Programs
getPreviewImage Retrieves a recorded programs thumbnail
image
getRecording Retrieves a complete recorded video (***
Used for upnp playback)
I have included a simple web page that can be used to test all the above
methods. It's all client side script, so it can be used on any machine (no
web server needed).
7) I refactored my code so that there are as little changes to the base
source as possible.
I have a lot more code to write to make this a complete implementation,
however, the attached patch is far enough along for discovery and playback
of recorded programs to work.
That's all I can think of for now... I look forward to your (or anyone
else's comments).
David Blain.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MythXMLTest.zip
Type: application/x-zip-compressed
Size: 10694 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20060312/eab922bf/attachment.bin
More information about the mythtv-dev
mailing list