http-streaming icon indicating copy to clipboard operation
http-streaming copied to clipboard

Chunks are not getting retried when coming from offline to online with a fixed quality

Open kvpasupuleti opened this issue 4 years ago • 7 comments

Description

When we select a quality other than auto, going offline and coming back online, the chunks are not getting retried. But, they are getting retried if I change the quality level. While in auto mode, the retries are happening as expected.

Sources

Please check out my codesandbox link

Steps to reproduce

  1. Select a specific quality level
  2. Go offline using Chrome Dev tools
  3. Let the video finish its loaded part or seek the video to a duration that is not loaded yet
  4. Go online
  5. Observe the network tab to find no chunks are getting downloaded

Results

Expected

When the player comes from offline to online, the network change should be detected and the failed chunks should be retried.

Actual

The chunks are not getting retried and the video is continuously in a loading state

videojs-http-streaming version

We are not explicitly using this package as we are getting this with the latest video-js by default

videojs version

7.13.3

Browsers

Chrome 92

Platforms

Linux

Other Plugins

  • videojs-contrib-quality-levels: "2.0.9",
  • videojs-http-source-selector: "1.1.6"

kvpasupuleti avatar Jul 12 '21 07:07 kvpasupuleti

Can you try enabling experimentalBufferBasedABR and seeing whether it makes things work?

gkatsev avatar Jul 12 '21 16:07 gkatsev

@gkatsev It's happening even when I enable experimentalBufferBasedABR. I have added it in the code sandbox example too. Please check that out.

kvpasupuleti avatar Jul 13 '21 03:07 kvpasupuleti

@gkatsev I tried to set the recently merged maxRetriesPlaylist to a number and in this case, the chunks are not getting retried even in auto mode. They are getting called when I tried to seek the video. But surprisingly, the downloaded chunks are not getting contributed to the loaded segments in the video. Hence, the video isn't getting played after the loaded segments get completed until I change the rendition manually.

(or)

If there is a way to trigger them manually, we are happy to adapt to it for now.

kvpasupuleti avatar Jul 13 '21 16:07 kvpasupuleti

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 08 '22 23:01 stale[bot]

I can also reproduce the issue too with a fixed quality, even with the experimentalBufferBasedABR to true. It works in auto mode, though.

unixfox avatar Feb 05 '22 15:02 unixfox

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Apr 17 '22 06:04 stale[bot]

Bump still relevant

unixfox avatar Apr 17 '22 06:04 unixfox