Hercules C++ Fog App - Merge with upstream master

Register
Submit a solution
The challenge is finished.

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
The client has kept a separate branch of our code that has diverged a bit in the last year or so.  We'd like to get back to a single, unified codebase to make debugging and maintenance easier.  This challenge will merge our codebase in Gitlab with their own code to have a unified codebase.

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!

Your patch file should be very, very "clean", meaning that it shouldn't have whitespace changes, or changes that are inconsequential.  Only important changes should be covered in the patch file.

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
 


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30063512