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

Live stream occasionally jumps back to earlier progress with slow internet speed #5282

Closed
5 tasks done
AkiDroid opened this issue Mar 9, 2023 · 6 comments · Fixed by #6692
Closed
5 tasks done

Live stream occasionally jumps back to earlier progress with slow internet speed #5282

AkiDroid opened this issue Mar 9, 2023 · 6 comments · Fixed by #6692

Comments

@AkiDroid
Copy link

AkiDroid commented Mar 9, 2023

What version of Hls.js are you using?

1.1.5

What browser (including version) are you using?

Chrome Version 104.0.5112.101 (Official Build) (x86_64)

What OS (including version) are you using?

macOS 13.2.1 (22D68)

Test stream

No response

Configuration

{
    lowLatencyMode: false,
    xhrSetup: (xhr: XMLHttpRequest, url: string) => {
      if (NODE_ENV === 'development') {
        xhr.open('GET', url.replace(PROXY_WEBCAST_SERVER, ''), true)
      }
      if (isFragmentUrl(url) || isPlaylistUrl(url)) {
        xhr.timeout = 10000
      }
      xhr.addEventListener('timeout', () => {
        xhr.abort()
      }, { once: true })
      xhr.addEventListener('loadend', () => {
        if (isFragmentUrl(url)) {
          metricsStore.concatStatusCodes({ fragments: [xhr.status] })
        }

        if (isPlaylistUrl(url)) {
          metricsStore.concatStatusCodes({ playlists: [xhr.status] })
        }
      }, { once: true })
    },
    fragLoadingRetryDelay: 250,
    fragLoadingTimeOut: 10000,
    fragLoadingMaxRetry: 3,
    levelLoadingRetryDelay: 1500,
    levelLoadingMaxRetry: 3,
    manifestLoadingMaxRetry: 3,
    maxMaxBufferLength: 60,
    autoStartLoad: false,
    debug: true,
    liveSyncDurationCount: 3,
    liveMaxLatencyDurationCount: 6,
}

Additional player setup steps

No response

Checklist

Steps to reproduce

When playing a live m3u8 stream using hls.js and limiting the network speed to "fast 3G" or "slow 3G" in Chrome, it is possible for the stream progress to jump back after waiting for some time. This appears to be a bug.

Expected behaviour

Expect the video to just stall when there is no enough buffer.

What actually happened?

The live streaming progress has jumped back to a much earlier time.

After reviewing the code, it appears that the issue is caused by an error in the synchronizeToLiveEdge method of the BaseStreamController class. The liveSyncPosition is being calculated as a much earlier value and is being assigned to media.currentTime.

In the following log, video.currentTime is set to 6.048 which is much smaller than correct live edge, and after several seconds set back to correct live edge.

Console output

