
You are here: MyURC.org > Tools & Prototypes > UCHj > Release Notes
UCHj - Release Notes
Release 1.1b - May 2009
Page Contents:
Change Log
Changes after Release 1.1b:
- Solved path related problem on Linux for extracting downloaded resources.
- Distribute the update of the State variable 'UIListingUpdate' of UCH RUI Server Device completed.
- Implemented zero Configuration Network(Bonjour).
- Implemented utility for changing GC device Configuration as well upload Configuration to Resource Server.
- Added code for finding Device Types, Device Manufacturer, Device Model Number and Pronto Code file.
- Added code for testing pronto code and locating GC 100 device.
- Added code for upload resources to Resource Server, which support the new added feature of uploading resource.
- Added code to discover/discard changed devices when UUID Config file is changed.
- Added code to uplode resources with unique UCH instanceId.
- Added Generic IR Target Adapter for GC-100 IR Devices.
- Changed the Zero Conf Library bacause of the problem of jmdns.jar with linux machine. New Library is jmdns.jar
- Changed the code for getting IPAddress and Mac Address, which is more flaxible with different machine.
- Solved bug related to Device Discarded in UCH and UIPM Listener.
- Added code for adding property for BaudRate, Parity and Flow Control to UUID.config file.
- Completed Generic Serial Target Adapter for GC100 devices.
- Set Serial Device Configuration(BaudRate, Parity and FlowControl) in TDM when before discoverying devices.
- Completed Generic IR Adapter for GC-100.
- Added Features for adding relay devices in UUID.config file.
- Added features for testing serial codes and chage serial configuration.
- Solved the problem of getCompatibleUIs(uch.local. and IP Address).
- Add a new method List<Map<String, String>> uploadResource(List<Map<String, List<String>>> props, List<String> resourceURIs ) in ITAListener, ITDMListener and IUIPMListener.
- Added a new method in IGC100ControlPoint for querying the GC100 like locate device, serial port configuration. In future, GC100 can be queried/configured without changing code in GCTDM.
- Add the properties 'start' and 'count' in UCH and all TAs,TDMs and UIPM where they are required.
- GC100Configuration - Display only Device Type title instead of whole URI.
- GC100Configuration - Show the following information on Code File Page.
- http://purl.org/dc/terms/modified
- http://purl.org/dc/terms/conformsTo
- http://purl.org/dc/elements/1.1/title
- http://purl.org/dc/elements/1.1/description
- http://purl.org/dc/elements/1.1/creator
- http://purl.org/dc/elements/1.1/publisher
- http://myurc.org/ns/res#uchInstanceId
- Solved problems regarding to run Server on the 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.
- Added a new context-param 'portNo' in web.xml, that specifies the port number on which server is running. If server is running on port number 80, then there is no need to specify context-param 'portNo'.
- Solved problem regarding to implemantation of GetDocument request. If user configure userName and password in web.xml 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.
Changes after Release 1.1a:
- In previous release - on Linux the automatic detection of IP addresses gave 127.0.0.1 sometimes. In the new release the actual IP address of the Linux machine is retrieved using output of 'ifconfig' command.
- 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 link to UCH index page from Pick an Interface screen.
- UPnP RUI Server presentation URL was incorrect. Now the presentation URL correctly forwards to the 'Pick an Interface' screen.
New Features
This is release 1.1 of Trace's UCH reference implementation for Java.
It includes binaries of the following modules:
- UCHj(Release 1.2)
- Implement 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().
- UCHj(Release 1.1)
- "Pick an Interface" screen is added to the index page of UCH. Here only the properties of the URCHTTP-UIPM Client are initially downloaded to show a list of Clients available to control targets attached in the network. On selecting a client, the actual client archive is downloaded and client browser is automatically redirected to the index page of the downloaded UIPM client.
- UCH internal changes:
- Classes/Packages added:
- edu.wisc.trace.uch.util.retrievalmanager :package is added which takes care of retrieving resources from Resource Server and providing other facilities like caching, clearing cache and extracting resource archive.
- edu.wisc.trace.uch.UchRuiServerDevice is added for exposing UCH as a Remote User Interface Server [CEA-2014] in a local network.
- Implementation changes:
- Resources are now completely handled by edu.wisc.trace.uch.resource.ResourceManager class. Previously, IUIPMListener class i.e edu.wisc.trace.uch.UCH class was responsible for seperating out atomic, dynamic and resource server resouces. Now edu.wisc.trace.uch.resource.ResourceManager class will seperate out this and fetch the appropriate resource.
- After downloading resources, edu.wisc.trace.uch.util.retrievalmanager.RetrievalManager class is responsible for processing it i.e extracting of archives will be done by edu.wisc.trace.uch.util.retrievalmanager.RetrievalManager only.
- Added the facility such that resource properties can be fetched without downloading (using getContent=false in property map of getResources method) from the Resource Server. For detailed description, please refer UCH spec.
- Classes/Packages added:
- Modifications affecting external interaction of UIPMs, TDMs, TAs
and Resource Server with UCH:
- Functionality changes:
- UCH can handle the request for clearing all cached resources. Client can clear particular type of cached resource by mentioning the type in the request.
- URCHTTP-UIPM will continously update the list of URCHTTP clients available from the Resource server.
- UPnPAVTA changes:
- Added /mediaServers/mediaServerProtocols and /mediaRenderers/mediaRendererProtocols.
- Detect the media renderer's playing capabilities for different kinds of media files.
- Method changes:
- org.myurc.uch.IUIPMListener.getResources, org.myurc.uch.ITAListener.getResources and org.myurc.uch.ITDMListener.getResources modified as per new specification.
- Return type of 'getValue', 'setValue', 'addDimension' and 'removeDimension' method's of edu.wisc.trace.uch.util.Session class modified to provide result of respective action. Also Removed methods provides the functionality of get/set value and add/remove dimension.
- Call to 'org.myurc.uch.ITAListener.getResources' method in edu.wisc.trace.uch.ta.upnpav.UpnpAVTAFacade modified in order make it compatible with UCHe Release 1.1.
- Call to 'getValue', 'setValue', 'addDimension' and 'removeDimension' method in all TA changed in order make it compatible with UCHe Release 1.1.
- Method added:
- 'isElementExists' and 'getChildElementPaths' are added in Session class.
- Functionality changes:
- Target-side:
- 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 1.1): Basic support for targets connected to the GC-100 master controller
- Generic target: Target simulation based on socket description and scripts
- Client-side:
- PlayIt (release 4.1) - Flash controller for PDAs and smart phones
- DragIt (release 4.1) - DHTML controller for Internet Explorer
- Webclient Javascript code library (release 1.1) for building DHTML-based controllers
NOTE: These modules are included as binaries in the UCHj release for your convenience. Most of them are separate projects, and might be updated in the future separately from any UCH release. The reader may want to check on the availability of newer versions of these packages occasionally.
Resource Server Binding
This version 1.0 is pre-configured to work in an offline-environment without the use of a global resource server (see UCHj Configuration). However, it is generally able to retrieve resources from a global resource server rather than from the local file system. The Trace Center is currently setting up a global resource server to be used from UCHj installations throughout the world. If you are interested in participating in the beta testing program for the resource server, please send a message to Gottfried Zimmermann.
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 UCHj. Note that the playing device needs to be a media renderer that can be remotely controlled (in a 3-box model scenario).
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. Working draft 2009-04-30
- URC Consortium: URC-HTTP Protocol 2.0. Working draft 2008-11-24
- URC Consortium: Resource Property Vocabulary 1.0. Working draft 2009-04-29
- 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 UCHj.
ISO/IEC 24752-1:2008 URC Framework
| 6.1 Discovery management | UCH is not discoverable. It can be "sensed" by a controller by sending a message to http://[uch-ip-address]/UCH/GetCompatibleUIs. See UCH specification. | |
| 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 | UCHj 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.
"includeSets" attribute is not supported. By default all subsets of the requested set are included in the response. |
| 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 Gottfried Zimmermann.
Last update: Gottfried Zimmermann, Parikshit Thakur & Team, 2009-12-02