Register
Submit a solution
The challenge is finished.

Challenge Overview

We are working on some updates to an Android TV application to change to a completely different codebase and HTML vs. Native rendering structure.  We have implemented login and provisioning through the client player library.  This challenge will update the proof of concept with some additional playback features.

Playback

Playback is working by capturing XREVideo XRE events and parsing them out while passing them to the player library.  This challenge will add support for these features:

* DRM reporting back to the server
* Play / pause
* Progress reporting back to the server
* Fast forward (setSpeed in the player)
* Rewind (setSpeed in the player)
* Closed captioning enabling / disabling (usually available in the info popup on the device)

We want to ensure that the functionality for FF, Rew, CC, play / pause works as expected.  In addition, we need to ensure the progress overlay is hidden once playback starts.

Note that FF and REW are best tested with On Demand assets.  On Demand is geoblocked and won't work for network connections outside the USA.  A VPN will be provided in the forum that you can use to get around this geoblock.

Login

In addition to the functionality above, we need to fix a login bug - if the app is started after the user has logged in, we tend to get a DRM error with -1 major and minor codes.  The user has to re-login again to be able to use the app.  This happens every time the app is launched.  If the user is already authenticated and has a valid DRM token, the web site should be loaded and displayed.

Testing

Only very specific devices, like Sony TVs have a full remote control, which is needed to get at some of the functionality required.  Your best bet is to use a mouse attached to your device, either via bluetooth or USB, for testing.  You can then update the config of your test deployed XRE receiver with the instructions below to show a virtual remote control that can be used.

Mouse Testing
1. In the config for your heroku app, set AUTO_SCALE=false, ELIMINATE_MOUSE_SUPPORT=false, STB_KEYBOARD_MAP=true, and HIDE_REMOTE_CONTROLLER=false.  This will display the app in a window on the left with a virtual remote control (with menu button, FF, REW, Play/pause, etc...) on the right.  


 

Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30055122