Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configurable stall detector #3008

Closed
bcupac opened this issue Nov 25, 2020 · 4 comments · Fixed by #5525
Closed

Configurable stall detector #3008

bcupac opened this issue Nov 25, 2020 · 4 comments · Fixed by #5525
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@bcupac
Copy link
Contributor

bcupac commented Nov 25, 2020

Have you read the FAQ and checked for duplicate open issues?
Yes

What version of Shaka Player are you using?
3.0.5

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from master?
Yes

Are you using the demo app or your own custom app?
Own app

If custom app, can you reproduce the issue using our demo app?
N/A

What browser and OS are you using?
WebOS4

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
WebOS4 05.20.15 75UK6500PLA WebOS4.2.0-8404

What are the manifest and license server URIs?

sent to email

What did you do?

played the dash stream

What did you expect to happen?
smooth playback

What actually happened?

We serve Server Side Ad Injection(SSAI) dash manifests that consist of many periods. Some periods are encrypted and contain actual content, other ones are Ads and they are unencrypted.
The problem that We encountered on many LG WebOS TVs is that, when playback switches from the first Ad to the second Ad (from one period to the other period) the video stalls and does not recover.
When testing in the browser, video plays smoothly.

Chrome:
In chrome it will detect a gap and skip it, or a stall and unstall it:

chrome 2

WebOS:

It will detect the stall, try to play/pause but video will remain stalled.

webos

@bcupac
Copy link
Contributor Author

bcupac commented Dec 2, 2020

Changing the threshold in time_ranges_utils.js getGapIndex function, to something like 0.8s, and
lowering the timer in gap_jumping_controller.js to 0.125s

 this.gapJumpTimer_ = new shaka.util.Timer(() => {
      this.onPollGapJump_();
    }).tickEvery(/* seconds= */ 0.125);

will prevent LG tvs from stalling and they will jump gaps now by seeking through them.

@MilosRasic
Copy link
Contributor

Can we extract these two values into config and keep the current hardcoded values as defaults?

@joeyparrish joeyparrish added the platform: TV/STB Issues affecting smart TV or set-top box platforms label Feb 18, 2021
@joeyparrish joeyparrish added type: enhancement New feature or request priority: P2 Smaller impact or easy workaround and removed needs triage labels Aug 10, 2021
@joeyparrish joeyparrish changed the title WebOS 4 multi-period manifest, video stalls between periods. Configurable stall detector Aug 10, 2021
@joeyparrish
Copy link
Member

Renamed this and converted into an enhancement request for a configurable stall detector

@avelad
Copy link
Member

avelad commented Aug 23, 2023

Changing the threshold in time_ranges_utils.js getGapIndex function, to something like 0.8s, and lowering the timer in gap_jumping_controller.js to 0.125s

 this.gapJumpTimer_ = new shaka.util.Timer(() => {
      this.onPollGapJump_();
    }).tickEvery(/* seconds= */ 0.125);

will prevent LG tvs from stalling and they will jump gaps now by seeking through them.

About the threshold is already configurable with streaming.gapDetectionThreshold. And I created #5525

theodab pushed a commit that referenced this issue Aug 24, 2023
@avelad avelad modified the milestones: Backlog, v4.4 Aug 28, 2023
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Oct 23, 2023
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Oct 23, 2023
Robloche pushed a commit to Robloche/shaka-player that referenced this issue Nov 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: TV/STB Issues affecting smart TV or set-top box platforms priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants