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

QuotaExceededError - BUFFER_FULL_ERROR in IE11 and Edge #708

Closed
wants to merge 1 commit into from

Conversation

romsil
Copy link
Contributor

@romsil romsil commented Sep 29, 2016

In IE11 and Edge, it is not enough to just set this.config.maxMaxBufferLength to half of its value when we encounter a QuotaExceededError. We need to explicitly flush the buffer, or else QuotaExceededError keeps coming and buffering/playback will eventually stall.

This QuotaExceededError can be easily triggered by seeking back to 5-10s after a playback of 2-3 minutes in IE11/Edge.

@mangui
Copy link
Member

mangui commented Oct 4, 2016

Hi @romsiltp I spent some time trying to reproduce your issue with Edge/Win 10 but was not able to.
could you share a stream ?

@romsil
Copy link
Contributor Author

romsil commented Oct 4, 2016

Hello @mangui !
Sure thing! I reproduced the problem on your latest demo page both on Edge and IE11 so I will just give you the Repro Steps:

  1. Open the following link on IE11 or Edge (hls.js v0.6.3 demo with the stream):
    http://dailymotion.github.io/hls.js/demo/?src=http%3A%2F%2Fedge.tpr-3ehznk.top.comcast.net%2Fdemo%2Fcontent%2FPDK_(VMS)%2F118%2F675%2FGodzilla_Final_Wars___Full_Movie___HD_1080p_(720p).m3u8&enableStreaming=true&autoRecoverError=true&enableWorker=true&levelCapping=-1&defaultAudioCodec=undefined
  2. Let the video play up to 3 mins.
  3. Seek to 0s-5s.
  4. Let it play up to 3 mins again.
  5. Again, seek to 0s-5s.
  6. Playback will stall and QuotaExceededError will be repeatedly thrown in the logs. Watch out for “reduce max buffer length” in the logs as the value becomes negative. Playback never recovers from this point.
  7. If playback doesn’t stall, repeat Steps 4 & 5.

I have attached the console logs in case you want them. Thanks.

QuotaExceededError - Edge -HLSv0.6.3.txt
QuotaExceededError - IE11-HLSv0.6.3.txt

@mangui
Copy link
Member

mangui commented Oct 4, 2016

Perfect. Will check tomorrow

@mangui
Copy link
Member

mangui commented Oct 5, 2016

ok I was able to reproduce it.
IMHO a better way to fix it would be to flush the whole buffer in QuotaExceededError only if current position is not buffered. let me check how to handle that.

mangui added a commit that referenced this pull request Oct 5, 2016
…tTime not buffered

should help recover QuotaExceededError on IE/Edge
related to #708
mangui added a commit that referenced this pull request Oct 5, 2016
related to #708
@mangui
Copy link
Member

mangui commented Oct 5, 2016

Hi @romsiltp plz recheck on demo page / master branch. IE/issue should now be addressed.

@mangui mangui removed the Need info label Oct 5, 2016
@romsil
Copy link
Contributor Author

romsil commented Oct 5, 2016

I just checked it on the demo page / master branch both on IE and Edge. I could not reproduce the issue anymore. Thanks @mangui !

@mangui
Copy link
Member

mangui commented Oct 5, 2016

Great, closing

@mangui mangui closed this Oct 5, 2016
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 this pull request may close these issues.

None yet

2 participants