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

experimentalBufferBasedABR HLS: type errors over slow connections #1025

Closed
phloxic opened this issue Dec 6, 2020 · 3 comments · Fixed by #1026
Closed

experimentalBufferBasedABR HLS: type errors over slow connections #1025

phloxic opened this issue Dec 6, 2020 · 3 comments · Fixed by #1026

Comments

@phloxic
Copy link
Contributor

phloxic commented Dec 6, 2020

Description

Briefly describe the issue.
Include a reduced test case, we have a starter template on JSBin you can use.
minimal demo
(the official demos do not load 7.11.0)
When connection is slow at each load of a variant HLS playlist an error is thrown; see below.

Sources

I have not encountered a source where this doesn't happen (might work w/o a master, but then there is no ABR).

Steps to reproduce

Explain in detail the exact steps necessary to reproduce the issue.

  1. enable experimentalBufferBasedABR
  2. throttle connection to something like slow 2G or similar so that a down switch on load is needed
  3. start playback

Results

Expected

There should be no errors, instead the down switch warning should appear (it does not in this case)

Error output

Uncaught TypeError: master is undefined
    simpleSelector https://example.com/test/videojs/video-7.11.0.js:50117
    movingAverageBandwidthSelector https://example.com/test/videojs/video-7.11.0.js:50296
    checkABR_ https://example.com/test/videojs/video-7.11.0.js:57170
    abrTimer_ https://example.com/test/videojs/video-7.11.0.js:57188
    setInterval handler*startABRTimer_ https://example.com/test/videojs/video-7.11.0.js:57187
    MasterPlaylistController https://example.com/test/videojs/video-7.11.0.js:57131
    src https://example.com/test/videojs/video-7.11.0.js:60160
    handleSource https://example.com/test/videojs/video-7.11.0.js:60617
    setSource https://example.com/test/videojs/video-7.11.0.js:12026
    Html5 https://example.com/test/videojs/video-7.11.0.js:21418
    loadTech_ https://example.com/test/videojs/video-7.11.0.js:24505
    src_ https://example.com/test/videojs/video-7.11.0.js:26836
    src https://example.com/test/videojs/video-7.11.0.js:26783
    setSourceHelper https://example.com/test/videojs/video-7.11.0.js:12391
    setSourceHelper https://example.com/test/videojs/video-7.11.0.js:12393
    setSource https://example.com/test/videojs/video-7.11.0.js:12132
    timeoutId https://example.com/test/videojs/video-7.11.0.js:4684
    setTimeout handler*setTimeout https://example.com/test/videojs/video-7.11.0.js:4679
    setSource https://example.com/test/videojs/video-7.11.0.js:12131
    src https://example.com/test/videojs/video-7.11.0.js:26775
    MediaLoader https://example.com/test/videojs/video-7.11.0.js:12615
    addChild https://example.com/test/videojs/video-7.11.0.js:3770
    handleAdd https://example.com/test/videojs/video-7.11.0.js:3902
    initChildren https://example.com/test/videojs/video-7.11.0.js:3951
    Player https://example.com/test/videojs/video-7.11.0.js:23845
    videojs$1 https://example.com/test/videojs/video-7.11.0.js:29347
    <anonymous> https://example.com/test/videojs/exabr.html:31

Additional Information

Please include any additional information necessary here. Including the following:

videojs-http-streaming version

what version of videojs-http-streaming does this occur with?
videojs-http-streaming packed with vjs 7.11.0

videojs version

what version of videojs does this occur with?
video.js 7.11.0

@gkatsev
Copy link
Member

gkatsev commented Dec 7, 2020

Thanks! I had just noticed this issue the other day too. Thankfully, it seems like it doesn't cause any issues beyond just a warning. I'll make a PR for it.

Also, have you been testing the new ABR stuff? How is it looking on your end?

gkatsev added a commit that referenced this issue Dec 7, 2020
#1026)

Start the timer later, so we don't try to call simpleSelector without a playlist. However, we should add a null-check there just in case.

Fixes #1025
@phloxic
Copy link
Contributor Author

phloxic commented Dec 8, 2020 via email

@gkatsev
Copy link
Member

gkatsev commented Dec 8, 2020

We'll get it into a Video.js release soon. Please let us know how it works for you as you get more time to test with it!

Also not for the worse though ;-)

That's what I like to hear 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants