-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Closed
Labels
Milestone
Description
What version of Hls.js are you using?
1.6.13
What browser (including version) are you using?
141.0.7390.77 (Official Build) (arm64)
What OS (including version) are you using?
MacOS Sequoia 15.7.1
Test stream
Configuration
{
"debug": true,
"enableWorker": true,
"backBufferLength": 90,
"maxBufferHole": 4,
"maxMaxBufferLength": 8,
"maxBufferLength": 8
}Additional player setup steps
Issue is most easily reproducible with lower bandwidth.
Checklist
- The issue observed is not already reported by searching on Github under https://github.com/video-dev/hls.js/issues
- The issue occurs in the stable client (latest release) on https://hlsjs.video-dev.org/demo and not just on my page
- The issue occurs in the latest client (main branch) on https://hlsjs-dev.video-dev.org/demo and not just on my page
- The stream has correct Access-Control-Allow-Origin headers (CORS)
- There are no network errors such as 404s in the browser console when trying to play the stream
Steps to reproduce
- Start network throttling i.e. (Slow 4g) & disable cache
- Start loading the stream
- Start Playback
- Seek to around position 20
- Notice previously loading fragments are canceled (expected if not buffering at currentTime that is within the range being buffered)
- After playback resumes after buffering, seek back to roughly 3 seconds before the active buffered range
- Notice fragments in the future are not canceled even though there is currently no media to be played at current position
- Notice as well that a check for if a seek backwards occurred in getFwdBufferInfo inside base-stream-controller returns false when it should be true
- Notice fragment at current position is never loaded & buffering occurs endlessly
Expected behaviour
- If seeking backwards behind a buffered range, fragments being loaded in the future should be aborted.
- If seeking backwards occurs, getFwdBufferInfo should correctly detect a seek backward & pass a 0 for the buffer hole size to allow fragment loading to occur at the current position
What actually happened?
Heavy buffering is encountered due to fragment loading not being aborted and in case of maxBufferHole size being set, could lead to endless buffering.
Console output
hls.ts:433 [log] > destroy
hls.ts:482 [log] > detachMedia
buffer-controller.ts:466 [log] > [buffer-controller]: media source detaching
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->STOPPED
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: IDLE->STOPPED
blob:https://hlsjs.video-dev.org/05320b4e-8435-4c4b-adb5-13a9693e5ce7:1168 [log] > Debug logs enabled for "main" in hls.js version 1.6.13
blob:https://hlsjs.video-dev.org/05320b4e-8435-4c4b-adb5-13a9693e5ce7:1168 [log] > Debug logs enabled for "audio" in hls.js version 1.6.13
base-stream-controller.ts:2230 [log] > [subtitle-stream-controller]: IDLE->STOPPED
interstitials-controller.ts:288 [log] > [interstitials]: clear schedule state
main.js:350 Using Hls.js config: {debug: true, enableWorker: true, lowLatencyMode: true, backBufferLength: 0, maxBufferHole: 6, …}
logger.ts:102 [log] > Debug logs enabled for "Hls instance" in hls.js version 1.6.13
hls.ts:579 [log] > stopLoad
hls.ts:513 [log] > loadSource:https://playertest.longtailvideo.com/adaptive/aes-with-tracks/master.m3u8
interstitials-controller.ts:288 [log] > [interstitials]: clear schedule state
stream-controller.ts:601 [log] > [stream-controller]: Trigger BUFFER_RESET
hls.ts:466 [log] > attachMedia
buffer-controller.ts:320 [log] > [buffer-controller]: created media source: MediaSource
buffer-controller.ts:1546 [log] > [buffer-controller]: Media source opened
buffer-controller.ts:1375 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 0) {}
level-controller.ts:351 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 2051101
abr-controller.ts:65 [log] > [abr]: setting initial bwe to 2051101
buffer-controller.ts:266 [log] > [buffer-controller]: 2 bufferCodec event(s) expected.
playlist-loader.ts:397 [log] > auto startLoad with configured startPosition -1
hls.ts:556 [log] > startLoad(-1)
level-controller.ts:450 [log] > [level-controller]: Switching to level 0 (720p SDR avc1,mp4a @2051101) from level -1
audio-track-controller.ts:187 [log] > [audio-track-controller]: Updating audio tracks, 1 track(s) found in group(s): audio_aac
audio-track-controller.ts:326 [log] > [audio-track-controller]: Switching to audio-track 0 "Unknown" lang:und group:audio_aac channels:undefined
base-stream-controller.ts:2054 [log] > [audio-stream-controller]: Reset loading state
level-controller.ts:655 [log] > [level-controller]: Loading level index 0 https://playertest.longtailvideo.com/adaptive/aes-with-tracks/media-1/stream.m3u8
base-stream-controller.ts:2230 [log] > [stream-controller]: STOPPED->IDLE
audio-track-controller.ts:421 [log] > [audio-track-controller]: Loading audio-track 0 "Unknown" lang:und group:audio_aac https://playertest.longtailvideo.com/adaptive/aes-with-tracks/audio/aac/und/stream.m3u8
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: STOPPED->WAITING_TRACK
base-stream-controller.ts:2230 [log] > [subtitle-stream-controller]: STOPPED->IDLE
audio-track-controller.ts:101 [log] > [audio-track-controller]: Audio track 0 "Unknown" lang:und group:audio_aac loaded [0-4]
stream-controller.ts:661 [log] > [stream-controller]: Level 0 loaded [0,3][part-3--1], cc [0, 0] duration:29.519999999999996
base-stream-controller.ts:1823 [log] > [stream-controller]: setting startPosition to 0 by default
interstitials-controller.ts:1036 [log] > [interstitials]: [checkStart] Advancing timeline position to 0
interstitials-controller.ts:1135 [log] > [interstitials]: setSchedulePosition 0, undefined ([primary: 0.00-29.52]) pos: 0
interstitials-controller.ts:2005 [log] > [interstitials]: INTERSTITIALS_BUFFERED_TO_BOUNDARY [primary: 0.00-29.52]
interstitials-controller.ts:1397 [log] > [interstitials]: resuming [primary: 0.00-29.52]
interstitials-controller.ts:1487 [log] > [interstitials]: [attachPrimary] Advancing timeline position to 0
buffer-controller.ts:1352 [log] > [buffer-controller]: Updating MediaSource duration to 29.520
base-stream-controller.ts:839 [log] > [stream-controller]: Loading key for 0 of [0-3], level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->KEY_LOADING
key-loader.ts:222 [log] > [key-loader]: Loading URI: https://playertest.longtailvideo.com/adaptive/aes-with-tracks/media-1/key.bin from main 0
base-stream-controller.ts:965 [log] > [stream-controller]: Loading main sn: 0 of level 0 (frag:[0.000-8.400]) cc: 0 [0-3], target: 0
base-stream-controller.ts:2230 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
audio-stream-controller.ts:548 [log] > [audio-stream-controller]: Audio track 0 "Unknown" of "audio_aac" loaded [0,4][part-4--1],duration:29.546667
base-stream-controller.ts:1823 [log] > [audio-stream-controller]: setting startPosition to 0 by default
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: WAITING_TRACK->IDLE
base-stream-controller.ts:839 [log] > [audio-stream-controller]: Loading key for 0 of [0-4], track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
key-loader.ts:222 [log] > [key-loader]: Loading URI: https://playertest.longtailvideo.com/adaptive/aes-with-tracks/audio/aac/und/key.bin from audio 0
base-stream-controller.ts:965 [log] > [audio-stream-controller]: Loading audio sn: 0 of track 0 (frag:[0.000-6.016]) cc: 0 [0-4], target: 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: KEY_LOADING->FRAG_LOADING
transmuxer-interface.ts:88 [log] > injecting Web Worker for "audio"
audio-stream-controller.ts:675 [log] > [audio-stream-controller]: Unknown video PTS for cc 0, waiting for video PTS before demuxing audio frag 0 of [0 ,4],track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: FRAG_LOADING->WAITING_INIT_PTS
base-stream-controller.ts:537 [log] > [audio-stream-controller]: Loaded audio sn: 0 of track 0
2b5f2ce3-0def-4abd-a52a-dd526138394b:1168 [log] > Debug logs enabled for "audio" in hls.js version 1.6.13
transmuxer-interface.ts:88 [log] > injecting Web Worker for "main"
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 0 level: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: true
timeOffset: 0
initSegmentChange: true
base-stream-controller.ts:537 [log] > [stream-controller]: Loaded main sn: 0 of level 0
2b5f2ce3-0def-4abd-a52a-dd526138394b:1168 [log] > Debug logs enabled for "main" in hls.js version 1.6.13
2b5f2ce3-0def-4abd-a52a-dd526138394b:6343 [log] > [decrypter]: WebCrypto AES decrypt
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: Reset initPTS: null > null
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: Adjusting PTS for rollover in timeline near -0.1111111111111111 video
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: Adjusting PTS for rollover in timeline near -0.1111111111111111 video
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: Found initPTS at playlist time: 0 offset: 95443.8288 (8589944592/90000) trackId: 1
base-stream-controller.ts:2230 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1519 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[avc1.4D401F/avc1.4d401f]
buffer-controller.ts:594 [log] > [buffer-controller]: BUFFER_CODECS: "video" (current SB count 0)
buffer-controller.ts:1375 [log] > [buffer-controller]: checkPendingTracks (pending: 1 codec events expected: 2) {"video":{"listeners":[],"codec":"avc1.4d401f","container":"video/mp4","levelCodec":"avc1.4D401F","metadata":{"width":1280,"height":720},"id":"main"}}
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "video" append sn: 0 of level 0 cc: 0
audio-stream-controller.ts:153 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 95443.8288 (8589944592/90000) trackId: 1
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "video" append sn: 0 of level 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 0 of level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [stream-controller]: Parsed main sn: 0 of level 0 (frag:[0.000-8.400])
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: WAITING_INIT_PTS->FRAG_LOADING
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for audio sn: 0 track: 0 id: 1
discontinuity: true
trackSwitch: true
contiguous: false
accurateTimeOffset: false
timeOffset: 0
initSegmentChange: true
2b5f2ce3-0def-4abd-a52a-dd526138394b:6343 [log] > [decrypter]: WebCrypto AES decrypt
transmuxer-interface.ts:396 [log] > ADTS sync word found !
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: ISGenerated flag reset
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: Reset initPTS: null > 95443.8288 (8589944592/90000) trackId: 1
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
2b5f2ce3-0def-4abd-a52a-dd526138394b:11133 [log] > manifest codec:mp4a.40.2, parsed codec:mp4a.40.2, channels:6, rate:48000 (ADTS object type:2 sampling index:3)
transmuxer-interface.ts:396 [warn] > [mp4-remuxer]: Audio frame @ 95443.718s overlaps marker by -111 ms.
TransmuxerInterface.onWorkerMessage @ transmuxer-interface.ts:396
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
audio-stream-controller.ts:965 [log] > [audio-stream-controller]: Init audio buffer, container:audio/mp4, codecs[level/parsed]=[mp4a.40.2/mp4a.40.2]
buffer-controller.ts:594 [log] > [buffer-controller]: BUFFER_CODECS: "audio" (current SB count 0)
buffer-controller.ts:1375 [log] > [buffer-controller]: checkPendingTracks (pending: 2 codec events expected: 2) {"video":{"listeners":[],"codec":"avc1.4d401f","container":"video/mp4","levelCodec":"avc1.4D401F","metadata":{"width":1280,"height":720},"id":"main"},"audio":{"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":6},"id":"audio"}}
buffer-controller.ts:1444 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.4d401f) Queued {"listeners":[],"codec":"avc1.4d401f","container":"video/mp4","levelCodec":"avc1.4D401F","metadata":{"width":1280,"height":720},"id":"main"}
buffer-controller.ts:1444 [log] > [buffer-controller]: creating sourceBuffer(audio/mp4;codecs=mp4a.40.2) {"listeners":[],"codec":"mp4a.40.2","container":"audio/mp4","levelCodec":"mp4a.40.2","metadata":{"channelCount":6},"id":"audio"}
stream-controller.ts:964 [log] > [stream-controller]: Alternate track found, use video.buffered to schedule main fragment loading
buffer-controller.ts:1413 [log] > [buffer-controller]: SourceBuffers created. Running queue:
video: (SourceBuffer) append-video, append-video, async-blocker
audio: (SourceBuffer)
audiovideo: (none) }
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "audio" append sn: 0 of track 0 cc: 0
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "audio" append sn: 0 of track 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed audio sn: 0 of track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [audio-stream-controller]: Parsed audio sn: 0 of track 0 (frag:[0.000-5.884])
buffer-controller.ts:1639 [log] > [buffer-controller]: Updating video SourceBuffer timestampOffset to -95443.8288 (sn: 0 cc: 0)
buffer-controller.ts:1639 [log] > [buffer-controller]: Updating audio SourceBuffer timestampOffset to -95443.8288 (sn: 0 cc: 0)
base-stream-controller.ts:768 [log] > [audio-stream-controller]: Buffered audio sn: 0 of track 0 (frag:[0.000-5.884] > buffer:[0.000-5.905])
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:839 [log] > [audio-stream-controller]: Loading key for 1 of [0-4], track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [audio-stream-controller]: Loading audio sn: 1 of track 0 (frag:[5.884-11.900]) cc: 0 [0-4], target: 5.905
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: KEY_LOADING->FRAG_LOADING
base-stream-controller.ts:768 [log] > [stream-controller]: Buffered main sn: 0 of level 0 (frag:[0.000-8.400] > buffer:[0.000-8.400])
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:839 [log] > [stream-controller]: Loading key for 1 of [0-3], level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[8.400-16.080]) cc: 0 [0-3], target: 8.4
base-stream-controller.ts:2230 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
favicon.ico:1 GET https://hlsjs.video-dev.org/favicon.ico 404 (Not Found)
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 22.459, state: FRAG_LOADING, out of buffer
base-stream-controller.ts:379 [log] > [stream-controller]: Cancelling fragment load for seek (sn: 1)
base-stream-controller.ts:2054 [log] > [stream-controller]: Reset loading state
base-stream-controller.ts:2230 [log] > [stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1851 [log] > [stream-controller]: Fragment 1 of level 0 was aborted
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 22.459, state: FRAG_LOADING, out of buffer
base-stream-controller.ts:379 [log] > [audio-stream-controller]: Cancelling fragment load for seek (sn: 1)
base-stream-controller.ts:2054 [log] > [audio-stream-controller]: Reset loading state
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: FRAG_LOADING->IDLE
base-stream-controller.ts:1851 [log] > [audio-stream-controller]: Fragment 1 of track 0 was aborted
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 22.459, state: IDLE, out of buffer
base-stream-controller.ts:839 [log] > [stream-controller]: Loading key for 2 of [0-3], level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [stream-controller]: Loading main sn: 2 of level 0 (frag:[16.080-23.600]) cc: 0 [0-3], target: 22.459
base-stream-controller.ts:2230 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
base-stream-controller.ts:839 [log] > [audio-stream-controller]: Loading key for 3 of [0-4], track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [audio-stream-controller]: Loading audio sn: 3 of track 0 (frag:[17.916-23.932]) cc: 0 [0-4], target: 22.459
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: KEY_LOADING->FRAG_LOADING
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for audio sn: 3 track: 0 id: 1
discontinuity: false
trackSwitch: false
contiguous: false
accurateTimeOffset: false
timeOffset: 17.915555555555557
initSegmentChange: false
base-stream-controller.ts:537 [log] > [audio-stream-controller]: Loaded audio sn: 3 of track 0
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "audio" append sn: 3 of track 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed audio sn: 3 of track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [audio-stream-controller]: Parsed audio sn: 3 of track 0 (frag:[17.940-23.935])
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 2 level: 0 id: 1
discontinuity: false
trackSwitch: false
contiguous: false
accurateTimeOffset: true
timeOffset: 16.08
initSegmentChange: false
base-stream-controller.ts:537 [log] > [stream-controller]: Loaded main sn: 2 of level 0
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:2230 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "video" append sn: 2 of level 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 2 of level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [stream-controller]: Parsed main sn: 2 of level 0 (frag:[16.080-23.600])
base-stream-controller.ts:768 [log] > [audio-stream-controller]: Buffered audio sn: 3 of track 0 (frag:[17.940-23.935] > buffer:[0.000-5.905][17.940-23.956])
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:839 [log] > [audio-stream-controller]: Loading key for 4 of [0-4], track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [audio-stream-controller]: Loading audio sn: 4 of track 0 (frag:[23.935-29.417]) cc: 0 [0-4], target: 23.956
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: KEY_LOADING->FRAG_LOADING
base-stream-controller.ts:768 [log] > [stream-controller]: Buffered main sn: 2 of level 0 (frag:[16.080-23.600] > buffer:[0.000-8.400][16.080-23.600])
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:839 [log] > [stream-controller]: Loading key for 3 of [0-3], level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->KEY_LOADING
base-stream-controller.ts:965 [log] > [stream-controller]: Loading main sn: 3 of level 0 (frag:[23.600-29.520]) cc: 0 [0-3], target: 23.6
base-stream-controller.ts:2230 [log] > [stream-controller]: KEY_LOADING->FRAG_LOADING
stream-controller.ts:573 [log] > [stream-controller]: Media seeked to 22.459
buffer-controller.ts:963 [log] > [buffer-controller]: queuing "video" remove 0-14.759999999999998
buffer-controller.ts:1672 [log] > [buffer-controller]: Removing [0,14.759999999999998] from the video SourceBuffer
buffer-controller.ts:963 [log] > [buffer-controller]: queuing "audio" remove 0-14.759999999999998
buffer-controller.ts:1672 [log] > [buffer-controller]: Removing [0,14.759999999999998] from the audio SourceBuffer
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 17.270, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 17.270, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 17.270, state: IDLE, in buffer
gap-controller.ts:602 [warn] > [gap-controller]: skipping hole, adjusting currentTime from 17.270321 to 17.989887
_trySkipBufferHole @ gap-controller.ts:602
poll @ gap-controller.ts:274
tick @ gap-controller.ts:147
setInterval
setInterval @ task-loop.ts:71
onMediaAttached @ gap-controller.ts:84
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
BufferController._this2._onMediaSourceOpen @ buffer-controller.ts:1555
main.js:745 Error event: {type: 'mediaError', details: 'bufferSeekOverHole', fatal: false, error: Error: fragment loaded with buffer holes, seeking from 17.270321 to 17.989887
at GapController.…, reason: 'fragment loaded with buffer holes, seeking from 17.270321 to 17.989887', …}
(anonymous) @ main.js:745
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
_trySkipBufferHole @ gap-controller.ts:627
poll @ gap-controller.ts:274
tick @ gap-controller.ts:147
setInterval
setInterval @ task-loop.ts:71
onMediaAttached @ gap-controller.ts:84
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
BufferController._this2._onMediaSourceOpen @ buffer-controller.ts:1555
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 17.990, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 17.990, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 17.990, state: IDLE, in buffer
stream-controller.ts:573 [log] > [stream-controller]: Media seeked to 17.990
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 16.488, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 16.488, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 16.488, state: IDLE, in buffer
gap-controller.ts:602 [warn] > [gap-controller]: skipping hole, adjusting currentTime from 16.487625 to 17.989887
_trySkipBufferHole @ gap-controller.ts:602
poll @ gap-controller.ts:274
tick @ gap-controller.ts:147
setInterval
setInterval @ task-loop.ts:71
onMediaAttached @ gap-controller.ts:84
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
BufferController._this2._onMediaSourceOpen @ buffer-controller.ts:1555
main.js:745 Error event: {type: 'mediaError', details: 'bufferSeekOverHole', fatal: false, error: Error: fragment loaded with buffer holes, seeking from 16.487625 to 17.989887
at GapController.…, reason: 'fragment loaded with buffer holes, seeking from 16.487625 to 17.989887', …}
(anonymous) @ main.js:745
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
_trySkipBufferHole @ gap-controller.ts:627
poll @ gap-controller.ts:274
tick @ gap-controller.ts:147
setInterval
setInterval @ task-loop.ts:71
onMediaAttached @ gap-controller.ts:84
emit @ index.js:203
emit @ hls.ts:386
trigger @ hls.ts:394
BufferController._this2._onMediaSourceOpen @ buffer-controller.ts:1555
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 17.990, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 17.990, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 17.990, state: IDLE, in buffer
stream-controller.ts:573 [log] > [stream-controller]: Media seeked to 17.990
base-stream-controller.ts:355 [log] > [stream-controller]: Media seeking to 15.281, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [audio-stream-controller]: Media seeking to 15.281, state: FRAG_LOADING, in buffer
base-stream-controller.ts:355 [log] > [subtitle-stream-controller]: Media seeking to 15.281, state: IDLE, in buffer
base-stream-controller.ts:537 [log] > [audio-stream-controller]: Loaded audio sn: 4 of track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: FRAG_LOADING->PARSING
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "audio" append sn: 4 of track 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed audio sn: 4 of track 0
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [audio-stream-controller]: Parsed audio sn: 4 of track 0 (frag:[23.956-29.439])
base-stream-controller.ts:537 [log] > [stream-controller]: Loaded main sn: 3 of level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "video" append sn: 3 of level 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 3 of level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [stream-controller]: Parsed main sn: 3 of level 0 (frag:[23.600-29.560])
base-stream-controller.ts:768 [log] > [audio-stream-controller]: Buffered audio sn: 4 of track 0 (frag:[23.956-29.439] > buffer:[17.940-29.460])
base-stream-controller.ts:2230 [log] > [audio-stream-controller]: PARSED->IDLE
base-stream-controller.ts:768 [log] > [stream-controller]: Buffered main sn: 3 of level 0 (frag:[23.600-29.560] > buffer:[16.080-29.560])
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:965 [log] > [stream-controller]: Loading main sn: 1 of level 0 (frag:[8.400-16.080]) cc: 0 [0-3], target: 15.281
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->FRAG_LOADING
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 1 level: 0 id: 1
discontinuity: false
trackSwitch: false
contiguous: false
accurateTimeOffset: true
timeOffset: 8.399999999999999
initSegmentChange: false
base-stream-controller.ts:537 [log] > [stream-controller]: Loaded main sn: 1 of level 0
transmuxer-interface.ts:396 [log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:2230 [log] > [stream-controller]: FRAG_LOADING->PARSING
buffer-controller.ts:952 [log] > [buffer-controller]: queuing "video" append sn: 1 of level 0 cc: 0
transmuxer-interface.ts:396 [log] > [transmuxer.ts]: Flushed main sn: 1 of level 0
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:2177 [log] > [stream-controller]: Parsed main sn: 1 of level 0 (frag:[8.400-16.080])
base-stream-controller.ts:768 [log] > [stream-controller]: Buffered main sn: 1 of level 0 (frag:[8.400-16.080] > buffer:[8.400-29.560])
base-stream-controller.ts:2230 [log] > [stream-controller]: PARSED->IDLE
buffer-controller.ts:1074 [log] > [buffer-controller]: video buffer reached EOS
base-stream-controller.ts:2230 [log] > [stream-controller]: IDLE->ENDEDChrome media internals output
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Done