dash.js
dash.js copied to clipboard
Static multi-period playback stalls at a gap at period begin
Environment
- [x] The MPD passes the DASH-IF Conformance Tool on https://conformance.dashif.org/
- [x] The stream has correct Access-Control-Allow-Origin headers (CORS)
- [x] There are no network errors such as 404s in the browser console when trying to play the stream
- [x] The issue observed is not mentioned on https://github.com/Dash-Industry-Forum/dash.js/wiki/FAQ
- [x] The issue occurs in the latest reference client on http://reference.dashif.org/dash.js/ and not just on my page
- Link to playable MPD file: cannot share publicly
- Dash.js version: 4.4.1
- Browser name/version: Chrome 103.0.5060.134
- OS name/version: MacOS
Steps to reproduce
- Start a stream containing a gap both at the end of a period and at the beginning of the next period
- Seek to a time before the gap (or just start the stream and let it play until the gap)
- The stream stalls at the gap and playback does not continue. You have to seek manually to some point after the gap to continue playback.
Observed behavior
This is a regresion caused by 3840297207c. Player tries to jump the gap two times. Every time with wrong seek target that is inside the gap. Please notice that the first segment of 2nd period starts at 91.861787:
[24429][BufferController][audio] Buffered range: 91.861787 - 97.877787, currentTime = 84.743315
but the player tries to jump to the beginning of the period, which is 91.85843, and then stalls.
I think this happens only when seamless period switch is not possible and the buffer has to be replaced. When the problem occurs there is only one range in GapController.js _jumpGap
and nextRangeIndex
is NaN
:
// Get the range just after current time position
nextRangeIndex = _getNextRangeIndex(ranges, currentTime);
Console output
[23329][PlaybackController] Requesting seek to time: 84
[23333][PlaybackController] Seeking to: 84
[23333][FragmentModel][video] abort requests
[23333][FragmentModel][audio] abort requests
[23334][FragmentModel][video] abort requests
[23334][FragmentModel][audio] abort requests
[23334][BufferController][video] video: Removing buffer from: 0 to 44.343798
[23335][BufferController][audio] audio: Removing buffer from: 0 to 50.337132
[23335][PlaybackController] Native video element event: waiting
[23341][BufferController][video] onRemoved buffer from: 0 to 44.343798
[23341][AbrController] [video] switching from buffer occupancy to throughput ABR rule (buffer: 0.000).
[23342][BufferController][video] Waiting for more buffer before starting playback
[23342][BufferController][audio] onRemoved buffer from: 0 to 50.337132
[23343][AbrController] [audio] switching from buffer occupancy to throughput ABR rule (buffer: 0.000).
[23343][BufferController][audio] Waiting for more buffer before starting playback
[23343][FragmentModel][video] abort requests
[23343][FragmentModel][audio] abort requests
[23343][StreamController] Switch to stream 1/2. Seektime is 84, current playback time is 84. Seamless period switch is set to true
[23345][Stream] No text data.
[23345][Stream] No muxed data.
[23345][Stream] No image data.
[23345][SourceBufferSink][video] Updated append window for video. Set start to 31.731799652 and end to 91.868433868
[23346][SourceBufferSink][audio] Updated append window for audio. Set start to 31.731799652 and end to 91.868433868
[23349][ScheduleController][video] Quality has changed, get init request for representationid = 5
[23350][ScheduleController][audio] Quality has changed, get init request for representationid = 2
[23354][BufferController][video] Append Init fragment video with representationId: 5 and quality: 5 , data size: 869
[23354][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1/2 and media type video - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_1080p_high/init.mp4
[23355][BufferController][audio] Append Init fragment audio with representationId: 2 and quality: 0 , data size: 822
[23355][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1/2 and media type audio - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_audio/init.mp4
[23355][BufferController][video] Waiting for more buffer before starting playback
[23355][ScheduleController][video] Appended bytes for video and stream id 1/2
[23356][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 5
[23356][BufferController][audio] Waiting for more buffer before starting playback
[23356][ScheduleController][audio] Appended bytes for audio and stream id 1/2
[23356][ScheduleController][audio] [audio] lastInitializedRepresentationInfo changed to 0
[23357][ScheduleController][video] Top quality video index has changed from NaN to 5
[23357][ScheduleController][video] Media segment needed for video and stream id 1/2
[23357][DashHandler][video] Index for time 84 is 8
[23357][StreamProcessor][video] Next fragment request url for stream id 1/2 and media type video is [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_1080p_high/9.m4s
[23358][ScheduleController][audio] Top quality audio index has changed from NaN to 0
[23358][ScheduleController][audio] Media segment needed for audio and stream id 1/2
[23358][DashHandler][audio] Index for time 84 is 8
[23358][StreamProcessor][audio] Next fragment request url for stream id 1/2 and media type audio is [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_audio/9.m4s
[23361][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1/2 and media type audio - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_audio/9.m4s
[23364][BufferController][audio] Got enough buffer to start
[23364][BufferController][audio] Buffered range: 79.831799 - 85.847798, currentTime = 84
[23364][ScheduleController][audio] Appended bytes for audio and stream id 1/2
[23367][ScheduleController][audio] Media segment needed for audio and stream id 1/2
[23367][StreamProcessor][audio] Next fragment request url for stream id 1/2 and media type audio is [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_audio/10.m4s
[23376][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1/2 and media type video - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_1080p_high/9.m4s
[23390][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1/2 and media type audio - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_audio/10.m4s
[23392][BufferController][audio] Buffered range: 79.831799 - 91.787798, currentTime = 84
[23392][ScheduleController][audio] Appended bytes for audio and stream id 1/2
[23411][BufferController][video] Got enough buffer to start
[23411][BufferController][video] Buffered range: 79.846432 - 85.852431, currentTime = 84
[23411][ScheduleController][video] Appended bytes for video and stream id 1/2
[23412][ScheduleController][video] Media segment needed for video and stream id 1/2
[23413][StreamProcessor][video] Next fragment request url for stream id 1/2 and media type video is [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_1080p_high/10.m4s
[23430][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1/2 and media type video - Url: [...]/ads/SpearAd%20BDS_2137/dash/mpeg4_1080p_high/10.m4s
[23447][ScheduleController][video] Quality change rendered for streamId 1/2 and type video
[23449][ScheduleController][audio] Quality change rendered for streamId 1/2 and type audio
[23451][PlaybackController] Native video element event: seeked
[23451][PlaybackController] Native video element event: playing
[23456][Stream] onBufferingCompleted - One streamProcessor has finished but audio one is not buffering completed
[23456][BufferController][video] checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id 1/2 and type video
[23456][BufferController][video] Buffered range: 79.846432 - 91.858431, currentTime = 84
[23456][ScheduleController][video] Appended bytes for video and stream id 1/2
[23898][ScheduleController][audio] Media segment needed for audio and stream id 1/2
[23898][StreamProcessor][audio] Segment requesting for stream 1/2 has finished
[23898][Stream] onBufferingCompleted - trigger STREAM_BUFFERING_COMPLETED
[23898][StreamController] Stream with id 1/2 finished buffering
[23899][Stream] [startPreloading] Preloading next stream with id 1
[23902][Stream] No muxed data.
[23902][Stream] No image data.
[23902][SourceBufferSink][video] Updated append window for video. Set start to 91.758433868 and end to 169.90472553399997
[23903][SourceBufferSink][video] Set MSE timestamp offset to 89.85647553466666
[23903][SourceBufferSink][audio] Updated append window for audio. Set start to 91.758433868 and end to 169.90472553399997
[23903][SourceBufferSink][audio] Set MSE timestamp offset to 89.85645470133332
[23904][BufferController][audio] checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id 1/2 and type audio
[23904][SourceBufferSink][text] Set MSE timestamp offset to 89.85743386799999
[23904][AbrController] Stream ID: 1 [video] switch from 0 to 5/5 (buffer: 7.839) .
[23904][StreamProcessor][video] Preparing quality switch for type video
[23907][FragmentModel][video] abort requests
[23910][ScheduleController][video] Quality has changed, get init request for representationid = 6
[23911][ScheduleController][audio] Quality has changed, get init request for representationid = 8
[23912][ScheduleController][text] Quality has changed, get init request for representationid = 2
[23914][BufferController][video] Append Init fragment video with representationId: 6 and quality: 5 , data size: 864
[23914][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1 and media type video - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_1080p_high/init.mp4
[23914][BufferController][video] Got enough buffer to start
[23915][ScheduleController][video] Appended bytes for video and stream id 1
[23915][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 5
[23916][ScheduleController][video] Top quality video index has changed from NaN to 5
[23916][ScheduleController][video] Media segment needed for video and stream id 1
[23916][DashHandler][video] Index for time 92.15843386799999 is 0
[23916][StreamProcessor][video] Adjusting buffering time 91.85847553466665 because of gap in the manifest. Adjusting time by 0.00004166666666094443
[23917][BufferController][audio] Append Init fragment audio with representationId: 8 and quality: 0 , data size: 822
[23918][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1 and media type audio - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_audio/init.mp4
[23918][BufferController][text] Append Init fragment text with representationId: 2 and quality: 0 , data size: 727
[23919][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/init.mp4
[23920][ScheduleController][text] Appended bytes for text and stream id 1
[23920][ScheduleController][text] [text] lastInitializedRepresentationInfo changed to 0
[23920][BufferController][audio] Got enough buffer to start
[23920][ScheduleController][audio] Appended bytes for audio and stream id 1
[23920][ScheduleController][audio] [audio] lastInitializedRepresentationInfo changed to 0
[23921][ScheduleController][text] Top quality text index has changed from NaN to 0
[23921][ScheduleController][text] Media segment needed for text and stream id 1
[23921][DashHandler][text] Index for time 91.85843386799999 is 0
[23921][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/2.m4s
[23922][ScheduleController][audio] Top quality audio index has changed from NaN to 0
[23922][ScheduleController][audio] Media segment needed for audio and stream id 1
[23922][DashHandler][audio] Index for time 92.15843386799999 is 0
[23922][StreamProcessor][audio] Adjusting buffering time 91.86178803466666 because of gap in the manifest. Adjusting time by 0.0033541666666678793
[23927][TextSourceBuffer] VTT box1: vtte
[23928][TextSourceBuffer] VTT box1: vttc
[23928][TextSourceBuffer] VTT vttc boxes.length = 1
[23928][TextSourceBuffer] VTT box2: payl
[23928][TextSourceBuffer] VTT cue_text = [theme music]
[23928][TextSourceBuffer] VTT 92.22643386799999-95.162433868 : [theme music]
[23928][TextSourceBuffer] VTT box1: vtte
[23928][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/2.m4s
[23928][BufferController][text] Buffered range: 181.71586773599998 - 187.71586773599998, currentTime = 84.24273
[23929][ScheduleController][text] Appended bytes for text and stream id 1
[23934][ScheduleController][text] Media segment needed for text and stream id 1
[23934][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/3.m4s
[23942][TextSourceBuffer] VTT box1: vtte
[23942][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/3.m4s
[23942][BufferController][text] Buffered range: 181.71586773599998 - 193.71586773599998, currentTime = 84.256454
[23942][ScheduleController][text] Appended bytes for text and stream id 1
[23944][ScheduleController][text] Media segment needed for text and stream id 1
[23944][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/4.m4s
[23950][TextSourceBuffer] VTT box1: vtte
[23950][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/4.m4s
[23950][BufferController][text] Buffered range: 181.71586773599998 - 199.71586773599998, currentTime = 84.264722
[23951][ScheduleController][text] Appended bytes for text and stream id 1
[23952][ScheduleController][text] Media segment needed for text and stream id 1
[23952][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/5.m4s
[23955][TextSourceBuffer] VTT box1: vtte
[23955][TextSourceBuffer] VTT box1: vttc
[23955][TextSourceBuffer] VTT vttc boxes.length = 1
[23956][TextSourceBuffer] VTT box2: payl
[23956][TextSourceBuffer] VTT cue_text = Hello out there, Peabody here
[23956][TextSourceBuffer] VTT 115.34943386799999-115.85843386799999 : Hello out there, Peabody here
[23956][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/5.m4s
[23956][BufferController][text] Buffered range: 181.71586773599998 - 205.71586773599998, currentTime = 84.270498
[23956][ScheduleController][text] Appended bytes for text and stream id 1
[23957][ScheduleController][text] Media segment needed for text and stream id 1
[23958][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/6.m4s
[23961][TextSourceBuffer] VTT box1: vttc
[23962][TextSourceBuffer] VTT vttc boxes.length = 1
[23962][TextSourceBuffer] VTT box2: payl
[23962][TextSourceBuffer] VTT cue_text = Hello out there, Peabody here
[23962][TextSourceBuffer] VTT 115.85843386799999-117.21743386799999 : Hello out there, Peabody here
[23962][TextSourceBuffer] VTT box1: vtte
[23962][TextSourceBuffer] VTT box1: vttc
[23962][TextSourceBuffer] VTT vttc boxes.length = 1
[23962][TextSourceBuffer] VTT box2: payl
[23962][TextSourceBuffer] VTT cue_text = along with my pet boy,
Sherman, and my WABAC machine.
[23962][TextSourceBuffer] VTT 117.284433868-120.320433868 : along with my pet boy,
Sherman, and my WABAC machine.
[23963][TextSourceBuffer] VTT box1: vtte
[23963][TextSourceBuffer] VTT box1: vttc
[23963][TextSourceBuffer] VTT vttc boxes.length = 1
[23963][TextSourceBuffer] VTT box2: payl
[23963][TextSourceBuffer] VTT cue_text = 'Sherman is the one
in the short trousers.'
[23963][TextSourceBuffer] VTT 120.38743386799999-121.85843386799999 : 'Sherman is the one
in the short trousers.'
[23963][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/6.m4s
[23964][BufferController][text] Buffered range: 181.71586773599998 - 211.71586773599998, currentTime = 84.277811
[23964][ScheduleController][text] Appended bytes for text and stream id 1
[23965][ScheduleController][text] Media segment needed for text and stream id 1
[23965][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/7.m4s
[23969][TextSourceBuffer] VTT box1: vttc
[23969][TextSourceBuffer] VTT vttc boxes.length = 1
[23969][TextSourceBuffer] VTT box2: payl
[23969][TextSourceBuffer] VTT cue_text = 'Sherman is the one
in the short trousers.'
[23969][TextSourceBuffer] VTT 121.85843386799999-122.48943386799999 : 'Sherman is the one
in the short trousers.'
[23969][TextSourceBuffer] VTT box1: vtte
[23969][TextSourceBuffer] VTT box1: vttc
[23969][TextSourceBuffer] VTT vttc boxes.length = 1
[23969][TextSourceBuffer] VTT box2: payl
[23970][TextSourceBuffer] VTT cue_text = The WABAC's all warmed up,
Mr. Peabody.
[23970][TextSourceBuffer] VTT 122.556433868-124.591433868 : The WABAC's all warmed up,
Mr. Peabody.
[23970][TextSourceBuffer] VTT box1: vtte
[23970][TextSourceBuffer] VTT box1: vttc
[23970][TextSourceBuffer] VTT vttc boxes.length = 1
[23970][TextSourceBuffer] VTT box2: payl
[23970][TextSourceBuffer] VTT cue_text = Excellent, Sherman.
[23970][TextSourceBuffer] VTT 124.65843386799999-125.95943386799999 : Excellent, Sherman.
[23970][TextSourceBuffer] VTT box1: vtte
[23971][TextSourceBuffer] VTT box1: vttc
[23971][TextSourceBuffer] VTT vttc boxes.length = 1
[23971][TextSourceBuffer] VTT box2: payl
[23971][TextSourceBuffer] VTT cue_text = Set the indicator
for the year, 1885.
[23971][TextSourceBuffer] VTT 126.026433868-127.85843386799999 : Set the indicator
for the year, 1885.
[23971][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/7.m4s
[23971][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.28567
[23971][BufferController][text] Buffered range: 215.81686773599998 - 217.71586773599998, currentTime = 84.28567
[23972][ScheduleController][text] Appended bytes for text and stream id 1
[23973][ScheduleController][text] Media segment needed for text and stream id 1
[23973][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/8.m4s
[23980][TextSourceBuffer] VTT box1: vttc
[23980][TextSourceBuffer] VTT vttc boxes.length = 1
[23980][TextSourceBuffer] VTT box2: payl
[23980][TextSourceBuffer] VTT cue_text = Set the indicator
for the year, 1885.
[23980][TextSourceBuffer] VTT 127.85843386799999-128.228433868 : Set the indicator
for the year, 1885.
[23980][TextSourceBuffer] VTT box1: vtte
[23980][TextSourceBuffer] VTT box1: vttc
[23981][TextSourceBuffer] VTT vttc boxes.length = 1
[23981][TextSourceBuffer] VTT box2: payl
[23981][TextSourceBuffer] VTT cue_text = (Sherman)
'And our destination?'
[23981][TextSourceBuffer] VTT 128.295433868-129.997433868 : (Sherman)
'And our destination?'
[23981][TextSourceBuffer] VTT box1: vtte
[23981][TextSourceBuffer] VTT box1: vttc
[23981][TextSourceBuffer] VTT vttc boxes.length = 1
[23981][TextSourceBuffer] VTT box2: payl
[23981][TextSourceBuffer] VTT cue_text = 'Buffalo Bill's Wild West Show
where we'll meet, Annie Oakley.'
[23981][TextSourceBuffer] VTT 130.063433868-133.858433868 : 'Buffalo Bill's Wild West Show
where we'll meet, Annie Oakley.'
[23982][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/8.m4s
[23982][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.29612
[23982][BufferController][text] Buffered range: 215.81686773599998 - 223.71586773599998, currentTime = 84.29612
[23982][ScheduleController][text] Appended bytes for text and stream id 1
[23983][ScheduleController][text] Media segment needed for text and stream id 1
[23983][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/9.m4s
[23987][TextSourceBuffer] VTT box1: vttc
[23987][TextSourceBuffer] VTT vttc boxes.length = 1
[23987][TextSourceBuffer] VTT box2: payl
[23987][TextSourceBuffer] VTT cue_text = 'Buffalo Bill's Wild West Show
where we'll meet, Annie Oakley.'
[23987][TextSourceBuffer] VTT 133.858433868-134.601433868 : 'Buffalo Bill's Wild West Show
where we'll meet, Annie Oakley.'
[23987][TextSourceBuffer] VTT box1: vtte
[23988][TextSourceBuffer] VTT box1: vttc
[23988][TextSourceBuffer] VTT vttc boxes.length = 1
[23988][TextSourceBuffer] VTT box2: payl
[23988][TextSourceBuffer] VTT cue_text = (Peabody narrating)
Like all of my inventions,
the WABAC behaved flawlessly
[23988][TextSourceBuffer] VTT 134.668433868-137.504433868 : (Peabody narrating)
Like all of my inventions,
the WABAC behaved flawlessly
[23988][TextSourceBuffer] VTT box1: vtte
[23988][TextSourceBuffer] VTT box1: vttc
[23988][TextSourceBuffer] VTT vttc boxes.length = 1
[23988][TextSourceBuffer] VTT box2: payl
[23989][TextSourceBuffer] VTT cue_text = transporting Sherman and me
[23989][TextSourceBuffer] VTT 137.57143386799999-139.10643386799998 : transporting Sherman and me
[23989][TextSourceBuffer] VTT box1: vtte
[23989][TextSourceBuffer] VTT box1: vttc
[23989][TextSourceBuffer] VTT vttc boxes.length = 1
[23989][TextSourceBuffer] VTT box2: payl
[23989][TextSourceBuffer] VTT cue_text = inside Annie Oakley's
dressing room.
[23989][TextSourceBuffer] VTT 139.17243386799998-139.858433868 : inside Annie Oakley's
dressing room.
[23990][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/9.m4s
[23990][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.304075
[23990][BufferController][text] Buffered range: 215.81686773599998 - 229.71586773599998, currentTime = 84.304075
[23990][ScheduleController][text] Appended bytes for text and stream id 1
[23991][ScheduleController][text] Media segment needed for text and stream id 1
[23991][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/10.m4s
[23995][TextSourceBuffer] VTT box1: vttc
[23995][TextSourceBuffer] VTT vttc boxes.length = 1
[23995][TextSourceBuffer] VTT box2: payl
[23995][TextSourceBuffer] VTT cue_text = inside Annie Oakley's
dressing room.
[23995][TextSourceBuffer] VTT 139.858433868-140.974433868 : inside Annie Oakley's
dressing room.
[23996][TextSourceBuffer] VTT box1: vtte
[23996][TextSourceBuffer] VTT box1: vttc
[23996][TextSourceBuffer] VTT vttc boxes.length = 1
[23996][TextSourceBuffer] VTT box2: payl
[23996][TextSourceBuffer] VTT cue_text = We were just in time to witness
[23996][TextSourceBuffer] VTT 141.04143386799998-142.776433868 : We were just in time to witness
[23996][TextSourceBuffer] VTT box1: vtte
[23996][TextSourceBuffer] VTT box1: vttc
[23996][TextSourceBuffer] VTT vttc boxes.length = 1
[23996][TextSourceBuffer] VTT box2: payl
[23997][TextSourceBuffer] VTT cue_text = a superb exhibition
of marksmanship.
[23997][TextSourceBuffer] VTT 142.843433868-145.145433868 : a superb exhibition
of marksmanship.
[23997][TextSourceBuffer] VTT box1: vtte
[23997][TextSourceBuffer] VTT box1: vttc
[23997][TextSourceBuffer] VTT vttc boxes.length = 1
[23997][TextSourceBuffer] VTT box2: payl
[23997][TextSourceBuffer] VTT cue_text = ptaff ptaff
[23997][TextSourceBuffer] VTT 145.212433868-145.858433868 : ptaff ptaff
[23998][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/10.m4s
[23998][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.312065
[23998][BufferController][text] Buffered range: 215.81686773599998 - 235.71586773599998, currentTime = 84.312065
[23998][ScheduleController][text] Appended bytes for text and stream id 1
[23999][ScheduleController][text] Media segment needed for text and stream id 1
[23999][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/11.m4s
[24003][TextSourceBuffer] VTT box1: vttc
[24003][TextSourceBuffer] VTT vttc boxes.length = 1
[24003][TextSourceBuffer] VTT box2: payl
[24003][TextSourceBuffer] VTT cue_text = ptaff ptaff
[24004][TextSourceBuffer] VTT 145.858433868-146.44643386799999 : ptaff ptaff
[24004][TextSourceBuffer] VTT box1: vtte
[24004][TextSourceBuffer] VTT box1: vttc
[24004][TextSourceBuffer] VTT vttc boxes.length = 1
[24004][TextSourceBuffer] VTT box2: payl
[24004][TextSourceBuffer] VTT cue_text = Wow! She didn't miss one.
[24004][TextSourceBuffer] VTT 146.513433868-148.14843386799998 : Wow! She didn't miss one.
[24004][TextSourceBuffer] VTT box1: vtte
[24004][TextSourceBuffer] VTT box1: vttc
[24004][TextSourceBuffer] VTT vttc boxes.length = 1
[24004][TextSourceBuffer] VTT box2: payl
[24005][TextSourceBuffer] VTT cue_text = Remarkable,
Miss Oakley, remarkable.
[24005][TextSourceBuffer] VTT 148.215433868-150.150433868 : Remarkable,
Miss Oakley, remarkable.
[24005][TextSourceBuffer] VTT box1: vtte
[24005][TextSourceBuffer] VTT box1: vttc
[24005][TextSourceBuffer] VTT vttc boxes.length = 1
[24005][TextSourceBuffer] VTT box2: payl
[24005][TextSourceBuffer] VTT cue_text = You mean
remarkably bad, don't ya?
[24005][TextSourceBuffer] VTT 150.217433868-151.858433868 : You mean
remarkably bad, don't ya?
[24006][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/11.m4s
[24006][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.320054
[24006][BufferController][text] Buffered range: 215.81686773599998 - 241.71586773599998, currentTime = 84.320054
[24006][ScheduleController][text] Appended bytes for text and stream id 1
[24007][ScheduleController][text] Media segment needed for text and stream id 1
[24007][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/12.m4s
[24011][TextSourceBuffer] VTT box1: vttc
[24011][TextSourceBuffer] VTT vttc boxes.length = 1
[24011][TextSourceBuffer] VTT box2: payl
[24011][TextSourceBuffer] VTT cue_text = You mean
remarkably bad, don't ya?
[24011][TextSourceBuffer] VTT 151.858433868-152.38643386799998 : You mean
remarkably bad, don't ya?
[24011][TextSourceBuffer] VTT box1: vtte
[24011][TextSourceBuffer] VTT box1: vttc
[24012][TextSourceBuffer] VTT vttc boxes.length = 1
[24012][TextSourceBuffer] VTT box2: payl
[24012][TextSourceBuffer] VTT cue_text = I wouldn't call
five out of five bad.
[24012][TextSourceBuffer] VTT 152.45243386799999-154.621433868 : I wouldn't call
five out of five bad.
[24012][TextSourceBuffer] VTT box1: vtte
[24012][TextSourceBuffer] VTT box1: vttc
[24012][TextSourceBuffer] VTT vttc boxes.length = 1
[24012][TextSourceBuffer] VTT box2: payl
[24012][TextSourceBuffer] VTT cue_text = I would. I wasn't
aiming at them glasses.
[24012][TextSourceBuffer] VTT 154.688433868-157.591433868 : I would. I wasn't
aiming at them glasses.
[24012][TextSourceBuffer] VTT box1: vtte
[24013][TextSourceBuffer] VTT box1: vttc
[24013][TextSourceBuffer] VTT vttc boxes.length = 1
[24013][TextSourceBuffer] VTT box2: payl
[24013][TextSourceBuffer] VTT cue_text = She directed our attention
to a large target on the wall.
[24013][TextSourceBuffer] VTT 157.658433868-157.858433868 : She directed our attention
to a large target on the wall.
[24013][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/12.m4s
[24014][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.327832
[24014][BufferController][text] Buffered range: 215.81686773599998 - 247.71586773599998, currentTime = 84.327832
[24014][ScheduleController][text] Appended bytes for text and stream id 1
[24015][ScheduleController][text] Media segment needed for text and stream id 1
[24015][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/13.m4s
[24020][TextSourceBuffer] VTT box1: vttc
[24020][TextSourceBuffer] VTT vttc boxes.length = 1
[24020][TextSourceBuffer] VTT box2: payl
[24020][TextSourceBuffer] VTT cue_text = She directed our attention
to a large target on the wall.
[24021][TextSourceBuffer] VTT 157.858433868-161.09443386799998 : She directed our attention
to a large target on the wall.
[24021][TextSourceBuffer] VTT box1: vtte
[24021][TextSourceBuffer] VTT box1: vttc
[24021][TextSourceBuffer] VTT vttc boxes.length = 1
[24021][TextSourceBuffer] VTT box2: payl
[24021][TextSourceBuffer] VTT cue_text = I've taken 49 shots at that
thing and I ain't hit it. Watch.
[24021][TextSourceBuffer] VTT 161.161433868-163.858433868 : I've taken 49 shots at that
thing and I ain't hit it. Watch.
[24022][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/13.m4s
[24022][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.336137
[24022][BufferController][text] Buffered range: 215.81686773599998 - 253.71586773599998, currentTime = 84.336137
[24022][ScheduleController][text] Appended bytes for text and stream id 1
[24023][ScheduleController][text] Media segment needed for text and stream id 1
[24023][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/14.m4s
[24027][TextSourceBuffer] VTT box1: vttc
[24028][TextSourceBuffer] VTT vttc boxes.length = 1
[24028][TextSourceBuffer] VTT box2: payl
[24028][TextSourceBuffer] VTT cue_text = I've taken 49 shots at that
thing and I ain't hit it. Watch.
[24028][TextSourceBuffer] VTT 163.858433868-165.465433868 : I've taken 49 shots at that
thing and I ain't hit it. Watch.
[24028][TextSourceBuffer] VTT box1: vtte
[24028][TextSourceBuffer] VTT box1: vttc
[24028][TextSourceBuffer] VTT vttc boxes.length = 1
[24028][TextSourceBuffer] VTT box2: payl
[24029][TextSourceBuffer] VTT cue_text = I was certain this time she'd
definitely hit the target.
[24029][TextSourceBuffer] VTT 165.532433868-168.03543386799998 : I was certain this time she'd
definitely hit the target.
[24029][TextSourceBuffer] VTT box1: vtte
[24029][TextSourceBuffer] VTT box1: vttc
[24029][TextSourceBuffer] VTT vttc boxes.length = 1
[24029][TextSourceBuffer] VTT box2: payl
[24029][TextSourceBuffer] VTT cue_text = Especially since she was
standing two feet away from it.
[24029][TextSourceBuffer] VTT 168.101433868-169.858433868 : Especially since she was
standing two feet away from it.
[24030][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/14.m4s
[24030][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.34409
[24030][BufferController][text] Buffered range: 215.81686773599998 - 257.95886773599995, currentTime = 84.34409
[24030][BufferController][text] Buffered range: 257.958867736 - 259.715867736, currentTime = 84.34409
[24030][ScheduleController][text] Appended bytes for text and stream id 1
[24031][ScheduleController][text] Media segment needed for text and stream id 1
[24031][StreamProcessor][text] Next fragment request url for stream id 1 and media type text is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/15.m4s
[24035][TextSourceBuffer] VTT box1: vttc
[24035][TextSourceBuffer] VTT vttc boxes.length = 1
[24035][TextSourceBuffer] VTT box2: payl
[24035][TextSourceBuffer] VTT cue_text = Especially since she was
standing two feet away from it.
[24036][TextSourceBuffer] VTT 169.858433868-169.895433868 : Especially since she was
standing two feet away from it.
[24036][StreamProcessor][text] OnFragmentLoadingCompleted for stream id 1 and media type text - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/webvtt_1/15.m4s
[24036][BufferController][text] Buffered range: 181.71586773599998 - 215.81686773599995, currentTime = 84.350233
[24036][BufferController][text] Buffered range: 215.81686773599998 - 257.95886773599995, currentTime = 84.350233
[24036][BufferController][text] Buffered range: 257.958867736 - 259.7528677359999, currentTime = 84.350233
[24036][ScheduleController][text] Appended bytes for text and stream id 1
[24037][ScheduleController][text] Media segment needed for text and stream id 1
[24037][StreamProcessor][text] Segment requesting for stream 1 has finished
[24038][Stream] onBufferingCompleted - One streamProcessor has finished but video one is not buffering completed
[24038][BufferController][text] checkIfBufferingCompleted trigger BUFFERING_COMPLETED for stream id 1 and type text
[24419][ScheduleController][video] Media segment needed for video and stream id 1
[24420][DashHandler][video] Index for time 92.15847553466665 is 0
[24423][ScheduleController][audio] Media segment needed for audio and stream id 1
[24423][DashHandler][audio] Index for time 91.86178803466666 is 0
[24424][StreamProcessor][audio] Next fragment request url for stream id 1 and media type audio is [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_audio/2.m4s
[24428][StreamProcessor][audio] OnFragmentLoadingCompleted for stream id 1 and media type audio - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_audio/2.m4s
[24429][AbrController] [audio] switching from throughput to buffer occupancy ABR rule (buffer: 13.134).
[24429][BufferController][audio] Buffered range: 79.831799 - 91.787798, currentTime = 84.743315
[24429][BufferController][audio] Buffered range: 91.861787 - 97.877787, currentTime = 84.743315
[24429][ScheduleController][audio] Appended bytes for audio and stream id 1
[24921][ScheduleController][video] Media segment needed for video and stream id 1
[24922][DashHandler][video] Index for time 92.15847553466665 is 0
[25423][ScheduleController][video] Media segment needed for video and stream id 1
[25423][DashHandler][video] Index for time 92.15847553466665 is 0
[25925][ScheduleController][video] Media segment needed for video and stream id 1
[25925][DashHandler][video] Index for time 92.15847553466665 is 0
[26426][ScheduleController][video] Media segment needed for video and stream id 1
[26426][DashHandler][video] Index for time 92.15847553466665 is 0
[26928][ScheduleController][video] Media segment needed for video and stream id 1
[26928][DashHandler][video] Index for time 92.15847553466665 is 0
[27430][ScheduleController][video] Media segment needed for video and stream id 1
[27430][DashHandler][video] Index for time 92.15847553466665 is 0
[27935][ScheduleController][video] Media segment needed for video and stream id 1
[27935][DashHandler][video] Index for time 92.15847553466665 is 0
[28438][ScheduleController][video] Media segment needed for video and stream id 1
[28438][DashHandler][video] Index for time 92.15847553466665 is 0
[28938][ScheduleController][video] Media segment needed for video and stream id 1
[28939][DashHandler][video] Index for time 92.15847553466665 is 0
[29439][AbrController] Stream ID: 1 [video] switch from 5 to 4/5 (buffer: 2.262) "InsufficientBufferRule: being conservative to avoid immediate rebuffering"
[29439][StreamProcessor][video] Preparing quality switch for type video
[29444][FragmentModel][video] abort requests
[29449][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 1
[29449][ScheduleController][video] Quality has changed, get init request for representationid = 5
[29454][BufferController][video] Append Init fragment video with representationId: 5 and quality: 4 , data size: 863
[29454][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1 and media type video - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_720p_high/init.mp4
[29455][ScheduleController][video] Appended bytes for video and stream id 1
[29455][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 4
[29456][ScheduleController][video] Media segment needed for video and stream id 1
[29456][DashHandler][video] Index for time 92.15847553466665 is 0
[29958][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 1
[29958][AbrController] Stream ID: 1 [video] switch from 4 to 3/5 (buffer: 1.73) "InsufficientBufferRule: being conservative to avoid immediate rebuffering"
[29958][StreamProcessor][video] Preparing quality switch for type video
[29963][FragmentModel][video] abort requests
[29964][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 2
[29964][ScheduleController][video] Quality has changed, get init request for representationid = 1
[29969][BufferController][video] Append Init fragment video with representationId: 1 and quality: 3 , data size: 857
[29969][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1 and media type video - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_540p_main/init.mp4
[29970][ScheduleController][video] Appended bytes for video and stream id 1
[29970][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 3
[29971][ScheduleController][video] Media segment needed for video and stream id 1
[29971][DashHandler][video] Index for time 92.15847553466665 is 0
[30475][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 2
[30475][ScheduleController][video] Media segment needed for video and stream id 1
[30475][DashHandler][video] Index for time 92.15847553466665 is 0
[30976][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 2
[30976][AbrController] Stream ID: 1 [video] switch from 3 to 2/5 (buffer: 0.673) "InsufficientBufferRule: being conservative to avoid immediate rebuffering"
[30976][StreamProcessor][video] Preparing quality switch for type video
[30981][FragmentModel][video] abort requests
[30990][SwitchHistoryRule] Switch history rule index: 4 samples: 8 drops: 3
[30990][ScheduleController][video] Quality has changed, get init request for representationid = 7
[30996][BufferController][video] Append Init fragment video with representationId: 7 and quality: 2 , data size: 856
[30997][StreamProcessor][video] OnFragmentLoadingCompleted for stream id 1 and media type video - Url: [...]/asset/streams/c761b383-6637-4fee-824b-524a59726a30/dash/mpeg4_432p_main/init.mp4
[30997][ScheduleController][video] Appended bytes for video and stream id 1
[30997][ScheduleController][video] [video] lastInitializedRepresentationInfo changed to 2
[30999][ScheduleController][video] Media segment needed for video and stream id 1
[30999][DashHandler][video] Index for time 92.15847553466665 is 0
[31235][PlaybackController] Native video element event: waiting
[31499][SwitchHistoryRule] Switch history rule index: 3 samples: 6 drops: 2
[31500][ScheduleController][video] Media segment needed for video and stream id 1
[31500][DashHandler][video] Index for time 92.15847553466665 is 0
[32001][SwitchHistoryRule] Switch history rule index: 3 samples: 7 drops: 2
[32001][ScheduleController][video] Media segment needed for video and stream id 1
[32001][DashHandler][video] Index for time 92.15847553466665 is 0
[32505][SwitchHistoryRule] Switch history rule index: 2 samples: 6 drops: 1
[32505][ScheduleController][video] Media segment needed for video and stream id 1
[32505][DashHandler][video] Index for time 92.15847553466665 is 0
[32745][GapController] Jumping to end of stream because of gap from 91.549318 to 91.85843. Gap duration: 0.30911199999999894
[32745][PlaybackController] Requesting seek to time: 91.85843 (internal)
[32746][PlaybackController] Native video element event: waiting
[33014][SwitchHistoryRule] Switch history rule index: 2 samples: 7 drops: 1
[33014][ScheduleController][video] Media segment needed for video and stream id 1
[33015][DashHandler][video] Index for time 92.15847553466665 is 0
[33516][SwitchHistoryRule] Switch history rule index: 2 samples: 8 drops: 1
[33517][ScheduleController][video] Media segment needed for video and stream id 1
[33517][DashHandler][video] Index for time 92.15847553466665 is 0
[34018][SwitchHistoryRule] Switch history rule index: 2 samples: 8 drops: 1
[34018][ScheduleController][video] Media segment needed for video and stream id 1
[34019][DashHandler][video] Index for time 92.15847553466665 is 0
[34520][SwitchHistoryRule] Switch history rule index: 2 samples: 8 drops: 1
[34520][ScheduleController][video] Media segment needed for video and stream id 1
[34520][DashHandler][video] Index for time 92.15847553466665 is 0
[34744][GapController] Jumping to end of stream because of gap from 91.787798 to 91.85843. Gap duration: 0.07063200000000336
[34744][PlaybackController] Requesting seek to time: 91.85843 (internal)
[35022][ScheduleController][video] Media segment needed for video and stream id 1
[35022][DashHandler][video] Index for time 92.15847553466665 is 0
[35531][ScheduleController][video] Media segment needed for video and stream id 1
[35531][DashHandler][video] Index for time 92.15847553466665 is 0
[36032][ScheduleController][video] Media segment needed for video and stream id 1
[36032][DashHandler][video] Index for time 92.15847553466665 is 0
[36538][ScheduleController][video] Media segment needed for video and stream id 1
[36538][DashHandler][video] Index for time 92.15847553466665 is 0
[37040][ScheduleController][video] Media segment needed for video and stream id 1
[37041][DashHandler][video] Index for time 92.15847553466665 is 0
[37544][ScheduleController][video] Media segment needed for video and stream id 1
[37545][DashHandler][video] Index for time 92.15847553466665 is 0
[38046][ScheduleController][video] Media segment needed for video and stream id 1
[38046][DashHandler][video] Index for time 92.15847553466665 is 0
[38547][ScheduleController][video] Media segment needed for video and stream id 1
[38547][DashHandler][video] Index for time 92.15847553466665 is 0
[39048][ScheduleController][video] Media segment needed for video and stream id 1
[39048][DashHandler][video] Index for time 92.15847553466665 is 0
[39549][ScheduleController][video] Media segment needed for video and stream id 1
[39549][DashHandler][video] Index for time 92.15847553466665 is 0
[40050][ScheduleController][video] Media segment needed for video and stream id 1
[40050][DashHandler][video] Index for time 92.15847553466665 is 0
[40560][ScheduleController][video] Media segment needed for video and stream id 1
[40560][DashHandler][video] Index for time 92.15847553466665 is 0
Expected behavior
Player switches to the next period and playback continues.
@lkinasiewicz #4025 should fix this issue, can you confirm this please?
Works like a charm. Thanks!