16:47:15.190 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:15.191 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:15.198 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 612 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,174.002]
16:47:15.198 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:15.198 hls.js:3471 [log] > [stream-controller]: Loading key for 613 of [613-616], level 0
16:47:15.198 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:15.198 hls.js:3533 [log] > [stream-controller]: Loading fragment 613 cc: 0 of [613-616] level: 0, target: 174.133
16:47:15.198 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:15.491 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:17.995 hls.js:3298 [log] > [stream-controller]: Loaded fragment 613 of level 0
16:47:18.002 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 613 of level 0
16:47:18.003 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:18.003 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:18.004 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 613 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000]
16:47:18.005 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:18.005 hls.js:3533 [log] > [stream-controller]: Loading fragment 614 cc: 0 of [613-616] level: 0, target: 176
16:47:18.005 hls.js:4256 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:47:18.020 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 617--1
16:47:18.020 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 0 ms
16:47:18.020 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [614,617], cc [0, 0] duration:8.068999999999988
16:47:18.020 hls.js:3998 [warn] > [stream-controller]: Playback: 174.133 is located too far from the end of live sliding playlist: 184.069, reset currentTime to : 176.000
16:47:18.022 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 184.069
16:47:18.023 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:18.024 hls.js:3187 [log] > [stream-controller]: media seeking to 176.000, state: FRAG_LOADING
16:47:18.025 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 176.000, state: STOPPED
16:47:18.025 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 176.000, state: IDLE
16:47:18.451 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 619--1
16:47:18.451 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 2050 ms
16:47:18.451 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [616,619], cc [0, 0] duration:8.066999999999979
16:47:18.451 hls.js:3998 [warn] > [stream-controller]: Playback: 176.000 is located too far from the end of live sliding playlist: 188.10299999999998, reset currentTime to : 180.036
16:47:18.452 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 188.103
16:47:18.454 hls.js:3187 [log] > [stream-controller]: media seeking to 180.036, state: FRAG_LOADING
16:47:18.454 hls.js:3200 [log] > [stream-controller]: seeking outside of buffer while fragment load in progress, cancel fragment load
16:47:18.455 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->IDLE
16:47:18.456 hls.js:4093 [warn] > [stream-controller]: Fragment 614 of level 0 was aborted
_doFragLoad @ hls.js:3570
_loadFragForPlayback @ hls.js:3278
_handleTransmuxerFlush @ hls.js:3648
16:47:18.456 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 180.036, state: STOPPED
16:47:18.456 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 180.036, state: IDLE
16:47:18.456 hls.js:3471 [log] > [stream-controller]: Loading key for 616 of [616-619], level 0
16:47:18.457 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:18.457 hls.js:3533 [log] > [stream-controller]: Loading fragment 616 cc: 0 of [616-619] level: 0, target: 180.036
16:47:18.457 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:20.506 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:28.460 hls.js:4127 [warn] > [stream-controller]: Fragment 616 of main 0 failed to load, retrying in 250ms
_doFragLoad @ hls.js:3570
_loadFragForPlayback @ hls.js:3278
16:47:28.461 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->FRAG_LOADING_WAITING_RETRY
16:47:28.500 hls.js:9871 [log] > [stream-controller]: retryDate reached, switch back to IDLE state
16:47:28.500 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING_WAITING_RETRY->IDLE
16:47:28.600 hls.js:3533 [log] > [stream-controller]: Loading fragment 616 cc: 0 of [616-619] level: 0, target: 180.036
16:47:28.600 hls.js:4256 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:47:29.277 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 620--1
16:47:29.277 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 0 ms
16:47:29.277 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [617,620], cc [0, 0] duration:8.067000000000007
16:47:29.277 hls.js:3998 [warn] > [stream-controller]: Playback: 180.036 is located too far from the end of live sliding playlist: 190.127, reset currentTime to : 182.060
16:47:29.278 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 190.127
16:47:29.280 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:29.281 hls.js:3187 [log] > [stream-controller]: media seeking to 182.060, state: FRAG_LOADING
16:47:29.281 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 182.060, state: STOPPED
16:47:29.281 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 182.060, state: IDLE
16:47:33.067 hls.js:15516 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 616 p: -1 level: 0 id: 1
        discontinuity: false
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 180.036
        initSegmentChange: false
