Hercules Fog Recording - Tune Time updates

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 (with some build tweaks)
    * Linux
    * Mac

     

The client has been testing in their environment and has raised concerns about performance.  They are very sensitive to any increases in what they call "tune time", which is the time from when the player first requests the manifest to when playback actually starts.  They are seeing increases in tune time when Fog is part of the flow.

This challenge will attempt to finalise some recent changes and implement some suggestions from the client.

Branch

We will target the code in branch Optimisation2 for this challenge

Issues

The issues to implement in this challenge have been logged in Gitlab:

https://gitlab.com/hercules-fog/Fog-CLI/issues/162
https://gitlab.com/hercules-fog/Fog-CLI/issues/163

Validation

You must provide clear steps for validation.  You are encouraged to add extra debug logging (we may remove it later) or other functionality so that we can easily see how the fragment requests are handled and whether things are pass-through or from the Fog recording.

Bonus

If you have any additional suggestions on things that can be done to speed up playback tune times, please mention those in your README or implement them in your submission for additional review points.  If something is intensive to implement but may be worthwhile, feel free to clearly document your idea in your README, with justification on the performance benefits, and we may ask you to do it directly for additional payment or may launch another contest based on the idea.
 

Submission

Your submission to OR should be a Git patch file that can be applied to see the fixes. Here is documentation on how to generate a Git patch file:

https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/

We will target Git commit hash 
d93d317dbf8b548422996c9bc7dca85e9ca0fcbf on the "Optimisation2" branch

Submission README:

Please submit a Git patch file and a separate README (don't update the README in Git) that describes your changes and how to validate the optimisations above.

Video:

No video is required for this challenge.


Final Submission Guidelines

Please see above

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30056925