
You are here: MyURC.org > Tools & Prototypes > UCHe > Release Notes
UCHe - Release Notes
Release 1.1 - May 2009
Page Contents:
New Features
This release includes binaries of the following modules:
- UCHe (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.
- Internal to UCH:
- Classes added:
- edu::wisc::trace::uch::util::MemoryHandler: Specially introduced to fix the memory leakage in UCHe.
- edu::wisc::trace::uch::retrievalmanager::ResouceDetail: Added as a utility class for edu::wisc::trace::uch::retrievalmanager::RetrievalManager Class.
- edu::wisc::trace::uch::util::Constants: Contains static constant values used by UCH, TA, UIPM, TDMs.
- 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::retrievalmanager::RetrievalManager class is responsible for processing it i.e extracting of archives will be done by edu::wisc::trace::uch::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.
- More utility methods are added in edu::wisc::trace::uch::util::CommonUtilities class.
- Classes 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', 'addDim' and 'removeDim' method's of edu::wisc::trace::uch::util::Session class modified to provide result of respective action.
- Call to 'org::myurc::uch::ITAListener.getResources' method in edu::wisc::trace::uch::ta::UpnpAVTA modified in order make it compatible with UCHe Release 1.1.
- Call to 'getValue', 'setValue', 'addDim' and 'removeDim' method in UPnPAVTA changed in order make it compatible with UCHe Release 1.1.
- Performance changes:
- Memory leakage bug fixed.
- Configuration changes:
- In uch.config file, 'resserver.name' node eliminated. Only 'resserver.appPath' is sufficient to mention resource server URL.
- Functionality changes:
- Target-side:
- GC-100 Targets (release 1.1): Basic support for targets connected to the GC-100 master controller
- UPnP AV Target Adapter (1.1): UPnP AV 1.0 media servers and media renderers
- Trace Satellite Box Applet (1.0): UPnP enabled demo target
- Client-side :
- PlayIt (4.1) - Flash controller for PDAs and smart phones
- DragIt (4.1) - DHTML controller for Internet browsers
- iPhone Simple/Standard (1.0) - DHTML controller tailor made for iPhone, but also works on all other Internet browsers.
- Webclient Javascript code library (release 1.1) for building DHTML-based controllers
NOTE: These modules are included as binaries in the UCHe release for your convenience only. Most of them are separate projects, and might be updated in the future separately from any UCHe release. The reader may want to check on the availability of newer versions of these packages occasionally.
Resource Server Binding
This version is pre-configured to work in an offline-environment without the use of a global resource server (see UCHe 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 UCHe installations throughout the world. The resource server beta testing is scheduled to start later in Dec. 2008.
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 UCHe. 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
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
| Section in ISO/IEC 24752-1 | Description of feature as implemented | Description of feature not implemented |
|---|---|---|
| 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 | UCHe is RUI Server level-0 | |
| API of UIPM (IUIPM) | Mandatory Functions:
Optional Functions:
|
Mandatory Functions:
Optional Functions: |
| API of UIPM Listener (IUIPMListener) | Mandatory 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:
Optional 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. |
UPnP AV Implementation
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:
- Please update the firmwares on all your devices if you come across problems.
- If Network actions from TA or TDM take too long to timeout then FastCGI kills UCHe.
- If log level in uch.config is set to 3, then UCHe becomes very slow on Kurobox (i.e. lower end embedded systems).
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
- Total Track Duration of all items is always zero, hence continuous Playing not working with UCH.
- Browsing does not work properly
- Searching is not implemented.
- 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-05-16