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

Video gets stalled after scrubbing back serveral times on firefox #5344

Closed
5 tasks done
tomasz-rekawek opened this issue Mar 27, 2023 · 4 comments
Closed
5 tasks done
Labels
Bug Confirmed Bug report confirmed or reproduced.
Milestone

Comments

@tomasz-rekawek
Copy link

What version of Hls.js are you using?

1.3.1

What browser (including version) are you using?

firefox 111.0.1

What OS (including version) are you using?

Windows 10

Test stream

No response

Configuration

{				startPosition,
				backBufferLength: 60,
				nudgeMaxRetry: 6,
				maxBufferLength: 60,
				maxMaxBufferLength: 90,
				maxBufferSize: 300 * 1000 * 1000,}

Additional player setup steps

No response

Checklist

Steps to reproduce

  1. Open long video on firefox, at least 10 - 15 minutes
  2. go to the end of the video
  3. start scrubbing back quickly until you get bufferFullError
  4. video plays for few seconds and get stalled

Expected behaviour

Video shouldn't get stalled

What actually happened?

Video got stalled and stopped playing

Console output

[log] > [stream-controller]: PARSING->PARSED instrument.ts:124
[log] > [stream-controller]: Buffered main sn: 544 of level 3 (frag:[3267.264-3273.270] > buffer:[3225.222-3273.270][3285.282-3303.300][3387.384-3399.396][3441.438-3459.456][3507.504-3519.516][3543.540-3555.552][3609.606-3621.618][3681.678-3699.696][3759.756-3765.762][3855.852-3867.864][3927.924-3957.954][3993.990-4006.002][4072.068-4102.098][4120.116-4156.152]) instrument.ts:124
[log] > [stream-controller]: PARSED->IDLE instrument.ts:124
[log] > [stream-controller]: Loading fragment 545 cc: 0 of [0-893] level: 3, target: 3273.27 instrument.ts:124
[log] > [stream-controller]: IDLE->FRAG_LOADING instrument.ts:124
[log] > [audio-stream-controller]: Loaded fragment 545 of level 0 instrument.ts:124
[log] > [audio-stream-controller]: FRAG_LOADING->PARSING instrument.ts:124
[warn] > [buffer-operation-queue]: Unhandled exception executing the current operation instrument.ts:124
[error] > [buffer-controller]: Error encountered while trying to append to the audio SourceBuffer DOMException: The quota has been exceeded. instrument.ts:124
[warn] > [audio-stream-controller]: Reduce max buffer length to 45s instrument.ts:124
[log] > [audio-stream-controller]: Reset loading state instrument.ts:124
[log] > [audio-stream-controller]: PARSING->IDLE instrument.ts:124
Error 
Object { type: "mediaError", parent: "audio", details: "bufferFullError", err: DOMException, fatal: false }
 hlsError browser.js:201
buffer full instrument.ts:124
[log] > [transmuxer.ts]: Flushed fragment 545 of level 0 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 4 instrument.ts:124
[log] > [stream-controller]: Loaded fragment 545 of level 3 instrument.ts:124
[log] > [stream-controller]: FRAG_LOADING->PARSING instrument.ts:124
[log] > [transmuxer.ts]: Flushed fragment 545 of level 3 instrument.ts:124
[log] > [stream-controller]: PARSING->PARSED instrument.ts:124
[log] > [stream-controller]: Buffered main sn: 545 of level 3 (frag:[3273.270-3279.276] > buffer:[3225.222-3279.276][3285.282-3303.300][3387.384-3399.396][3441.438-3459.456][3507.504-3519.516][3543.540-3555.552][3609.606-3621.618][3681.678-3699.696][3759.756-3765.762][3855.852-3867.864][3927.924-3957.954][3993.990-4006.002][4072.068-4102.098][4120.116-4156.152]) instrument.ts:124
[log] > [stream-controller]: PARSED->IDLE instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 31 instrument.ts:124
[log] > [stream-controller]: Loading fragment 546 cc: 0 of [0-893] level: 3, target: 3279.276 instrument.ts:124
[log] > [stream-controller]: IDLE->FRAG_LOADING instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 5 instrument.ts:124
[log] > [stream-controller]: Loaded fragment 546 of level 3 instrument.ts:124
[log] > [stream-controller]: FRAG_LOADING->PARSING instrument.ts:124
[log] > [transmuxer.ts]: Flushed fragment 546 of level 3 instrument.ts:124
[log] > [stream-controller]: PARSING->PARSED instrument.ts:124
[log] > [stream-controller]: Buffered main sn: 546 of level 3 (frag:[3279.276-3285.282] > buffer:[3234.064-3303.300][3387.384-3399.396][3441.438-3459.456][3507.504-3519.516][3543.540-3555.552][3609.606-3621.618][3681.678-3699.696][3759.756-3765.762][3855.852-3867.864][3927.924-3957.954][3993.990-4006.002][4072.068-4102.098][4120.116-4156.152]) instrument.ts:124
[log] > [stream-controller]: PARSED->IDLE instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 74 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 114 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 2 instrument.ts:124
[warn] > [stream-controller]: Reduce max buffer length to 22.5s instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 66 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 6 instrument.ts:124
[warn] > Playback stalling at @3273.255781 due to low buffer ({"len":0.024198000000069442,"start":3234.064125,"end":3273.279979,"nextStart":3285.290645}) instrument.ts:124
[warn] > [playback-rate-controller]: Stall detected, adjusting target latency instrument.ts:124
Error 
Object { type: "mediaError", details: "bufferStalledError", fatal: false, buffer: 0.024198000000069442 }
 hlsError browser.js:201
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 45 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 85 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545 instrument.ts:124
[log] > [audio-stream-controller]: SN 544 just loaded, load next one: 545

Chrome media internals output

No response

@tomasz-rekawek tomasz-rekawek added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Mar 27, 2023
@robwalch
Copy link
Collaborator

Could this at all be related to #5093?

Have you tried changing these settings to force strict fragment selection?

  "maxBufferHole": 0,
  "maxFragLookUpTolerance": 0

Let me know if that works, or if you see better results in Firefox with v1.4.0-beta.1 or later.

@robwalch
Copy link
Collaborator

robwalch commented Mar 28, 2023

May be related to #5349. If so there are a couple of fixes going into the next release that resolve the issue. Putting this issue under the same milestone, but will need confirmation of a fix after the next release (v1.4.0-beta.2).

@robwalch robwalch added this to the 1.4.0 milestone Mar 28, 2023
@robwalch robwalch added Verify Fixed An unreleased bug fix has been merged and should be verified before closing. Confirmed Bug report confirmed or reproduced. and removed Need sample stream Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Mar 29, 2023
@robwalch
Copy link
Collaborator

Hi @tomasz-rekawek,

v1.4.0-beta.2 is out with fixes that may resolve this issue (#5349 highlighted issues with segments not being requested after scrubbing over them caused them to be requested, but aborted before being appended):

https://github.com/video-dev/hls.js/releases/tag/v1.4.0-beta.2

Let me know if this resolves your issue. If not I'll need a sample stream and more detailed steps to reproduce.

@tomasz-rekawek
Copy link
Author

Thank @robwalch much appriciated, seems like v1.4.0-beta.2 works much better, i haven't been able to reproduce this so far.

@robwalch robwalch removed the Verify Fixed An unreleased bug fix has been merged and should be verified before closing. label Apr 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Confirmed Bug report confirmed or reproduced.
Projects
None yet
Development

No branches or pull requests

2 participants