Challenge Overview
The Hercules Player is an application that allows customers to download videos to their computer or device for offline playback, along with streaming playback of videos for online playback.
The Hercules Fog project has stripped out some key portions of the Hercules Player application into a new test application for downloading videos from a server, modifying the manifest, and then playing back on various mobile and TV devices.
The current implementation is C++ and will run on:
- Windows
Linux
Mac
NOTE: This is a very technical challenge and will require a fair bit of work in setup and testing. You will need to use Linux to test the player. Ubuntu 16.04 is your best bet.
Requirements:
The current code we have been building is here:
https://gitlab.com/hercules-fog/Fog-CLI
The current code the client has been working on is here:
https://gitlab.com/hercules-fog/fog-rdk/tree/upstream_master
We want to merge all changes from Fog-CLI into upstream_master. The end result will be that upstream_master has all the Fog-CLI changes applied to it, along with any other changes in upstream_master not already found in Fog-CLI.
Functionality and bugs
Please ensure that all functionality works as it did previously. This includes:
* TSB recording for HLS and Dash
* Scheduled / DVR recording for HLS and Dash
* VFS functionality
* Multi-location redirect functionality
The testing and verification should be the majority of the work here. This is a highly sensitive application and we cannot introduce new bugs here.
Sample player
The AAMP player will be provided in the forum. Build instructions can be found here:
https://gitlab.com/hercules-fog/Fog-CLI/wikis/aamp-build-testing
Submission
Your code must be submitted as a Git patch file against the "upstream_master" branch of the fog-rdk repo
https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/
Base your patch file against commit hash 374512b0ec225cfbdc0d81ff1b510ebe45d74158 .
Please make sure to test your patch before submission!
Documentation
Your documentation should include details on the validation steps taken to:
* Ensure the merge is correct
* Ensure that no functionality is broken
* Any bugs encountered that need to be addressed