16:47:33.067 hls.js:3298 [log] > [stream-controller]: Loaded fragment 616 of level 0
16:47:33.070 hls.js:15607 [log] > [mp4-remuxer]: reset next timestamp
16:47:33.092 hls.js:15607 [log] > [mp4-remuxer]: reset next timestamp
16:47:33.094 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 616 of level 0
16:47:33.094 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:33.094 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:33.095 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 616 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,182.002]
16:47:33.095 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:33.095 hls.js:3471 [log] > [stream-controller]: Loading key for 617 of [617-620], level 0
16:47:33.095 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:33.096 hls.js:3533 [log] > [stream-controller]: Loading fragment 617 cc: 0 of [617-620] level: 0, target: 182.06
16:47:33.096 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:33.098 hls.js:3187 [log] > [stream-controller]: media seeking to 180.002, state: FRAG_LOADING
16:47:33.098 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 180.002, state: STOPPED
16:47:33.098 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 180.002, state: IDLE
16:47:33.130 hls.js:10190 [log] > [stream-controller]: Media seeked to 180.004
16:47:33.143 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 624--1
16:47:33.143 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 0 ms
16:47:33.143 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [621,624], cc [0, 0] duration:8.076
16:47:33.143 hls.js:4028 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 617->621 prev-sn: 616 fragments: 4
16:47:33.145 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:34.384 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 626--1
16:47:34.384 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 788 ms
16:47:34.384 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [623,626], cc [0, 0] duration:8.078000000000001
16:47:35.172 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:35.600 hls.js:7763 [warn] > Playback stalling at @181.964777 due to low buffer ({"len":0.03722200000001408,"start":180.002,"end":182.001999})
16:47:35.600 hls.js:8362 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
16:47:36.312 hls.js:3298 [log] > [stream-controller]: Loaded fragment 617 of level 0
16:47:36.320 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 617 of level 0
16:47:36.321 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:36.321 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:36.322 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 617 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,184.000]
16:47:36.322 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:36.323 hls.js:3471 [log] > [stream-controller]: Loading key for 626 of [623-626], level 0
16:47:36.323 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:36.324 hls.js:3533 [log] > [stream-controller]: Loading fragment 626 cc: 0 of [623-626] level: 0, target: 184
16:47:36.324 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:36.332 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 627--1
16:47:36.332 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 849 ms
16:47:36.332 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [624,627], cc [0, 0] duration:8.075000000000001
16:47:36.333 hls.js:3998 [warn] > [stream-controller]: Playback: 181.965 is located too far from the end of live sliding playlist: 14.123000000000001, reset currentTime to : 6.048
16:47:36.334 hls.js:7615 [warn] > playback not stuck anymore @6.048, after 1034ms
16:47:36.337 hls.js:3187 [log] > [stream-controller]: media seeking to 6.048, state: FRAG_LOADING
16:47:36.338 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 6.048, state: STOPPED
16:47:36.338 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 6.048, state: IDLE
16:47:36.379 hls.js:10190 [log] > [stream-controller]: Media seeked to 6.048
16:47:37.181 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:39.494 hls.js:15516 [log] > [transmuxer-interface, main]: Starting new transmux session for sn: 626 p: -1 level: 0 id: 1
        discontinuity: false
        trackSwitch: false
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 10.087
        initSegmentChange: false
16:47:39.495 hls.js:3298 [log] > [stream-controller]: Loaded fragment 626 of level 0
16:47:39.497 hls.js:15607 [log] > [mp4-remuxer]: reset next timestamp
16:47:39.498 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 628--1
16:47:39.498 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 0 ms
16:47:39.498 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [625,628], cc [0, 0] duration:8.072
16:47:39.499 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:39.500 hls.js:15607 [log] > [mp4-remuxer]: reset next timestamp
16:47:39.501 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 626 of level 0
16:47:39.501 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:39.501 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:39.502 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 626 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,184.000][200.002,202.002]
16:47:39.503 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:40.008 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 629--1
16:47:40.008 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 2199 ms
16:47:40.008 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [626,629], cc [0, 0] duration:8.058999999999969
16:47:40.008 hls.js:3998 [warn] > [stream-controller]: Playback: 9.633 is located too far from the end of live sliding playlist: 208.05899999999997, reset currentTime to : 200.000
16:47:40.010 hls.js:3471 [log] > [stream-controller]: Loading key for 627 of [626-629], level 0
16:47:40.010 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:40.010 hls.js:3533 [log] > [stream-controller]: Loading fragment 627 cc: 0 of [626-629] level: 0, target: 202.016
16:47:40.010 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:40.012 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 208.059
16:47:40.014 hls.js:3187 [log] > [stream-controller]: media seeking to 200.000, state: FRAG_LOADING
16:47:40.014 hls.js:3187 [log] > [audio-stream-controller]: media seeking to 200.000, state: STOPPED
16:47:40.014 hls.js:3187 [log] > [subtitle-stream-controller]: media seeking to 200.000, state: IDLE
16:47:40.024 hls.js:10190 [log] > [stream-controller]: Media seeked to 200.007
16:47:42.210 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:42.476 hls.js:3298 [log] > [stream-controller]: Loaded fragment 627 of level 0
16:47:42.482 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 627 of level 0
16:47:42.482 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:42.482 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:42.483 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 627 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,184.000][200.002,204.000]
16:47:42.483 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:42.483 hls.js:3533 [log] > [stream-controller]: Loading fragment 628 cc: 0 of [626-629] level: 0, target: 204
16:47:42.483 hls.js:4256 [log] > [stream-controller]: IDLE->FRAG_LOADING
16:47:42.485 hls.js:7763 [warn] > Playback stalling at @201.96276 due to low buffer ({"len":2.037239999999997,"start":200.002,"end":204})
_reportStall @ hls.js:7763
_handleTransmuxerFlush @ hls.js:3648
16:47:42.485 hls.js:8362 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
_reportStall @ hls.js:7764
_handleTransmuxerFlush @ hls.js:3648
16:47:42.493 hls.js:7615 [warn] > playback not stuck anymore @202.017968, after 292ms
16:47:42.677 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 631--1
16:47:42.677 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 1538 ms
16:47:42.677 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [628,631], cc [0, 0] duration:8.067999999999984
16:47:42.677 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 212.068
16:47:44.218 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:44.900 hls.js:7763 [warn] > Playback stalling at @203.956427 due to low buffer ({"len":0.04357300000000919,"start":200.002,"end":204})
_reportStall @ hls.js:7763
16:47:44.901 hls.js:8362 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
_reportStall @ hls.js:7764
16:47:45.331 hls.js:3298 [log] > [stream-controller]: Loaded fragment 628 of level 0
16:47:45.337 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 628 of level 0
16:47:45.337 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:45.337 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:45.338 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 628 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,184.000][200.002,206.002]
16:47:45.338 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:45.338 hls.js:3471 [log] > [stream-controller]: Loading key for 629 of [628-631], level 0
16:47:45.338 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:45.339 hls.js:3533 [log] > [stream-controller]: Loading fragment 629 cc: 0 of [628-631] level: 0, target: 206.002
16:47:45.339 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:45.355 hls.js:7615 [warn] > playback not stuck anymore @204.002695, after 755ms
16:47:45.360 hls.js:2796 [log] > [level-controller]: live playlist 0 REFRESHED 632--1
16:47:45.360 hls.js:2886 [log] > [level-controller]: reload live playlist 0 in 883 ms
16:47:45.360 hls.js:10263 [log] > [stream-controller]: Level 0 loaded [629,632], cc [0, 0] duration:8.069999999999993
16:47:45.360 hls.js:4933 [log] > [buffer-controller]: Updating Media Source duration to 214.072
16:47:46.244 hls.js:8987 [log] > [level-controller]: Attempt loading level index 0 at sn undefined part undefined with URL-id 0 https://d1fczzw4310wk8.cloudfront.net/usats1/wbxwcs/api/v1/webcastMedias/f1d0954edb254785bc06fa80c76c00be/640x360.m3u8?keyId=KD5MJF8GHYLBC&Expires=1678436831&Signature=PqGQXOHFbWXJHcNch5~8275o05EWZbMwVEqMcFH~QvxuzmUtTMgo2jf7bOqYMsIvq0u7ltPpYQoqVHKCIC1CyYSW1ddwu~Cgy5nWPTen5C8TykWZnIBHz6KB0o~DsHkKbvgnCsSDyeKAHYMKgf8C4FY7XMHugxBCQIE3LhWbUIyQHCW9~wGCLfYgArmGaJH~4QLAUUTCgUKtP6ACyX4MmFp7u33booCYPf1KEpqxFaYqdiP9CAeGGJi~ADff5Ok6MsgMGFzhRuAko8geYJs9l4nWiN26pGv-OerIGMVPxp7K2AgcNuuKKw86c~V~iPlvbRE7thJSj7AZJnCOvamGFQ__&Key-Pair-Id=KD5MJF8GHYLBC
16:47:47.799 hls.js:7763 [warn] > Playback stalling at @205.961742 due to low buffer ({"len":0.0402570000000253,"start":200.002,"end":206.001999})
_reportStall @ hls.js:7763
16:47:47.799 hls.js:8362 [warn] > [playback-rate-controller]: Stall detected, adjusting target latency
_reportStall @ hls.js:7764
16:47:49.861 hls.js:3298 [log] > [stream-controller]: Loaded fragment 629 of level 0
16:47:49.875 hls.js:15607 [log] > [transmuxer.ts]: Flushed fragment 629 of level 0
16:47:49.875 hls.js:4256 [log] > [stream-controller]: FRAG_LOADING->PARSING
16:47:49.876 hls.js:4256 [log] > [stream-controller]: PARSING->PARSED
16:47:49.877 hls.js:3418 [log] > [stream-controller]: Buffered main sn: 629 of level 0 [0.002,76.000][100.002,102.002][158.016,160.000][170.016,176.000][180.002,184.000][200.002,208.000]
16:47:49.877 hls.js:4256 [log] > [stream-controller]: PARSED->IDLE
16:47:49.877 hls.js:3471 [log] > [stream-controller]: Loading key for 630 of [629-632], level 0
16:47:49.877 hls.js:4256 [log] > [stream-controller]: IDLE->KEY_LOADING
16:47:49.877 hls.js:3533 [log] > [stream-controller]: Loading fragment 630 cc: 0 of [629-632] level: 0, target: 208
16:47:49.877 hls.js:4256 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
16:47:49.879 hls.js:7739 [warn] > Trying to nudge playhead over buffer-hole

Chrome media internals output

{
      "timestamp": 94035.23124,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      "displayTimestamp": "195.109",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94037.171085,
      "value": {
        "video_buffering_state": {
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      },
      "displayTimestamp": "197.049",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94037.237646,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      },
      "displayTimestamp": "197.115",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94038.43736,
      "value": {
        "seek_target": 6.048
      },
      "displayTimestamp": "198.315",
      "event": "kSeek"
    },
    {
      "timestamp": 94038.437774,
      "value": {
        "pipeline_state": "kSeeking"
      },
      "displayTimestamp": "198.315",
      "event": "kPipelineStateChange"
    },
    {
      "timestamp": 94038.474457,
      "value": {
        "pipeline_state": "kPlaying"
      },
      "displayTimestamp": "198.352",
      "event": "kPipelineStateChange"
    },
    {
      "timestamp": 94038.481913,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      "displayTimestamp": "198.360",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94041.604846,
      "value": {
        "duration": 201.901999
      },
      "displayTimestamp": "201.483",
      "event": "kDurationChanged"
    },
    {
      "timestamp": 94042.112906,
      "value": {
        "seek_target": 200
      },
      "displayTimestamp": "201.991",
      "event": "kSeek"
    },
    {
      "timestamp": 94042.113302,
      "value": {
        "pipeline_state": "kSeeking"
      },
      "displayTimestamp": "201.991",
      "event": "kPipelineStateChange"
    },
    {
      "timestamp": 94042.114192,
      "value": {
        "pipeline_state": "kPlaying"
      },
      "displayTimestamp": "201.992",
      "event": "kPipelineStateChange"
    },
    {
      "timestamp": 94042.115397,
      "value": {
        "duration": 208.058999
      },
      "displayTimestamp": "201.993",
      "event": "kDurationChanged"
    },
    {
      "timestamp": 94042.124592,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      "displayTimestamp": "202.002",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94044.087877,
      "value": {
        "video_buffering_state": {
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      },
      "displayTimestamp": "203.966",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94044.780664,
      "value": {
        "duration": 212.067999
      },
      "displayTimestamp": "204.658",
      "event": "kDurationChanged"
    },
    {
      "timestamp": 94044.593043,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      "displayTimestamp": "204.471",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94046.521214,
      "value": {
        "video_buffering_state": {
          "reason": "DEMUXER_UNDERFLOW",
          "state": "BUFFERING_HAVE_NOTHING"
        }
      },
      "displayTimestamp": "206.399",
      "event": "kBufferingStateChanged"
    },
    {
      "timestamp": 94047.463468,
      "value": {
        "duration": 214.072
      },
      "displayTimestamp": "207.341",
      "event": "kDurationChanged"
    },
    {
      "timestamp": 94047.454418,
      "value": {
        "pipeline_buffering_state": {
          "for_suspended_start": false,
          "state": "BUFFERING_HAVE_ENOUGH"
        }
      },
      "displayTimestamp": "207.332",
      "event": "kBufferingStateChanged"
    },
@AkiDroid AkiDroid 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 9, 2023
@AkiDroid
Copy link
Author

Here is a similar issue: #4497

@robwalch
Copy link
Collaborator

Hi @AkiDroid,

Have you tried reproducing the issue on dev or latest release (v1.3.4)?

@robwalch
Copy link
Collaborator

robwalch commented Mar 10, 2023

Here is a similar issue: #4497

In that issue the playlist updates produced old results (media sequence number jumped backwards) which is completely invalid.

Looks like you have a three segment sliding window of 6 seconds (2 second segments). Is that correct? Is target duration also 2 seconds?

Please test against latest or dev and update report.

@robwalch robwalch added cannot reproduce and removed Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Mar 11, 2023
@AkiDroid
Copy link
Author

Hi, @robwalch

I reproduced the problem on the latest code in the master branch.
Another thing is that we will call hls.startLoad() when the network speed is too slow to enter the waiting state and the retry count is used up, then sometimes the playback progress will jump back to the starting position of the buffer. Setting backBufferLength to 0 can reduce the impact, but I think it is not the rootcause。

Our m3u8 files look like this:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-MEDIA-SEQUENCE:8413
#EXT-X-TARGETDURATION:3
#EXT-X-KEY:METHOD=AES-128,URI="https://usats1.livestreaming.webex.com/wbxwcs/api/v1/keys/de2df115ca054f39b7f49a581a8208e2/ce22dd273a5d42efaee952d7f62909b9/af3322ec075b4b43a52a21f21d80857e",IV=0x62373932646133656331666464343438
#EXTINF:2.029,
https://d1fczzw4310wk8.cloudfront.net/S3-USATS1/streaming/20230313/254766566218926597/ce22dd273a5d42efaee952d7f62909b9/1678690067284_8423_1920x1080.ts?timestamp=1678690067&fileSize=445008&keyId=KD5MJF8GHYLBC&Expires=1678690247&Signature=5ovoJ~KuTKO9m92XF6VC7tsNp9KVLcgVq6FC2caOteJiPCt7rhSl62xsNNOkIGtcO8LqhjJ9eX7uFT5cPo-BA4wTJEzC1g80g-vNH7~NlOsYtk5eFlVLfXKpvHUE3y1SNyd8tZ5xfvBQhd5jmAvxxdnYE1eYgm6GQam9jxqiisobdemU4pcU2mzrkr-rsT00unE~ZcLON2lekm~7E7Fv~TXHCqXXDvDsnUSoj3MIORdxXXyLpARXSLIgjO5CSaXjwc5eSqlvQrIOB07urQfnwpVrCKpZw-0U2Z~lIpMhTf9ezcuGxftQWzX3AoqXeKV-tf7s-GIZSqHDDpvrJTCWbQ__&Key-Pair-Id=KD5MJF8GHYLBC
#EXTINF:2.013,
https://d1fczzw4310wk8.cloudfront.net/S3-USATS1/streaming/20230313/254766566218926597/ce22dd273a5d42efaee952d7f62909b9/1678690069295_8424_1920x1080.ts?timestamp=1678690069&fileSize=444816&keyId=KD5MJF8GHYLBC&Expires=1678690249&Signature=f2~J6j4XeYr797LKfSiDiZvPxxEL7-58E4InMVltKKxzPt~0IT0F4ci6zM-~Xy8Lz~kG21QmGq-ZwTTHGOgjHUpHKLJLaah92tBMOcabS3UwEP1PvDiUFLml-dKZqHnOxmn~sBZouU~cudumpMD42gXbV~v3nuMaEsofVIlTQjF1D0t85ZWzntjLX-oouUd6gw1KNVOmY3IfwBUxNvkPoo2At5N8XFlhdBfqkpC2YAmwqAM4G5uhaoBxdX4Q~3DQzYW9GiCT5YZl45wG3U4CEMi3YPA3bmTjwooclfPrwH3LXp00xdBUIp4BAAxoFz6EEbZeAWPu4bJRC9SyT271Iw__&Key-Pair-Id=KD5MJF8GHYLBC
#EXTINF:2.029,
https://d1fczzw4310wk8.cloudfront.net/S3-USATS1/streaming/20230313/254766566218926597/ce22dd273a5d42efaee952d7f62909b9/1678690071271_8425_1920x1080.ts?timestamp=1678690071&fileSize=421888&keyId=KD5MJF8GHYLBC&Expires=1678690251&Signature=0K2Ua0NFY-wbc-PIFowaiY6xmI6qQDOAnNzxP~Ns31KzYuC237NSolL6WI8VB-FxPcsiMsAkzlxlgLdF0cOJ-EULoVcTh7yQ9PVxvmC-skDi6eAPcKaAM7F-zNi2X4CJUkHvc0MZBrFeJrblmXAlPXsVPEO-OFewfbXJLat~PnnqbrLxErU2wfUIWTGV7b4IB8MvXGvmfwqPiTzbqqednXRoZU7DAchaJhWqsU3hO0ASfcPnaKA1WBJzC8T5CcD6Bq7RK2mlJ64LfP3h1bVoIJih-FF--WxVLYDwMmkRD5vr10Xe6wpKb3qHo5~5KBZ3kY3Xs2~c1nvgZsBKVaYw~A__&Key-Pair-Id=KD5MJF8GHYLBC
#EXTINF:2.013,
https://d1fczzw4310wk8.cloudfront.net/S3-USATS1/streaming/20230313/254766566218926597/ce22dd273a5d42efaee952d7f62909b9/1678690073242_8426_1920x1080.ts?timestamp=1678690073&fileSize=477344&keyId=KD5MJF8GHYLBC&Expires=1678690253&Signature=sWxBaN9ExtCWKUej8947WhOhEy4C4XkJcUortz1W7buvkofzgHmHW3C0Krha3J5l20ZhO8YovMFkCl-n1-zQe89v~vMKOWYH86AOU-qqq0-fG0PITgO4wXKFnh6-yvXVX1j0t6vXVSyLEUCqVgIQv1-t4Pa5Tzqsm28qxx5t~IRKbMXneDOzTev6H69j-ZrF-iZGTIutp6YCCnoykJpA8H1vXJxiMVdfBK06tGslUEMa1KJmCs0exbq7fjWsDEndmGglfxgHktHUbwC3fuwIbxFLLyWN8wagD2NcysVLTgXiiHFX~ZR~M4GIojzjE9ar1n3KctjQKDSJd1VM5O-wnw__&Key-Pair-Id=KD5MJF8GHYLBC

each ts file is about two seconds long.

@robwalch
Copy link
Collaborator

#5317 has been merged. You can test the changes on dev at https://hlsjs-dev.video-dev.org/demo/

If you can still repro the issue please create a screen cap of the demo page showing the playlist progression along with a new set of console logs. We need to isolate why the end of the playlist is suddenly 14.123, and the logs from the version this was run in does not provide that context. If we don't see this in the latest, but the issue persists I can add some more details to the logs in dev:

16:47:36.333 hls.js:3998 [warn] > [stream-controller]: Playback: 181.965 is located too far from the end of live sliding playlist: 14.123000000000001, reset currentTime to : 6.048
16:47:36.334 hls.js:7615 [warn] > playback not stuck anymore @6.048, after 1034ms

@AkiDroid
Copy link
Author

I tested on the master branch, and the bug did not reproduce. Thank you! @robwalch

robwalch added a commit that referenced this issue Sep 11, 2024
…uence/disconitinuity overlap and no PDT

Resolves #6685
(duplicate of #5282)
@robwalch robwalch added this to the 1.6.0 milestone Sep 16, 2024
@robwalch robwalch linked a pull request Sep 16, 2024 that will close this issue
3 tasks
robwalch added a commit that referenced this issue Sep 17, 2024
…6692)

* Align live playlist updates to end of last when there is no media-sequence/disconitinuity overlap and no PDT
Resolves #6685
(duplicate of #5282)

* Maintain start as long as there are no skipped segments and new details have no sliding
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants