-
Improvement
-
Resolution: Done
-
Medium
-
None
-
None
This patch introduces a new way of requesting manifests such that all the segments they contain fill the current transport window.
The strategy is as follows:
When a manifest (M) is received, we compute L = last_segment_requested + current_window_size. L is therefore equal or greater than the last segment of the current window.
Then we compare L to the suffix of the next manifest that will be (potentially) requested.
- If L > next_manifest, it means that the last segment of the window is greater than the first segment contained in the next manifest. Therefore we request manifests until L <= next_manifest, ie until the manifests would cover the entire window.
- If L <= next_manifest, then all the manifests that were requested already cover the window, so there's no need to request more. However if the next manifest immediately follows the current one (M), we still need to request it so that the content suffix queue is correctly updated.