Manifest request frequency on live streams
Nobody has claimed this yet.
- Dominant language
- ActionScript
- Stars
- 744
- Forks
- 259
- PR merge metrics
- No merged PRs in 30d
Description
In live streams, subsequent manifest requests may return the same result. I.e., there is no new segment.
Sometimes this is due variable fragment duration (E.g., even if the average is 10 seconds, we see some 8 second fragments and some 12 second fragments). Other times, it is due to minor slowness ingesting the live stream.
In both these cases, a minor delay on ingest results an extra fragment duration worth buffer depletion. If there are no new segments in the manifest, we may be able to avoid a rebuffer by requesting the manifest again (shortly after the initial request).
As a quick fix we changed the following line:
https://github.com/mangui/flashls/blob/dev/src/org/mangui/hls/loader/LevelLoader.as#L247
to
var _reloadInterval : Number = _levels[level].averageduration **/2** ;
While probably not the most efficient solution, this fix reduced the percentage of rebuffered sessions by about 10% (taken from ~10,000 2 hour playbacks over a month).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at src/org/mangui/hls/loader/LevelLoader.as around line 247 and inspect how _reloadInterval is calculated and how repeated manifest results are handled. Reproduce the live-stream case where a manifest has no new segment, then determine whether a follow-up request can avoid buffer depletion without causing unnecessary requests; done means the rebuffer behavior improves without disrupting manifest loading.
Written by the indexing model from the issue text.
Assessment
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100