
You are here: MyURC.org > Tools & Prototypes > UCHe > Release Notes
UCHe - Release Notes
Release 2.0 - May 2010
Page Contents:
Change Log
Changes after Release 1.1:
- Post the update of the State variable 'UIListingUpdate' of UCH RUI Server Device to subscribed clients completed.
- Implemented Zero Configuration Network (Bonjour). Now UCH - Pick an interface page and other configuration pages can be accessed from a browser using the URL: http://uch.local. (In case of multiple UCHs in the network; UCH will be numbered like: http://uch-2.local., http://uch-3.local. and more).
- UCH instanceId created using MAC address. This instanceId is stored in uchProps with key: "uchInstanceId"
- Changed the code for getting IP Address and MAC Address.
- Added new method List<Map<String, String>> uploadResource(List<Map<String, List<String>>> props, List<String> resourceURIs ) in ITAListener, ITDMListener and IUIPMListener.
- Add the properties 'start' and 'count' for resource server query (using getResources() method) in UCH and all TAs, TDMs and UIPMs where required.
- Solved problems when Apache was running on port other than 80.
- Start Zero conf service on specific port.
- Modify the presentationURI of UPnP Server Device according to the portNo.
- Modify the return URI String of the method startUriService() according to the portNo.
- Solved problem regarding to implementation of GetDocument request. If user configure userName and password in uch.config then all request sent to Resource Server using secure (https) request. In case of getDocument there was a problem to match resserver app-path. That is solved now.
- Ask to modify resource server username and password if the username and password in uch.config is invalid or not provided. This is available on UCH complex configuration page available at: http://uch.local./UCH/index.html
- Completed distributing tasks of separating TDMListener, TAListener and UIPMListener from UCH main class.
- Created separate subpackages under 'resourcemanager' package for Resource Sheet Resources Management, Resource Server Resources Management and Upload Resource Management, but provided method calls only via ResourceManager.
- Prepared a separate utility class for encryption of userName and Password, for checking validity on Resource Server.
- Created a separate UIServiceHandler class to manage Compatible UIs related tasks.
- Removed direct dependency of TargetDescription and Socket Description on Resource Manager. Changed Resource Manager call via TA/TAListener.
- Added 'http://purl.org/dc/terms/conformsTo' property to the getResources request for each UCH component i.e. TDM, TA and UIPM. This way versioning of the UCH components can be maintained with respect to the release.
- UCH personalization.
- Implementation of Basic authentication for openUserContext.
- Add/update of methods in ITA, ITDM, IUIPM, ITAListener, ITDMListener and IUIPMListener, related to User Context and Personalization.
- Session Management with cookies.
- Get user Profiles from Resource Server as well as from local resources.
- Controller profile is created from the header of HTTP request.
- Added Local Resource Manager as explained at: HowToAddLocalResource.html.
Now source of the resources using the method getResources() depends on the
property 'resourceLocation':
- Property 'resourceLocation' specifies where UCH finds requested resources. Available values are : (i) local (ii) resServer (iii) all
- If property 'resourceLocation' is not specified then UCH considers default value 'all'.
- Added Local Resource Upload Manager. Location of Uploaded resource depends on the value of the property 'location'. Available values for 'location' are (i) local and (ii)resourceserver .Its default value is 'local'. If both values are specified then resource is uploaded to both locations.
- If UIPM adds a new compatibleUI with existing URI and different protocolinfo then UCH updates the protocol info linked to the existing URI. In previous implementation new protocol info was added.
- Added new query parameter "queryParams=param1%3Dparam1Value%26param2%3Dparam2Value" to all URI's when calling IUIPMListener.addCompatibleUI() for adding UIPM Clients. This parameter specifies all query parameters to be passed to actual UIPM Client in query string; currently only targetId is being passed as - "queryParams=targetId%3DtargetIdValue"
- Added link to UCH index page from Pick an Interface screen.
- Add the Target friendly name with the UIPM Clients on 'Pick An Interface' page.
- Added HTML interface for changing Resource Server username/password access. Link provided from UCH complex configuration page.
New Features
This is release 2.0 of Trace's UCH reference implementation for C++.
It includes binaries of the following modules:
- UCHe (Release 2.0)
- Implemented Bonjour Zero configuration Network.
- Parse the 'includeResources' in URC-HTTP open session request. Accordingly supply resources with all calls of getValue, getUpdates, push updates, setValues and addValues.
- Completed implementation of schema parsing of Socket Description, for providing resources for dimensions index.
- Completed the implementation of includeSet attribute of getValue Request. Also added related parameter to the methods IUIPMListener.getValue() and ITA.getValue().
- Implemented Local Resource Manager.
- Implemented mechanism to upload resources to UCH offline resource repository or the Resource Server.
- Instantiate all TDMs found in the UCH local resources directory. Now no need to specify TDM names in web.xml.
- Implemented Personalization specification and accordingly updated implementation of interfaces ITDMListener, ITAListener and IUIPMListener to support contexts. Also implemented User Context Manager, that supports requests 'openUserContext' and 'closeUserContext'.
- Target-side:
- Update implementation of interfaces ITDM, ITA and IUIPM in all TDM, TA and UIPM respectively. Now all components support contexts. (Note: Though contexts implementation is component [TA, TDM or UIPM] specific, so customization of contexts is not implemented in any component)
- UPnP AV Target Adapter (release 1.1): UPnP AV 1.0 media servers and media renderers
- Trace Satellite Box Applet (release 1.0): UPnP enabled demo target
- GC-100 Targets (release 2.0): Basic support for targets connected to the GC-100 master controller
- Client-side:
- PlayIt (release 4.1) - Flash controller for PDAs and smart phones
- DragIt (release 4.1) - DHTML controller for browser (tested on IE and Firefox)
- iPhone Client (release 1.0) - DHTML controller for iPhone or regular browser.
- iUCH - an iPhone or iPod Touch application available on iTunes App Store for discovering UCHs in the network and displaying HTTP/HTML clients available to control targets through UCH.
- Webclient Javascript code library (release 1.1) for building DHTML-based controllers
Resource Server Binding
This version 2.0 is pre-configured to retrieve resources from dot UI's global resource server (with guest access). This will provide you with all public resources on the dot UI resource server. If you would like to create your own resources and upload them into a protected environment on the dot UI resource server, send a message to rsadmin@dotui.com.
UCHe can also be configured to work in an offline-environment without the use of a resource server, or in a mixed environment with both local resources and resources from a resource server (see How To Add Local Resource).
UPnP AV Targets
The UPnP AV Target Adapter has been tested successfully with the following devices:
- Buffalo LinkStation Live (UPnP media server)
- Windows Media Player (UPnP media server)
- Roku SoundBridge M1001 (UPnP media renderer - audio only)
- EZ4Media EZFetch Digital Media Player (UPnP media renderer)
- ZyXEL DMA-1000 Digital Media Adapter (UPnP media renderer)
Other UPnP AV compatible media servers and renderers may or may not work with UCHe. Note that the playing device needs to be a media renderer that can be remotely controlled (in a 3-box model scenario).
GC-100 Master Controller
The GC100 Target Adapter has been tested successfully with the following devices:
- Infrared TV of different manufacturers
- Infrared DVD player from Denon
- Relay based Light on/off.
Other Infrared, relay controlled devices can be easily controlled using GC100 Target adapters provided with this realease.
Standard Versions
This release is based on the following standards and versions:
- ISO/IEC 24752-1:2008, Information Technology - User Interfaces - Universal Remote Console - Part 1: Framework
- ISO/IEC 24752-2:2008, Information Technology - User Interfaces - Universal Remote Console - Part 2: User Interface Socket Description
- ISO/IEC 24752-4:2008, Information Technology - User Interfaces - Universal Remote Console - Part 4: Target Description
- ISO/IEC 24752-5:2008, Information Technology - User Interfaces - Universal Remote Console - Part 5: Resource Description
- URC Consortium: Universal Control Hub 1.0, Draft Technical Report 2009-11-03
- URC Consortium: URC-HTTP Protocol 2.0, Draft Technical Report 2009-11-03
- URC Consortium: Resource Property Vocabulary 1.0, Draft Technical Report 2009-11-03
- URC Consortium: Resource Server HTTP Interface 1.0. Working draft 2009-04-29
NOTE: For an overview of related standards, please refer to the URC Technical Primer.
Known Limitations
The following subsections describe what features of the standards ARE and ARE NOT implemented by UCHe.
ISO/IEC 24752-1:2008 URC Framework
| 6.1 Discovery management | UCH is discovered by Bonjour Zero Conf Service and UPnP Device Spy. | |
| 6.1.2 Target instance identifier | A target identifier is automatically generated by the TDM for every target discovered. | |
| 6.1.3 Support for document deployment | Target Description and Socket Description for each target is provided through the UIList (http://[uch-ip-address]/UCH/GetCompatibleUIs). See UCH spec. | |
| 6.1.4 Target description | Provided through UIList. | |
| 6.1.5 Invocation of a target's locator. | Locator function is available in UCH. | |
| 6.2 User interface socket | The UCH is providing direct access to the targets' sockets through the UIPM Listener API, or alternatively through the URC-HTTP protocol. | |
| 6.2.2 A target’s sockets | The UCH exposes a target's socket on behalf of the target (as a proxy). The targets that the UCH connects to are not URC-compatible in general. | |
| 6.2.3 Socket elements | Variables, commands and notifications are implemented. The client needs to take care of constants. | |
| 6.2.3.2 Multiple connected URCs | Multiple clients supported in general, and for URC-HTTP UIPM. | |
| 6.2.3.3 Multi-user and single-user targets | Generally supported. TA needs to take care of this. | |
| 6.2.3.4 Synchronization | Synchronization between socket layer and UIPM layer provided. Also between URC-HTTP UIPM and URC-HTTP client. | |
| 6.3 User interface socket description | Provided through UIList. | |
| 6.4.1 Target grouping resources | Provided through Resource Sheets (linked from Target Description). | |
| 6.4.2 Target atomic resources | Provided through Resource Sheets (linked from Target Description). | |
| 6.4.3 Target resource sheets | Provided through links from Target Description. | |
| 6.4.4 Required target resources | The target manufacturer needs to provide links in the Target Description to the required target resources (i.e. the pertaining resource sheets). | |
| 6.4.6 Target user interface implementation descriptions (UIIDs) | Any kind of UIID can be implemented as a UIPM. | The UCH does not natively provide support for presentation templates. |
| 6.5 Session management | In general, session management is provided through the UIPM API and the UIPM Listener API of the UCH. | |
| 6.5.1.3 Forwarding | Session forwarding upon open session request is not supported. | |
| 6.5.2 Support for URC suspend session request | Not implemented. | |
| 6.5.3 Support for URC resume session request | Not implemented. | |
| 6.5.5 Abort session event | Supported in the UIPM API. | Not defined in URC-HTTP protocol. |
| 6.5.6 Established connection | No connection sensing implemented beyond Apache's http server features. | |
| 6.5.7 Session forwarding | Not implemented. | |
| 6.6 Socket management | In general, this is implemented through the UIPM API and UIPM Listener API. | |
| 6.6.3 Indication of availability of socket elements at runtime | Up to the TA to implement this (TA API). Note: Invalid paths should
just be ignored by the TA.
In the URC-HTTP protocol, unavailable socket variables have the value NULL in the UIPM/UIPM Listener API, and "undefined" in the URC-HTTP protocol. |
|
| 6.6.4 Synchronization mechanism | Supported through APIs. | |
| 6.6.5 Variable and synchronization of variable values | Supported through APIs. | |
| 6.6.5.2 Undefined values | In the APIs, NULL is representing the "undefined" value. | |
| 6.6.6 Command and synchronization of command state | Supported through APIs. | |
| 6.6.6.2 Local input parameters | Supported. The value of a local input parameters has to be provided
prior to calling the pertaining function.
Note: The value of any input parameter (local and global) and the invocation of a function can be contained in one call to setValuesRequest. However, the input parameter has to be specified in an array element prior to the array element requesting the function invocation. |
|
| 6.6.6.5 Undefined command states | An undefined command state is represented by NULL. | |
| 6.6.6.7 Concurrency restriction | Not implemented. | |
| 6.6.6.8 timeToComplete | Generally supported. TAs can make use of it. | |
| 6.6.7 Notifications and acknowledgment reception | Supported. | |
| 6.6.7.3 Multiple control sessions | The TAs have to make sure that notifications are not shared among sessions. | |
| 6.6.7.4 Explicit user acknowledgment | Client responsible for this. In any case (explicit user acknowledgment required or not), the TA is supposed to wait for acknowledgment of a notification. | |
| 6.6.7.6 Stacking of notifications | Responsibility of TA. | |
| 6.6.8 Actual indices for dimensional socket sets/elements | Supported. | |
| 6.6.9 URC side interpretation of socket element dependencies | Responsibility of TA. | |
| 6.6.10 User response timeouts | Responsibility of TA. | |
| 6.6.11 Providing atomic resources at runtime | TAs can provide dynamic resources to UCH. | |
| 6.7 Target-URC network link (TUNL) on the target | The UCH implements the TUNL in the form of the UIPM/UIPM Listener APIs (direct calls instead of protocol). | |
| 7 Supplemental resources | Supplemental resources are not provided by the UCH currently. In future versions, they may be retrieved by the UCH from a resource server. | |
| 8.2 Target-URC network (TUN) | The TUN is hidden inside the UCH (as UIPM/UIPM Listener APIs). The functions of the TUN are implemented as functions of the pertaining APIs. | |
| 8.2.2 Unique instance identifier | Supported. | |
| 8.2.3 Support for discovery | Provided if target can be automatically discovered. | |
| 8.2.3.2 Scope of discovery | Discovery of remote targets is possible if TA can connect to remote targets. | |
| 8.2.4 Support for document deployment | Provided through getDocument() function. | |
| 8.2.5 Support for session management | Provided through API. | |
| 8.3 Resource-URC network (RUN) | Currently, resources have to be configured and stored locally. In the future, the UCH may use the Internet as RUN to retrieve resources from a resource server. | |
| 9 Security and privacy considerations | The connections between UIPMs and UCH, and between the UCH and the TAs is secure since they are APIs in a closed system. It is up to the TAs / UIPMs to secure their connections to controllers / targets as appropriate. |
ISO/IEC 24752-2:2008 User Interface Socket Description
| Section in ISO/IEC 24752-2 | Description of feature implemented | Description of feature not implemented |
|---|---|---|
| 5.2 XPath expressions | XPath expressions are not supported. | |
| 5.3 MIME type | Socket Description files are served with MIME type of “application/urc-uisocketdesc+xml” if their file extension is ".uis". | |
| 6 Structure of a socket description | The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do provide support for the following
elements or attributes of a Socket Description:
|
The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do not provide support for the following
elements or attributes of a Socket Description:
|
| 6.6 The <dcterms:conformsTo> element | Checking dcterms:conformsTo for validity of socket description. | |
| 7 Sets | The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do provide support for the following
elements or attributes of a Socket Description:
|
The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do not provide support for the following
elements or attributes of a Socket Description:
|
| 7.4 Set dependencies | Set dependencies are not evaluated by the UCH. It is up to UIPMs (and URC-HTTP clients) to check dependencies. | |
| 8 Variables | The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket provide support for the following
subelements or attributes of a variable:
|
The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do not provide support for the following
elements or attributes of a variable:
|
| 8.3 The ‘type’ attribute | All variable values are handled as strings, disregarding their
defined types. No validity checking on values is performed by the UCH.
Note: This makes it easier to pass values from and to UIPMs and TAs. |
|
| 8.3.5 Stream types | Streams are not supported by the UCH. | |
| 8.4 The ‘secret’ attribute | No extra mechanism supported to protect 'secret' values. | |
| 8.5 The ‘sensitive’ attribute | No mechanism is in place to make sure the user sees the sensitive information. | |
| 8.11 Variable dependencies | Variable dependencies are not evaluated by the UCH. It is up to UIPMs (and URC-HTTP clients) to check dependencies. | |
| 8.12 Selection | No checking on validity of values against open or closed selections is done by the UCH. | |
| 8.13 Platform-specific mapping information | Platform-specific mapping information is ignored by UCH. | |
| 9 Constants | UCH ignores constants in the socket description. UIPMs are supposed to pull the constant values from the socket description, if needed. | |
| 10 Commands | The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket provide support for the following
elements or attributes of a command:
|
The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do not provide support for the following
elements or attributes of a command:
|
| 11 Notifications | The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket provide support for the following
elements or attributes of a notification:
|
The library packages edu.wisc.trace.uch.util and
edu.wisc.trace.uch.util.socket do not provide support for the following
elements or attributes of a notification.
|
| 12 Type definitions | UCH ignores type definitions. There is no library package provided for parsing internally and externally defined types. |
ISO/IEC 24752-4:2008 Target Description
| Section in ISO/IEC 24752-4 | Description of feature implemented | Description of feature not implemented |
|---|---|---|
| 5.2 MIME type | Target description files are served with MIME type “application/urc-targetdesc+xml” if their file extension is ".td". | |
| 6 The <target> element | The library packages edu.wisc.trace.uch.util provides support for the following elements or attributes of a target description:
|
The UCH does not parse target descriptions.
The library packages edu.wisc.trace.uch.util does not provide support for the following elements or attributes of a target description:
|
| 6.7 The <locator> element | Locator invocation requests from UIPMs are passed on to the appropriate TA. TAs are responsible to implement the locator behavior. | |
| 6.10 Resource directory | The UCH uses the resource directory to find pertaining resource sheets. All resource sheets referenced in the resource directory are parsed by the UCH in order to retrieve atomic resources from them. |
ISO/IEC 24752-5:2008 Resource Description
| Section in ISO/IEC 24752-5 | Description of feature implemented | Description of feature not implemented |
|---|---|---|
| General | Resource sheets are parsed by the UCH, in order to provide UIPMs with atomic resources. | Grouping resources are not parsed, and are not available from the UCH. |
| 6 Atomic resource – <AResDesc> | The resource manager in the UCH provides support for atomic
resources. Only resources with perfect match are delivered. If multiple
resources match the query, only one is delivered (arbitrary choice).
Parsing of resource sheets based on order resource directory.
Inheritance of properties within a resource sheet is supported.
The following resource properties are available through the resource manager in the UCH:
|
The following resource properties are not available through the
resource manager in the UCH:
|
| 7 Grouping resource – <Grouping> | Grouping resources are not supported. UIPMs wanting to use grouping resources need to retrieve groupings from resource sheets themselves. | |
| 8 Resource sheet – <ResSheet> | The UCH supports parsing of resource sheets. Some notes on specific
sections:
|
Notes:
|
| 8.8 MIME type | Resource Sheets are served with MIME type “application/urc-ressheet+xml”, if their extension is ".rsheet". | |
| 9 UIID description – <UiidDesc> | UIID descriptions are ignored by the UCH. | |
| 10 Resource service description – <ResSvcDesc> | Resource service descriptions are ignored by the UCH. | |
| 11 Resource directory – <ResDir> | The UCH parses resource directories, but only if they are local in the target description. | External resource directory files (referenced through
<localAt>) in a target description, are ignored.
|
| 11.7 MIME type | Resource Directories are served with MIME type “application/urc-resdir+xml”, if their extension is ".rdir". |
UCH specification
| Section in UCH spec | Description of feature implemented | Description of feature not implemented |
|---|---|---|
| RUI Server | UCHe is RUI Server level-2 | Input arguments InputDeviceProfile is ignored. Returned UI List depends on the input argument UIFilter. |
| API of UIPM (IUIPM) | Mandatory Functions:
Optional Functions:
|
Mandatory Functions:
Optional Functions: |
| API of UIPM Listener (IUIPMListener) | Mandatory Functions:
Optional Functions:
|
Mandatory Functions:
Optional Functions:
|
| Target Discovery Module Interface (ITDM) | Mandatory Functions:
Optional Functions:
|
Mandatory Functions: Optional Functions: |
| Target Discovery Manager Listener Interface (ITDMListener) | Mandatory Functions:
|
Mandatory Functions: Optional Functions:
|
| Target Adapter Interface (ITA) | Mandatory Functions:
Optional Functions:
|
Mandatory Functions: Optional Functions:
|
| Target Adapter Listener Interface (ITAListener) | Mandatory Functions:
|
Mandatory Functions:
|
URC-HTTP specification
| Section in URC-HTTP spec | Description of feature implemented | Description of feature not implemented |
|---|---|---|
| URC-HTTP Protocol Advertising | URC-HTTP UIPM supports the URC/HTTP protocol and advertises <protocol>...</protocol> in its UIList. | Advertising of URC-HTTP Client Wrapper Protocols |
| Get Resources (Out-of-session and In-session) | URC-HTTP UIPM get requested resources from IUIPMListener and returns the resources as per the format defined in URC-HTTP Protocol. | |
| Get Document (HTTP Proxy) | URC-HTTP UIPM asks for the documet from IUIPMListener. Though UCH has limited facility to provide the document. (UCH specification -6.2.1.5). |
|
| Invoke Locator | Implemented. | |
| Get User Interface Info | Not Implemented. | |
| Open Session Request | Implemented partially. | </openSessionRequest> is ignored by the URC-HTTP UIPM.
Consequently, values sent from the UCH (by Get Value, Get Updates, and
Set Values, or via the Update Channel) do not come bundled with
resources.
Forwarding of open session request is not implemented. |
| Close Session Request | URC-HTTP UIPM calls IUIPMListener's closeSession(). | |
| Get Values | URC-HTTP UIPM gets values from IUIPMListener and responds as per the format defined in URC-HTTP Protocol. | Values from UCH don't come with resources. |
| Get Updates | URC-HTTP UIPM get updated values from IUIPMListener and responds the values as par the format defined in URC-HTTP Protocol-V12. | Values from UCH don't come with resources. |
| Set Values | Implemented. | Values from UCH don't come with resources. |
| Get Resources (In-Session) | Implemented. | |
| Opening the Update Channel | Implemented. | |
| Update Events | Implemented. | Values from UCH don't come with resources. |
| URL Rewriting | Implemented. | |
| Cookies | Not Implemented. |
Implementation of UPnP AV
List of Play-1 Socket element id's not implemented (either on the device or in UPnPAV TA):
- childCount
- chVolumeDB
- chLoudness
- chVolumeDBMaxValue
- chVolumeDBMinValue
- contrastMaxValue
- verticalKeystoneMaxValue
- verticalKeystone
- blueVideoBlackLevel
- greenVideoGainMaxValue
- sharpness
- contrast
- brightness
- blueVideoBlackLevelMaxValue
- greenVideoGain
- horizontalKeystoneMaxValue
- horizontalKeystoneMinValue
- colorTemperatureMaxValue
- blueVideoGainMaxValue
- colorTemperature
- redVideoBlackLevelMaxValue
- greenVideoBlackLevel
- blueVideoGain
- sharpnessMaxValue
- verticalKeystoneMinValue
- redVideoGain
- redVideoGainMaxValue
- redVideoBlackLevel
- horizontalKeystone
- brightnessMaxValue
- greenVideoBlackLevelMaxValue
- absoluteCounterPosition
- possibleRecordStorageMedia
- currentMediaDuration
- possiblePlaybackStorageMedia
- recordMediumWriteStatus
- isCurrentPlayModeSettable
- recordStorageMedium
- absoluteTimePosition
- recordQualityModeSettable
- nextAvTransportUri
- possibleRecordQualityModes
- currentRecordQualityMode
- relativeCounterPosition
- playbackStorageMedium
- seek
- record
- nextAvTransportUriMetaData
List of Play-2 Socket element id's not implemented (either on the device or in UPnPAV TA):
- chVolumeDB
- chLoudness
- chVolumeDBMaxValue
- chVolumeDBMinValue
- contrastMaxValue
- verticalKeystoneMaxValue
- verticalKeystone
- blueVideoBlackLevel
- greenVideoGainMaxValue
- sharpness
- contrast
- brightness
- blueVideoBlackLevelMaxValue
- greenVideoGain
- horizontalKeystoneMaxValue
- horizontalKeystoneMinValue
- colorTemperatureMaxValue
- blueVideoGainMaxValue
- colorTemperature
- redVideoBlackLevelMaxValue
- greenVideoBlackLevel
- blueVideoGain
- sharpnessMaxValue
- verticalKeystoneMinValue
- redVideoGain
- redVideoGainMaxValue
- redVideoBlackLevel
- horizontalKeystone
- brightnessMaxValue
- greenVideoBlackLevelMaxValue
- absoluteCounterPosition
- possibleRecordStorageMedia
- currentMediaDuration
- possiblePlaybackStorageMedia
- recordMediumWriteStatus
- isCurrentPlayModeSettable
- recordStorageMedium
- absoluteTimePosition
- recordQualityModeSettable
- nextAvTransportUri
- possibleRecordQualityModes
- currentRecordQualityMode
- relativeCounterPosition
- playbackStorageMedium
- seek
- record
- nextAvTransportUriMetaData
Known Bugs
General:
- If Superna Control Software (http://www.supernasystems.com/) is running, then discovery of devices in UCH is very poor or not working at all.
- If port 80 is used for running Tomcat and UCH, then one should disable all other softwares running on port 80. If Skype is running on the same PC, then under options->Advanced->Connection, one has to uncheck - "Use port 80 and 443 as alternatives for incoming connections".
- Please update the firmwares on all your devices if you come across problems.
- UPnP Control Point (shared inbetween UPnP TDM and UPnP TA's) and GlobalCache Control Point (shared inbetween GC TDM and GC TA's) code are included in UCH itself instead of sharing it using the UCH Local Store. This is due to class loader issue in Tomcat for sharing classes inbetween two runtime added and instantiated classes.
UPnP AV:
- Windows Media Player
- Media sharing - By default Windows Media Player does not share media. One has to manually enable it by using the 'Media Sharing' under the 'Library' Menu.
- Using the following filter Windows Media Player works with
Soundbridge. By default if the Filter is not set by the client then UCH
uses this browseFilter/searchFilter to browse, search and play content.
- dc:title,res,res@duration,duration,upnp:class,upnp:actor
- Buffalo - LinkStation
- Searching the LinkStation sometimes returns containers and UCH does not support playing of containers.
- Google Media Server
- The Device description XML when parsed by the CyberLink UPnP library throws the following error: org.xml.sax.SAXParseException: Content is not allowed in trailing section. Hence Google Media Server is not discovered by UCH.
- SoundBridge
- With Windows Media Player it works pretty good if one uses the browse/search filter: "dc:title,res,res@duration,duration,upnp:class,upnp:actor" on the Windows Media Player.
- EZFetch Digital Media Player
- Works nicely in almost all cases.
- DMA-1000
- While Playing a Picture slideshow, the Home Screen is shown on the display screen when transitioning to the next picture.
- DMA-1000 gets stuck many times and it has to be restarted to get it working again.
- Playlists do not work.
- Synchronization issues for clients connected to the same MediaRenderer.
Possible clients: Manufacturer IR Remote control of MediaRenderer, DragIt
and PlayIt. The main reason being that UPnPAV TA has to simulate playing of
a playlist. Example Scenario:
- Presently AV TA jumps to the next song based on Transport Status = STOPPED and TotalTrackDuration=RelativeTimePosition (or RelativeTimePosition > (Total Track Duration - (2 + Polling Interval))). Because of this logic, while one client is playing, and second client Stops the MediaRenderer exactly at the end of the song, then it won't stop.
- While playing a SlideShow on a MediaRenderer, if the same client tries to play another media, then sometimes a race condition could occur with the Thread which is simulating the slideshow. Hence the other media won't play, and the slideshow will continue.
- While playing picture slideshow, the media information on Media Renderer does not update even if the pictures keep changing. Because of this the Title of the Picture won't be updated on clients other than the one who started the Picture Slideshow. Also if client X of Play-1 started playing any playlist or slideshow, and another client Y of Play-2 also started playing any playlist or slideshow on the same Media Renderer, then client X will not receive the Title or MetaData updates.
Please report bugs to
Last update: Gottfried Zimmermann, Parikshit Thakur & Team, 2010-05-20