mangui / mangui/flashls

video playback stutters in a specific scenario with alternative audio playlist

Open
#592 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
ActionScript
Stars
744
Forks
259
PR merge metrics
No merged PRs in 30d

Description

Hi,

**Scenario:**
When you are playing an [alternative audio playlist](http://sample.vodobox.com/planete_interdite/planete_interdite_alternate.m3u8) in flash, and the available bandwidth is lower than the lowest bitrate, audio chunks will get downloaded faster than video chunks and pushed to **[(_hls.stream as HLSNetStream).appendTags(tags)](https://github.com/mangui/flashls/blob/6c6fd5be07fe47f44eea8e6e5888d841a4719017/src/org/mangui/hls/stream/StreamBuffer.as#L700)**. This leads to meet the minbuffer length ([click here to see the code snippet](https://github.com/mangui/flashls/blob/6c6fd5be07fe47f44eea8e6e5888d841a4719017/src/org/mangui/hls/stream/HLSNetStream.as#L408)) condition and force the video to play mode even though enough video frames are not available.

**Steps to reproduce:**

- Open this link in chrome browser
http://www.flashls.org/latest/examples/chromeless/?src=http%3A%2F%2Fsample.vodobox.com%2Fplanete_interdite%2Fplanete_interdite_alternate.m3u8

- Manually throttle the network to 500kbps in [chrome network options](https://developers.google.com/web/tools/chrome-devtools/network-performance/network-conditions).

- seek to non-buffered timeline position and observe the above described issue.

Any direction here will be very helpful.
@mangui @jlacivita @kfeinUI @neilrackett

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with StreamBuffer.as at appendTags(tags) and HLSNetStream.as around the minbuffer-length check. Reproduce using the linked alternative audio playlist in the chromeless example, throttle Chrome to 500kbps, and seek to an unbuffered position. Done means playback no longer enters play mode before enough video frames are available and the reported stutter is resolved.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.