[mythtv-commits] mythtv commit: r13022 - in trunk/mythtv by dblain

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue Mar 13 03:15:57 UTC 2007


      Author: dblain
        Date: 2007-03-13 03:15:56 +0000 (Tue, 13 Mar 2007)
New Revision: 13022
   Changeset: http://cvs.mythtv.org/trac/changeset/13022

Added:

   trunk/mythtv/libs/libmythupnp/broadcast.h
   trunk/mythtv/libs/libmythupnp/configuration.cpp
   trunk/mythtv/libs/libmythupnp/configuration.h
   trunk/mythtv/libs/libmythupnp/multicast.h
   trunk/mythtv/programs/mythbackend/MXML_scpd.xml
   trunk/mythtv/programs/mythbackend/devicemaster.xml
   trunk/mythtv/programs/mythbackend/deviceslave.xml
   trunk/mythtv/programs/mythbackend/mediaserver.cpp
   trunk/mythtv/programs/mythbackend/mediaserver.h
   trunk/mythtv/programs/mythbackend/mythxml.cpp
   trunk/mythtv/programs/mythbackend/mythxml.h

Removed:

   trunk/mythtv/libs/libmythupnp/devicemaster.xml
   trunk/mythtv/libs/libmythupnp/deviceslave.xml
   trunk/mythtv/libs/libmythupnp/mediaserver.cpp
   trunk/mythtv/libs/libmythupnp/mediaserver.h

Modified:

   trunk/mythtv/contrib/MythXMLTest/Home.html
   trunk/mythtv/contrib/MythXMLTest/MythXML.html
   trunk/mythtv/contrib/MythXMLTest/script.js
   trunk/mythtv/libs/libmyth/mythcontext.cpp
   trunk/mythtv/libs/libmyth/mythcontext.h
   trunk/mythtv/libs/libmythupnp/bufferedsocketdevice.cpp
   trunk/mythtv/libs/libmythupnp/bufferedsocketdevice.h
   trunk/mythtv/libs/libmythupnp/eventing.cpp
   trunk/mythtv/libs/libmythupnp/eventing.h
   trunk/mythtv/libs/libmythupnp/httprequest.cpp
   trunk/mythtv/libs/libmythupnp/httprequest.h
   trunk/mythtv/libs/libmythupnp/httpserver.cpp
   trunk/mythtv/libs/libmythupnp/httpserver.h
   trunk/mythtv/libs/libmythupnp/libmythupnp.pro
   trunk/mythtv/libs/libmythupnp/refcounted.h
   trunk/mythtv/libs/libmythupnp/ssdp.cpp
   trunk/mythtv/libs/libmythupnp/ssdp.h
   trunk/mythtv/libs/libmythupnp/ssdpcache.cpp
   trunk/mythtv/libs/libmythupnp/ssdpcache.h
   trunk/mythtv/libs/libmythupnp/taskqueue.cpp
   trunk/mythtv/libs/libmythupnp/threadpool.cpp
   trunk/mythtv/libs/libmythupnp/threadpool.h
   trunk/mythtv/libs/libmythupnp/upnp.cpp
   trunk/mythtv/libs/libmythupnp/upnp.h
   trunk/mythtv/libs/libmythupnp/upnpcds.cpp
   trunk/mythtv/libs/libmythupnp/upnpcds.h
   trunk/mythtv/libs/libmythupnp/upnpcmgr.cpp
   trunk/mythtv/libs/libmythupnp/upnpcmgr.h
   trunk/mythtv/libs/libmythupnp/upnpdevice.cpp
   trunk/mythtv/libs/libmythupnp/upnpdevice.h
   trunk/mythtv/libs/libmythupnp/upnpmsrr.cpp
   trunk/mythtv/libs/libmythupnp/upnpmsrr.h
   trunk/mythtv/libs/libmythupnp/upnptaskcache.h
   trunk/mythtv/libs/libmythupnp/upnptasknotify.cpp
   trunk/mythtv/libs/libmythupnp/upnptasknotify.h
   trunk/mythtv/libs/libmythupnp/upnptasksearch.cpp
   trunk/mythtv/libs/libmythupnp/upnptasksearch.h
   trunk/mythtv/libs/libmythupnp/upnputil.cpp
   trunk/mythtv/libs/libmythupnp/upnputil.h
   trunk/mythtv/programs/mythbackend/httpstatus.cpp
   trunk/mythtv/programs/mythbackend/httpstatus.h
   trunk/mythtv/programs/mythbackend/main.cpp
   trunk/mythtv/programs/mythbackend/mainserver.cpp
   trunk/mythtv/programs/mythbackend/mainserver.h
   trunk/mythtv/programs/mythbackend/mythbackend.pro
   trunk/mythtv/programs/mythbackend/upnpcdsmusic.cpp
   trunk/mythtv/programs/mythbackend/upnpcdstv.cpp
   trunk/mythtv/programs/mythbackend/upnpcdsvideo.cpp

Log:


Extensive changes were made to the UPnP stack in order to organize it better 
and prepare it for use in other applications such as MythFrontend.  

Some things to note:

    * All XML Methods (except status methods) have been removed from 
      httpstatus.cpp and placed in mythxml.cpp
    * All XML Methods have been changed to have the first letter in each
      method's name capitalized.
    * MythXML methods now have "Myth" as part of its URL:
                           
        http://server:6544/Myth/GetPreviewImage?....

    * Added GetConnectionInfo method that returns all database connection
      information.  If there is a setting called "SecurityPin" in the 
      settings table, it must be passed as a parameter in order for this
      call to be successful.  If the setting does not exist, any value
      passed as a parameter will be ignored and the call will succeed. 

    * The MythXML protocol has been added to the device description xml.

    * SSDP methods have been added to perform M-SEARCH requests.
    * SSDP now Tracks all UPnP Devices on the network.

    * Fixed XBMC issue with sub-devices in device description xml.
    * Created a new UPnP abstraction class for MediaServers (there will
      be a MediaRender abstraction that MythFrontend will use).

To support the use of the UPnP stack without access to the settings database,
the settings methods have been abstracted into a set of classes.

Depending on which class is used for configuration, UPnP settings can be 
changed from default values using either a config.xml file or the Settings 
database table.

Mythbackend defaults to using the settings database table.  The setting
names have been changed to align more with the xml format.  Here is a list
of possible settings and their default values.

  Name:                                Default Value if not found

  UPnP/ServicePort                     6544
  UPnP/TTL                             4
  UPnP/DescXmlPath
  UPnP/FriendlyName
  UPnP/MaxAge                          3600
  UPnP/SubscriptionDuration            1800

  UPnP/UDN/MasterMediaServer           <generated>
  UPnP/UDN/MediaServer                 <generated>

  UPnP/SSDP/Port                       1900
  UPnP/SSDP/SearchPort                 6546
  UPnP/SSDP/CacheInterval              30
        
  UPnP/HTTP/KeepAliveTimeoutSecs       10

  UPnP/ThreadPool/HTTP/Initial         1
  UPnP/ThreadPool/HTTP/Max             5

Mythfrontend will use a config.xml file since the UPnP stack will be used 
for auto-discovery (the database information is not available).  The
config.xml file does not need to be created, all values have defaults.

Here is the layout of the xml file:

    <Configuration>
      <UPnP>
        <ServicePort>6544</ServicePort>

        <TTL>4</TTL>
        <DescXmlPath></DescXmlPath>
        <FriendlyName></FriendlyName>

        <MaxAge>3600</MaxAge>

        <SubscriptionDuration>1800</SubscriptionDuration>

        <UDN>
          <MasterMediaServer>GUID Goes Here</MasterMediaServer>
          <MediaServer>GUID Goes Here</MediaServer>
        </UDN>

        <SSDP>
          <Port>1900</Port>
          <SearchPort>6546</SearchPort>
          <CacheInterval>30</CacheInterval>
        </SSDP>
      </UPnP>
            
      <HTTP>
        <KeepAliveTimeoutSecs>10</KeepAliveTimeoutSecs>
      </HTTP>

      <ThreadPool>
        <HTTP>
          <Initial>1</Initial>
          <Max>5</Max>
        </HTTP>
      </ThreadPool>

    </Configuration>

I'm sure there are more changes that I can't remember at this time.

Please let me know if this causes any issues.

David B.  
IRC: CDev





More information about the mythtv-commits mailing list