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

rxPlayer v4: discontinuities on Tizen devices #1635

Open
TomaszKowalik opened this issue Jan 22, 2025 · 6 comments
Open

rxPlayer v4: discontinuities on Tizen devices #1635

TomaszKowalik opened this issue Jan 22, 2025 · 6 comments

Comments

@TomaszKowalik
Copy link

Hi
After switching to RxPlayer v4 (4.2.0-dev.2024091600 to be specific), we came across a regression: for some content, we can observe discontinuities on Tizen devices, which are preventing playback. What happens after starting playback is that I can see the first frame of the video, the player tries to load it, and eventually, the session is closed, leaving a black screen.
We didn’t observe this issue on RxPlayer v3.
Here are the logs I gathered:

API: Calling loadvideo
API: Initializing MediaSource mode in the main thread
XHR: Sending GET
Locking `contentLock` to clean-up the current content.
DRM: Clearing-up DRM session.
DRM: closing all current sessions.
DRM-LSS: Closing all current MediaKeySessions 0
API: current media element state tick event init position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition undefined
API: playerStateChange event LOADING
API: DRM session cleaned-up with success!
Unlocking `contentLock`. Next content can begin.
Init: Creating ContentDecryptor
DRM: Starting ContentDecryptor logic.
DRM: Searching for compatible MediaKeySystemAccess
DRM: Found cached compatible keySystem
Init: Creating MediaSource
MTCI: Attaching MediaSource URL to the media element
DASH: WASM MPD Parser not initialized. Running JS one.
MF: Manifest parsed in 19.75999999990745ms
Init: MediaSource opened
DRM: Attaching current MediaKeys
DRM: The MediaKeys already has a server certificate, skipping...
Init: Calculating initial time
Init: starting at the minimum available position: 0.0160625
Init: Initial time calculated: 0.0160625
HTD: Creating HTMLTextDisplayer
API: current media element state tick event manual position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition 0.0160625
API: current playback timeline:

^0 
manual
Init: Resume playback speed 1
Init: Updating duration 5583.36
Stream: Creating new Stream for video 0
Stream: Creating new Stream for audio 0
Stream: Creating new Stream for text 0
Stream: Updating audio adaptation A: 1 P: 0
SB: Adding native SegmentSink with codec audio/mp4;codecs="mp4a.40.2"
AVSB: calling `mediaSource.addSourceBuffer` audio/mp4;codecs="mp4a.40.2"
Stream: Updating video adaptation A: 2 P: 0
SB: Adding native SegmentSink with codec video/mp4;codecs="avc1.640029"
AVSB: calling `mediaSource.addSourceBuffer` video/mp4;codecs="avc1.640029"
Stream: Set no text Adaptation. P: 0
ABR: Creating new BandwidthEstimator for  audio
Stream: changing representation audio audio_112034_cze=112000 112000
DRM: processing init data audio 112000 faa5a943ba8b442798ff7d1f0112392b
SQ: Media segments now need to be requested. Starting queue. audio 11
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
XHR: Sending GET 
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
XHR: Sending GET
ABR: Creating new BandwidthEstimator for  video
ABR: Steps for buffer based chooser. bufferLevel: 4, bitrate: 443600 ,bufferLevel: 10.977812352898297, bitrate: 648000 ,bufferLevel: 15.768625495879393, bitrate: 1066800 ,bufferLevel: 20.379275181999056, bitrate: 1444800 ,bufferLevel: 25.228550439079054, bitrate: 2671200
ABR: enter starvation mode.
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
ABR: Steps for buffer based chooser. bufferLevel: 4, bitrate: 443600 ,bufferLevel: 10.977812352898297, bitrate: 648000 ,bufferLevel: 15.768625495879393, bitrate: 1066800 ,bufferLevel: 20.379275181999056, bitrate: 1444800 ,bufferLevel: 25.228550439079054, bitrate: 2671200
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: changing representation video video=2671200 2671200
SQ: Media segments now need to be requested. Starting queue. video 11
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 0-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: init
XHR: Sending GET 
DRM: Creating a new temporary session
DRM-LSS: calling `createSession` temporary
DRM-LSS: MediaKeySession added temporary 1
DRM: Binding session events 
DRM: transmitting current keystatuses 
DRM: processing init data video 2671200 b95065fa6b8b442798ff7d1f0112392b
Compat: Calling generateRequest on the MediaKeySession
Compat: Trying to move CENC PSSH from init data at the end of it.
DRM: Creating a new temporary session
DRM-LSS: calling `createSession` temporary
DRM-LSS: MediaKeySession added temporary 2
DRM: Binding session events 
DRM: transmitting current keystatuses 
Compat: Calling generateRequest on the MediaKeySession
Compat: Trying to move CENC PSSH from init data at the end of it.
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SQ: no more init segment to request. Cancelling queue. audio
SF: Segment request cancelled audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
ABR: New last stable representation 112000
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: init
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: init
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SQ: no more init segment to request. Cancelling queue. video
SF: Segment request cancelled video P: 1 A: 2 R: video=2671200 S: init
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: init
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition 0.0160625
API: current playback timeline:

^0 
timeupdate
2SI: synchronizing unknown buffered ranges: 
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
SBI: updating timestampOffset audio/mp4;codecs="mp4a.40.2" 0 -1737523798.0883334
SBI: setting `appendWindowEnd` 5583.46
SBI: pushing segment audio
SI: synchronizing unknown buffered ranges: 
DRM: Received message event, type license-request ksidD3988060
DRM: Calling `getLicense` license-request
SI: synchronizing unknown buffered ranges: 
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 9000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
DRM: Received message event, type license-request ksid7E75A30B
DRM: Calling `getLicense` license-request
API: current media element state tick event loadedmetadata position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 1 pendingPosition 0.0160625
API: current playback timeline:

^0 
loadedmetadata
SI: synchronizing unknown buffered ranges: 
SI: synchronizing unknown buffered ranges: 0.016-1.936
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
API: Seeking internally 0.0160625
SI: first segment pushed audio 0.0160625 1.9360625
SI: synchronizing audio buffered ranges: 0.016-1.936
SI: found true buffered start audio 0.016 0.0160625
SI: found true buffered end audio 1.936 1.9360625
API: current media element state tick event internal-seeking position 0.016062 seeking 1 internalSeek true rebuffering true freezing false ended false paused true playbackRate 1 readyState 1 pendingPosition null
API: current playback timeline:

^0.016062 
seeking
SI: synchronizing unknown buffered ranges: 
SI: synchronizing audio buffered ranges: 0.016-1.936
API: Sending warning: MediaError: MEDIA_TIME_BEFORE_MANIFEST: The current position is behind the earliest time announced in the Manifest.
API: Seeking internally 0.033666666666666664
API: Sending warning: MediaError: DISCONTINUITY_ENCOUNTERED: A discontinuity has been encountered at position 0.0160625, seeked at position 0.033666666666666664
 API: current media element state tick event ratechange position 0.033666 seeking 1 internalSeek true rebuffering true freezing false ended false paused true playbackRate 0 readyState 1 pendingPosition null
 API: current playback timeline:

^0.033666 
ratechange
 SI: synchronizing unknown buffered ranges: 
 SI: synchronizing audio buffered ranges: 0.016-1.936
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 API: current media element state tick event internal-seeking position 0.033666 seeking 1 internalSeek true rebuffering true freezing false ended false paused true playbackRate 0 readyState 1 pendingPosition null
 API: current playback timeline:

^0.033666 
seeking
 SI: synchronizing unknown buffered ranges: 
 SI: synchronizing audio buffered ranges: 0.016-1.936
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 0-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 0-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: updating timestampOffset video/mp4;codecs="avc1.640029" 0 -1737523798.0883334
 SBI: setting `appendWindowEnd` 5583.46
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 0-1.92
 ABR: New last stable representation 2671200
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 1.92-1.92
 XHR: Sending GET 
 DRM: Updating MediaKeySession with message
 DRM: MediaKeySession update succeeded.
 DRM: Updating MediaKeySession with message
 DRM: MediaKeySession update succeeded.
 DRM: keystatuseschange event received ksidD3988060
 DRM: key status update (019465fa6b8b442798ff7d1f0112392b): usable
 DRM: key status update (0e98a92b6b8b442798ff7d1f0112392b): usable
 DRM: key status update (b95065fa6b8b442798ff7d1f0112392b): usable
 DRM: key status update (faa5a943ba8b442798ff7d1f0112392b): usable
 Decipherability changed for "audio_112034_cze=112000" (112000) true
 Decipherability changed for "video=443600" (443600) true
 Decipherability changed for "video=648000" (648000) true
 Decipherability changed for "video=1066800" (1066800) true
 Decipherability changed for "video=1444800" (1444800) true
 Decipherability changed for "video=2671200" (2671200) true
 DRM: keystatuseschange event received ksid7E75A30B
 DRM: key status update (019465fa6b8b442798ff7d1f0112392b): usable
 DRM: key status update (0e98a92b6b8b442798ff7d1f0112392b): usable
 DRM: key status update (b95065fa6b8b442798ff7d1f0112392b): usable
 DRM: key status update (faa5a943ba8b442798ff7d1f0112392b): usable
 SI: first segment pushed video 0 1.92
 SI: synchronizing video buffered ranges: 0.08-2
 SI: found true buffered start video 0.08 0
 SI: found true buffered end video 2 1.92
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 12000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 6045136.782153352
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 1.92-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 1.92-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 1.92-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
 XHR: Sending GET 
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 3.84-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. video 1.92 1.92
 SI: synchronizing video buffered ranges: 0.08-3.92
 SI: found true buffered end video 3.92 3.84
 SI: current video inventory timeline:
0.08|A|3.84
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 7539016.671995189
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. audio 1.9360625 1.936
 SI: synchronizing audio buffered ranges: 0.016-3.856
 SI: found true buffered end audio 3.856 3.8560625
 SI: current audio inventory timeline:
0.02|A|3.86
[A] P: 1 || R: audio_112034_cze=112000(112000)
 API: current media element state tick event seeked position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 0 readyState 3 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==3.78==|3.86
         ^0 
seeked
 SI: synchronizing video buffered ranges: 0.08-3.92
 SI: current video inventory timeline:
0.08|A|3.92
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-3.856
 SI: current audio inventory timeline:
0.02|A|3.86
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: Resume playback speed 1
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event canplay position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==3.78==|3.86
         ^0 
canplay
 SI: synchronizing video buffered ranges: 0.08-3.92
 SI: current video inventory timeline:
0.08|A|3.92
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-3.856
 SI: current audio inventory timeline:
0.02|A|3.86
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
 API: current media element state tick event ratechange position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==3.78==|3.86
         ^0 
ratechange
 SI: synchronizing video buffered ranges: 0.08-3.92
 SI: current video inventory timeline:
0.08|A|3.92
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-3.856
 SI: current audio inventory timeline:
0.02|A|3.86
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 SI: Pushing segment strictly after previous one. audio 3.8560625 3.856
 SI: synchronizing audio buffered ranges: 0.016-5.776
 SI: found true buffered end audio 5.776 5.7760625
 SI: current audio inventory timeline:
0.02|A|5.78
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 3.84-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 3.84-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 3.84-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
 XHR: Sending GET 
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
 XHR: Sending GET 
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. audio 5.7760625 5.7760625
 SI: synchronizing audio buffered ranges: 0.016-7.696
 SI: found true buffered end audio 7.696 7.6960625
 SI: current audio inventory timeline:
0.02|A|7.70
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
 SI: Segment pushed updates end of previous one video 3.84 5.76 1.92 3.92
 SI: synchronizing video buffered ranges: 0.08-5.84
 SI: calculating buffered end of contiguous segment video 3.84 3.84
 SI: found true buffered end video 5.84 5.76
 SI: current video inventory timeline:
0.08|A|5.76
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 10339842.677185562
 SI: Pushing segment strictly after previous one. audio 7.6960625 7.6960625
 SI: synchronizing audio buffered ranges: 0.016-9.616
 SI: found true buffered end audio 9.616 9.6160625
 SI: current audio inventory timeline:
0.02|A|9.62
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. video 5.76 5.76
 SI: synchronizing video buffered ranges: 0.08-7.76
 SI: found true buffered end video 7.76 7.68
 SI: current video inventory timeline:
0.08|A|7.68
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 12243418.46627319
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
 XHR: Sending GET 
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
 XHR: Sending GET 
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. audio 9.6160625 9.6160625
 SI: synchronizing audio buffered ranges: 0.016-11.536
 SI: found true buffered end audio 11.536 11.5360625
 SI: current audio inventory timeline:
0.02|A|11.54
[A] P: 1 || R: audio_112034_cze=112000(112000)
 SI: Pushing segment strictly after previous one. video 7.68 7.68
 SI: synchronizing video buffered ranges: 0.08-9.68
 SI: found true buffered end video 9.68 9.6
 SI: current video inventory timeline:
0.08|A|9.60
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 13766916.513802303
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
 SI: Pushing segment strictly after previous one. audio 11.5360625 11.5360625
 SI: synchronizing audio buffered ranges: 0.016-13.456
 SI: found true buffered end audio 13.456 13.4560625
 SI: current audio inventory timeline:
0.02|A|13.46
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. video 9.6 9.6
 SI: synchronizing video buffered ranges: 0.08-11.6
 SI: found true buffered end video 11.6 11.52
 SI: current video inventory timeline:
0.08|A|11.52
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 14735628.37527704
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
 XHR: Sending GET 
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
 XHR: Sending GET 
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. video 11.52 11.52
 SI: synchronizing video buffered ranges: 0.08-13.52
 SI: found true buffered end video 13.52 13.44
 SI: current video inventory timeline:
0.08|A|13.44
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 15327893.469127117
 SI: Pushing segment strictly after previous one. audio 13.4560625 13.4560625
 SI: synchronizing audio buffered ranges: 0.016-15.376
 SI: found true buffered end audio 15.376 15.3760625
 SI: current audio inventory timeline:
0.02|A|15.38
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
 XHR: Sending GET 
 SI: Pushing segment strictly after previous one. audio 15.3760625 15.3760625
 SI: synchronizing audio buffered ranges: 0.016-17.296
 SI: found true buffered end audio 17.296 17.296062499999998
 SI: current audio inventory timeline:
0.02|A|17.30
[A] P: 1 || R: audio_112034_cze=112000(112000)
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
 XHR: Sending GET 
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
 SI: Pushing segment strictly after previous one. audio 17.2960625 17.296062499999998
 SI: synchronizing audio buffered ranges: 0.016-19.216
 SI: found true buffered end audio 19.216 19.2160625
 SI: current audio inventory timeline:
0.02|A|19.22
[A] P: 1 || R: audio_112034_cze=112000(112000)
 SI: Pushing segment strictly after previous one. video 13.44 13.44
 SI: synchronizing video buffered ranges: 0.08-15.44
 SI: found true buffered end video 15.44 15.36
 SI: current video inventory timeline:
0.08|A|15.36
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 16364836.048941704
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
 XHR: Sending GET 
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==17.28==|17.36
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-17.36
 SI: current video inventory timeline:
0.08|A|15.36
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-19.216
 SI: current audio inventory timeline:
0.02|A|19.22
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 17902761.17288115
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 SI: Pushing segment strictly after previous one. video 15.36 15.36
 SI: synchronizing video buffered ranges: 0.08-17.36
 SI: found true buffered end video 17.36 17.28
 SI: current video inventory timeline:
0.08|A|17.28
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
 SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
 XHR: Sending GET 
 SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
 XHR: Sending GET
 AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
 AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
 SBI: receiving order to push data to the SourceBuffer audio
 SBI: pushing segment audio
 SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
 RS: current discontinuity encountered audio 0.016
 SI: Pushing segment strictly after previous one. audio 19.2160625 19.216
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: found true buffered end audio 21.136 21.1360625
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 SI: Pushing segment strictly after previous one. video 17.28 17.28
 SI: synchronizing video buffered ranges: 0.08-19.28
 SI: found true buffered end video 19.28 19.200000000000003
 SI: current video inventory timeline:
0.08|A|19.20
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 18719035.144993447
 AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
 AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
 SBI: receiving order to push data to the SourceBuffer video
 SBI: pushing segment video
 SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
 RS: current discontinuity encountered video 0.08
 SI: Segment pushed updates end of previous one video 19.2 21.119999999999997 17.28 19.200000000000003
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: calculating buffered end of contiguous segment video 19.2 19.2
 SI: found true buffered end video 21.2 21.119999999999997
 SI: current video inventory timeline:
0.08|A|21.12
[A] P: 1 || R: video=2671200(2671200)
 ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 Stream: new video bitrate estimate 19790703.23156118
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.033666666666666664
 API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
 SI: synchronizing video buffered ranges: 0.08-21.2
 SI: current video inventory timeline:
0.08|A|21.20
[A] P: 1 || R: video=2671200(2671200)
 SI: synchronizing audio buffered ranges: 0.016-21.136
 SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
 RS: current discontinuity encountered audio 0.016
 ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
 RS: current discontinuity encountered video 0.08
 Init: let rebuffering happen as we're awaiting a future position
 SB: Aborting SegmentSink audio
 AVSB: Calling `dispose` on the SourceBufferInterface
 SB: Aborting SegmentSink video
 AVSB: Calling `dispose` on the SourceBufferInterface
 HTD: Stopping HTMLTextDisplayer
 Init: Clearing HTMLMediaElement's src
 Init: Revoking previous URL
 Locking `contentLock` to clean-up the current content.
 DRM: Clearing-up DRM session.
 DRM: closing all current sessions.
 DRM-LSS: Closing all current MediaKeySessions 2
 DRM: Trying to close a MediaKeySession ksidD3988060
 DRM: Trying to close a MediaKeySession ksid7E75A30B
 API: playerStateChange event STOPPED
2 DRM: Succeeded to close MediaKeySession
 API: DRM session cleaned-up with success!
 Unlocking `contentLock`. Next content can begin.
 DRM-LSS: session was closed, removing it. ksidD3988060
 DRM-LSS: session was closed, removing it. ksid7E75A30B
@peaBerberian
Copy link
Collaborator

Hi,

It looks like something that was recently fixed by Florent (#1586).

Can you re-check with our last development build: 4.3.0-dev.2025011000?

@TomaszKowalik
Copy link
Author

TomaszKowalik commented Jan 24, 2025

Unfortunately, that version fails in the same manner :(

API: Calling loadvideo 
API: Initializing MediaSource mode in the main thread
XHR: Sending GET 
Locking `contentLock` to clean-up the current content.
DRM: Clearing-up DRM session.
API: current media element state tick event init position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition undefined
API: playerStateChange event LOADING
DRM: Nothing to clear. Returning right away. No state = true
API: DRM session cleaned-up with success!
Unlocking `contentLock`. Next content can begin.
Init: Creating ContentDecryptor
DRM: Starting ContentDecryptor logic.
DRM: Searching for compatible MediaKeySystemAccess
DRM: Request keysystem access com.widevine.alpha,1 of 1
DRM: Found compatible keysystem com.widevine.alpha 1
DRM: Calling createMediaKeys on the MediaKeySystemAccess
DRM: MediaKeys created with success
DRM: Waiting for attachment.
Init: Creating MediaSource
MTCI: Attaching MediaSource URL to the media element
Init: MediaSource opened
DRM: disabling MediaKeys attachment lock. Ready for content
DRM: Attaching current MediaKeys
DRM: Attaching MediaKeys to the media element
Compat: MediaKeys updated with success
DRM: MediaKeys attached with success
DRM: Setting server certificate on the MediaKeys
DASH: WASM MPD Parser not initialized. Running JS one.
MF: Manifest parsed in 65.94999999998254ms
Init: Calculating initial time
Init: starting at the minimum available position: 0.0160625
Init: Initial time calculated: 0.0160625
HTD: Creating HTMLTextDisplayer
API: current media element state tick event manual position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition 0.0160625
API: current playback timeline:

^0 
manual
Init: Resume playback speed 1
Init: Updating duration 5583.36
Stream: Creating new Stream for video 0
Stream: Creating new Stream for audio 0
Stream: Creating new Stream for text 0
Stream: Updating audio adaptation A: 1 P: 0
SB: Adding native SegmentSink with codec audio/mp4;codecs="mp4a.40.2"
AVSB: calling `mediaSource.addSourceBuffer` audio/mp4;codecs="mp4a.40.2"
Stream: Updating video adaptation A: 2 P: 0
SB: Adding native SegmentSink with codec video/mp4;codecs="avc1.640029"
AVSB: calling `mediaSource.addSourceBuffer` video/mp4;codecs="avc1.640029"
Stream: Set no text Adaptation. P: 0
ABR: Creating new BandwidthEstimator for  audio
Stream: changing representation audio audio_112034_cze=112000 112000
Stream: Creating RepresentationStream audio 112000
DRM: processing init data audio 112000 faa5a943ba8b442798ff7d1f0112392b
SQ: Media segments now need to be requested. Starting queue. audio 11
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
XHR: Sending GET 
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
XHR: Sending GET 
ABR: Creating new BandwidthEstimator for  video
ABR: Steps for buffer based chooser. bufferLevel: 4, bitrate: 443600 ,bufferLevel: 10.977812352898297, bitrate: 648000 ,bufferLevel: 15.768625495879393, bitrate: 1066800 ,bufferLevel: 20.379275181999056, bitrate: 1444800 ,bufferLevel: 25.228550439079054, bitrate: 2671200
ABR: enter starvation mode.
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
ABR: Steps for buffer based chooser. bufferLevel: 4, bitrate: 443600 ,bufferLevel: 10.977812352898297, bitrate: 648000 ,bufferLevel: 15.768625495879393, bitrate: 1066800 ,bufferLevel: 20.379275181999056, bitrate: 1444800 ,bufferLevel: 25.228550439079054, bitrate: 2671200
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
Stream: changing representation video video=1444800 1444800
Stream: Creating RepresentationStream video 1444800
SQ: Media segments now need to be requested. Starting queue. video 11
SF: Beginning request video P: 1 A: 2 R: video=1444800 S: 0-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=1444800 S: init
XHR: Sending GET 
DRM: Creating a new temporary session
DRM-LSS: calling `createSession` temporary
DRM-LSS: MediaKeySession added temporary 1
DRM: Binding session events 
DRM: transmitting current keystatuses 
DRM: processing init data video 1444800 b95065fa6b8b442798ff7d1f0112392b
Compat: Calling generateRequest on the MediaKeySession
Compat: Trying to move CENC PSSH from init data at the end of it.
DRM: Creating a new temporary session
DRM-LSS: calling `createSession` temporary
DRM-LSS: MediaKeySession added temporary 2
DRM: Binding session events 
DRM: transmitting current keystatuses 
Compat: Calling generateRequest on the MediaKeySession
Compat: Trying to move CENC PSSH from init data at the end of it.
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SQ: no more init segment to request. Cancelling queue. audio
SF: Segment request cancelled audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
ABR: New last stable representation 112000
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 0.0160625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: init
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=1444800 S: init
AVSB: pushing segment video video P: 1 A: 2 R: video=1444800 S: init
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SQ: no more init segment to request. Cancelling queue. video
SF: Segment request cancelled video P: 1 A: 2 R: video=1444800 S: init
SF: Segment request ended with success video P: 1 A: 2 R: video=1444800 S: init
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 0 pendingPosition 0.0160625
API: current playback timeline:

^0 
timeupdate
2SI: synchronizing unknown buffered ranges: 
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
SBI: updating timestampOffset audio/mp4;codecs="mp4a.40.2" 0 -1737523798.0883334
SBI: setting `appendWindowEnd` 5583.46
SBI: pushing segment audio
2SI: synchronizing unknown buffered ranges: 
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 9000
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
DRM: Received message event, type license-request initialdrmsessionid
DRM: Calling `getLicense` license-request
DRM: Received message event, type license-request ksid342943C5
DRM: Calling `getLicense` license-request
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=1444800 S: 0-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=1444800 S: 0-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: updating timestampOffset video/mp4;codecs="avc1.640029" 0 -1737523798.0883334
SBI: setting `appendWindowEnd` 5583.46
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=1444800 S: 0-1.92
ABR: New last stable representation 1444800
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=1444800 S: 1.92-1.92
XHR: Sending GET 
API: current media element state tick event loadedmetadata position 0 seeking 0 internalSeek false rebuffering false freezing false ended false paused true playbackRate 1 readyState 1 pendingPosition 0.0160625
API: current playback timeline:

^0 
loadedmetadata
SI: synchronizing unknown buffered ranges: 
SI: synchronizing unknown buffered ranges: 0.016-1.936
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
Stream: new video bitrate estimate 3313392.3918707916
API: Seeking internally 0.0160625
SI: first segment pushed audio 0.0160625 1.9360625
SI: synchronizing audio buffered ranges: 0.016-1.936
SI: found true buffered start audio 0.016 0.0160625
SI: found true buffered end audio 1.936 1.9360625
API: current media element state tick event internal-seeking position 0.016062 seeking 1 internalSeek true rebuffering true freezing false ended false paused true playbackRate 1 readyState 1 pendingPosition null
API: current playback timeline:
0.08|==0.52==|0.60
         ^0.016062 
seeking
SI: synchronizing unknown buffered ranges: 0.08-0.6
SI: synchronizing audio buffered ranges: 0.016-1.936
API: Sending warning: MediaError: MEDIA_TIME_BEFORE_MANIFEST: The current position is behind the earliest time announced in the Manifest.
    at Object.t.listen.includeLastObservation 
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
Init: Pause playback to build buffer
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 1.9360625-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
XHR: Sending GET 
API: current media element state tick event ratechange position 0.016062 seeking 1 internalSeek true rebuffering true freezing false ended false paused true playbackRate 0 readyState 1 pendingPosition null
API: current playback timeline:
0.08|==1.16==|1.24
         ^0.016062 
ratechange
SI: synchronizing unknown buffered ranges: 0.08-1.24
SI: synchronizing audio buffered ranges: 0.016-1.936
API: Sending warning: MediaError: MEDIA_TIME_BEFORE_MANIFEST: The current position is behind the earliest time announced in the Manifest.
    at Object.t.listen.includeLastObservation [as trigger] 
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 3.8560625-1.92
SBI: pushing segment audio
SI: Pushing segment strictly after previous one. audio 1.9360625 1.936
SI: synchronizing audio buffered ranges: 0.016-3.856
SI: found true buffered end audio 3.856 3.8560625
SI: current audio inventory timeline:
0.02|A|3.86
[A] P: 1 || R: audio_112034_cze=112000(112000)
SI: first segment pushed video 0 1.92
SI: synchronizing video buffered ranges: 0.08-2
SI: found true buffered start video 0.08 0
SI: found true buffered end video 2 1.92
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 12000
ABR: Choosing representation with bandwidth estimation. 1444800 video=1444800
DRM: Updating MediaKeySession with message
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=1444800 S: 1.92-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=1444800 S: 1.92-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=1444800 S: 1.92-1.92
SF: Beginning request video P: 1 A: 2 R: video=1444800 S: 3.84-1.92
XHR: Sending GET 
DRM: MediaKeySession update succeeded.
SI: Pushing segment strictly after previous one. audio 3.8560625 3.8560625
SI: synchronizing audio buffered ranges: 0.016-5.776
SI: found true buffered end audio 5.776 5.7760625
SI: current audio inventory timeline:
0.02|A|5.78
[A] P: 1 || R: audio_112034_cze=112000(112000)
DRM: keystatuseschange event received ksid342943C5
DRM: key status update (019465fa6b8b442798ff7d1f0112392b): usable
DRM: key status update (0e98a92b6b8b442798ff7d1f0112392b): usable
DRM: key status update (b95065fa6b8b442798ff7d1f0112392b): usable
DRM: key status update (faa5a943ba8b442798ff7d1f0112392b): usable
Decipherability changed for "audio_112034_cze=112000" (112000) true
Decipherability changed for "video=443600" (443600) true
Decipherability changed for "video=648000" (648000) true
Decipherability changed for "video=1066800" (1066800) true
Decipherability changed for "video=1444800" (1444800) true
Decipherability changed for "video=2671200" (2671200) true
SI: Pushing segment strictly after previous one. video 1.92 1.92
SI: synchronizing video buffered ranges: 0.08-3.92
SI: found true buffered end video 3.92 3.84
SI: current video inventory timeline:
0.08|A|3.84
[A] P: 1 || R: video=1444800(1444800)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 4930088.260102305
Stream: slow Representation switch video
RS: current discontinuity encountered video 0.08
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=1444800 S: 3.84-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=1444800 S: 3.84-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=1444800 S: 3.84-1.92
RS: current discontinuity encountered video 0.08
Stream: No request left, terminate video
Stream: changing representation video video=2671200 2671200
Stream: Creating RepresentationStream video 2671200
DRM: processing init data video 2671200 b95065fa6b8b442798ff7d1f0112392b
DRM-LSS: Reusing session: ksid342943C5 temporary
DRM: Init data already processed. Skipping it.
RS: current discontinuity encountered video 0.08
SQ: Media segments now need to be requested. Starting queue. video 8
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: init
XHR: Sending GET 
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 5.7760625-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
XHR: Sending GET 
API: current media element state tick event seeked position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 0 readyState 3 pendingPosition 0.0160625
API: current playback timeline:
0.08|==5.16==|5.24
         ^0 
seeked
SI: synchronizing video buffered ranges: 0.08-5.24
SI: current video inventory timeline:
0.08|A|3.84
[A] P: 1 || R: video=1444800(1444800)
SI: synchronizing audio buffered ranges: 0.016-5.776
SI: current audio inventory timeline:
0.02|A|5.78
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 6008246.016255117
RS: current discontinuity encountered video 0.08
Init: Resume playback speed 1
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event canplay position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 3 pendingPosition 0.0160625
API: current playback timeline:
0.08|==5.16==|5.24
         ^0 
canplay
SI: synchronizing video buffered ranges: 0.08-5.24
SI: current video inventory timeline:
0.08|A|3.84
[A] P: 1 || R: video=1444800(1444800)
SI: synchronizing audio buffered ranges: 0.016-5.776
SI: current audio inventory timeline:
0.02|A|5.78
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: init
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: init
SBI: receiving order to push data to the SourceBuffer video
RS: current discontinuity encountered video 0.08
SQ: no more init segment to request. Cancelling queue. video
SF: Segment request cancelled video P: 1 A: 2 R: video=2671200 S: init
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: init
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 7.6960625-1.92
API: current media element state tick event ratechange position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==5.76==|5.84
         ^0 
ratechange
SI: synchronizing video buffered ranges: 0.08-5.84
SI: current video inventory timeline:
0.08|A|3.84
[A] P: 1 || R: video=1444800(1444800)
SI: synchronizing audio buffered ranges: 0.016-7.696
SI: current audio inventory timeline:
0.02|A|5.78
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Init: let rebuffering happen as we're awaiting a future position
SBI: pushing segment audio
SI: Pushing segment strictly after previous one. audio 5.7760625 5.776
SI: synchronizing audio buffered ranges: 0.016-7.696
SI: found true buffered end audio 7.696 7.6960625
SI: current audio inventory timeline:
0.02|A|7.70
[A] P: 1 || R: audio_112034_cze=112000(112000)
SBI: updating timestampOffset video/mp4;codecs="avc1.640029" -1737523798.0883334 0
SBI: re-setting `appendWindowEnd` to `Infinity`
SBI: pushing segment video
SI: Pushing segment strictly after previous one. video 3.84 3.84
SI: synchronizing video buffered ranges: 0.08-5.84
SI: found true buffered end video 5.84 5.76
SI: current video inventory timeline:
0.08|A|5.76
[A] P: 1 || R: video=1444800(1444800)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
SI: Pushing segment strictly after previous one. audio 7.6960625 7.6960625
SI: synchronizing audio buffered ranges: 0.016-9.616
SI: found true buffered end audio 9.616 9.6160625
SI: current audio inventory timeline:
0.02|A|9.62
[A] P: 1 || R: audio_112034_cze=112000(112000)
SI: synchronizing video buffered ranges: 0.08-5.84
SI: current video inventory timeline:
0.08|A|5.84
[A] P: 1 || R: video=1444800(1444800)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: updating timestampOffset video/mp4;codecs="avc1.640029" 0 -1737523798.0883334
SBI: setting `appendWindowEnd` 5583.46
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 5.76-1.92
ABR: New last stable representation 2671200
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
XHR: Sending GET 
SI: Segment pushed updates end of previous one video 5.76 7.68 3.84 5.84
SI: synchronizing video buffered ranges: 0.08-7.76
SI: calculating buffered end of contiguous segment video 5.76 5.76
SI: found true buffered end video 7.76 7.68
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|7.68
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 8041453.744817321
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 7.68-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
XHR: Sending GET 
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 9.6160625-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
XHR: Sending GET 
SI: Pushing segment strictly after previous one. audio 9.6160625 9.6160625
SI: synchronizing audio buffered ranges: 0.016-11.536
SI: found true buffered end audio 11.536 11.5360625
SI: current audio inventory timeline:
0.02|A|11.54
[A] P: 1 || R: audio_112034_cze=112000(112000)
SI: Pushing segment strictly after previous one. video 7.68 7.68
SI: synchronizing video buffered ranges: 0.08-9.68
SI: found true buffered end video 9.68 9.6
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|9.60
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 9940416.14955063
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 11.5360625-1.92
SI: Pushing segment strictly after previous one. audio 11.5360625 11.5360625
SI: synchronizing audio buffered ranges: 0.016-13.456
SI: found true buffered end audio 13.456 13.4560625
SI: current audio inventory timeline:
0.02|A|13.46
[A] P: 1 || R: audio_112034_cze=112000(112000)
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 9.6-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
XHR: Sending GET 
DRM: Updating MediaKeySession with message
DRM: MediaKeySession update succeeded.
DRM: keystatuseschange event received initialdrmsessionid
DRM: key status update (019465fa6b8b442798ff7d1f0112392b): usable
DRM: key status update (0e98a92b6b8b442798ff7d1f0112392b): usable
DRM: key status update (b95065fa6b8b442798ff7d1f0112392b): usable
DRM: key status update (faa5a943ba8b442798ff7d1f0112392b): usable
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
SBI: receiving order to push data to the SourceBuffer video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
XHR: Sending GET 
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
XHR: Sending GET 
SBI: pushing segment video
SI: Pushing segment strictly after previous one. video 9.6 9.6
SI: synchronizing video buffered ranges: 0.08-11.6
SI: found true buffered end video 11.6 11.52
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|11.52
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 11098177.420044784
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 13.4560625-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
XHR: Sending GET 
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 15.3760625-1.92
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
XHR: Sending GET 
SBI: pushing segment audio
SI: Pushing segment strictly after previous one. audio 13.4560625 13.4560625
SI: synchronizing audio buffered ranges: 0.016-15.376
SI: found true buffered end audio 15.376 15.3760625
SI: current audio inventory timeline:
0.02|A|15.38
[A] P: 1 || R: audio_112034_cze=112000(112000)
SI: Pushing segment strictly after previous one. video 11.52 11.52
SI: synchronizing video buffered ranges: 0.08-13.52
SI: found true buffered end video 13.52 13.44
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|13.44
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 17.2960625-1.92
SBI: pushing segment audio
SI: Pushing segment strictly after previous one. audio 15.3760625 15.3760625
SI: synchronizing audio buffered ranges: 0.016-17.296
SI: found true buffered end audio 17.296 17.296062499999998
SI: current audio inventory timeline:
0.02|A|17.30
[A] P: 1 || R: audio_112034_cze=112000(112000)
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 13.44-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
XHR: Sending GET 
SI: Pushing segment strictly after previous one. audio 17.2960625 17.296062499999998
SI: synchronizing audio buffered ranges: 0.016-19.216
SI: found true buffered end audio 19.216 19.2160625
SI: current audio inventory timeline:
0.02|A|19.22
[A] P: 1 || R: audio_112034_cze=112000(112000)
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==13.64==|13.72
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-13.72
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|13.72
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-19.216
SI: current audio inventory timeline:
0.02|A|19.22
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 11517208.3326532
Stream: The end of the wanted segment has been garbage collected 13.72 13.52
RS: current discontinuity encountered video 0.08
SQ: Next media segment changed, cancelling previous video
SF: Beginning request audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
XHR: Sending GET 
SF: Segment request cancelled video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
XHR: Sending GET 
Init: let rebuffering happen as we're awaiting a future position
SF: Segment request aborted video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
AVSB: receiving order to push data to the SourceBuffer audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
AVSB: pushing segment audio audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
SBI: receiving order to push data to the SourceBuffer audio
SBI: pushing segment audio
SF: Segment request ended with success audio P: 1 A: 1 R: audio_112034_cze=112000 S: 19.2160625-1.92
RS: current discontinuity encountered audio 0.016
SI: Pushing segment strictly after previous one. audio 19.2160625 19.216
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: found true buffered end audio 21.136 21.1360625
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
SBI: receiving order to push data to the SourceBuffer video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 11.52-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
XHR: Sending GET 
SBI: pushing segment video
SI: Segment pushed updates end of previous one video 13.44 15.36 11.52 13.72
SI: synchronizing video buffered ranges: 0.08-15.44
SI: calculating buffered end of contiguous segment video 13.44 13.44
SI: found true buffered end video 15.44 15.36
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|15.36
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 12005774.554109957
SI: Segment pushed replace another one video 11.52 13.44 13.44
SI: synchronizing video buffered ranges: 0.08-15.44
SI: calculating buffered end of contiguous segment video 13.44 13.44
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|15.44
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 15.36-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
XHR: Sending GET 
SI: Segment pushed updates end of previous one video 15.36 17.28 13.44 15.44
SI: synchronizing video buffered ranges: 0.08-17.36
SI: calculating buffered end of contiguous segment video 15.36 15.36
SI: found true buffered end video 17.36 17.28
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|17.28
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 13647763.144527685
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 17.28-1.92
SF: Beginning request video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
XHR: Sending GET 
SI: Pushing segment strictly after previous one. video 17.28 17.28
SI: synchronizing video buffered ranges: 0.08-19.28
SI: found true buffered end video 19.28 19.200000000000003
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|19.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 14748526.22190479
AVSB: receiving order to push data to the SourceBuffer video video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
AVSB: pushing segment video video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
SBI: receiving order to push data to the SourceBuffer video
SBI: pushing segment video
SF: Segment request ended with success video P: 1 A: 2 R: video=2671200 S: 19.2-1.92
RS: current discontinuity encountered video 0.08
SI: Segment pushed updates end of previous one video 19.2 21.119999999999997 17.28 19.200000000000003
SI: synchronizing video buffered ranges: 0.08-21.2
SI: calculating buffered end of contiguous segment video 19.2 19.2
SI: found true buffered end video 21.2 21.119999999999997
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.12
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
ABR: Incrementing blocking raise in BufferBasedChooser due to unstable quality 15000
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
Stream: new video bitrate estimate 16004012.254312646
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
API: current media element state tick event timeupdate position 0 seeking 0 internalSeek false rebuffering true freezing false ended false paused true playbackRate 1 readyState 4 pendingPosition 0.0160625
API: current playback timeline:
0.08|==21.06==|21.14
          ^0 
timeupdate
SI: synchronizing video buffered ranges: 0.08-21.2
SI: current video inventory timeline:
0.08|A|5.76 ~ 5.76|B|21.20
[A] P: 1 || R: video=1444800(1444800)
[B] P: 1 || R: video=2671200(2671200)
SI: synchronizing audio buffered ranges: 0.016-21.136
SI: current audio inventory timeline:
0.02|A|21.14
[A] P: 1 || R: audio_112034_cze=112000(112000)
RS: current discontinuity encountered audio 0.016
ABR: Choosing representation with bandwidth estimation. 2671200 video=2671200
RS: current discontinuity encountered video 0.08
Init: let rebuffering happen as we're awaiting a future position
SB: Aborting SegmentSink audio
AVSB: Calling `dispose` on the SourceBufferInterface
SB: Aborting SegmentSink video
AVSB: Calling `dispose` on the SourceBufferInterface
HTD: Stopping HTMLTextDisplayer
Init: Clearing HTMLMediaElement's src
Init: Revoking previous URL
Locking `contentLock` to clean-up the current content.
DRM: Clearing-up DRM session.
API: playerStateChange event STOPPED
DRM: closing all current sessions.
DRM-LSS: Closing all current MediaKeySessions 2
DRM: Trying to close a MediaKeySession initialdrmsessionid
DRM: Trying to close a MediaKeySession ksid342943C5
2DRM: Succeeded to close MediaKeySession
API: DRM session cleaned-up with success!
Unlocking `contentLock`. Next content can begin.
DRM-LSS: session was closed, removing it. initialdrmsessionid
DRM-LSS: session was closed, removing it. ksid342943C5

peaBerberian added a commit that referenced this issue Jan 24, 2025
This is approximately the 9001th commit trying to work-around bugs
arising due to the fact that Tizen doesn't let us seek where we want to
seek in a misguided attempt to improve performance (which actually just
do the opposite here).

Here #1635 told us about yet another issue where playback doesn't begin
when there's a discontinuity right at the beginning. After looking at
communicated logs, I think this was because of a very unfortunate chain
of events:

  1. We begin to play a content with both audio and video segments
     (creating both an audio and video SourceBuffer) accordingly

  2. Audio segments are the first one to be loaded. We push them to the
     audio SourceBuffer

  3. The audio SourceBuffer later report to us that what it has buffered
     begins at `0.016`, not `0`.

     We have no problem with that. However Tizen seems to be more broken
     than we thought from our understanding of the HTML spec because
     then `HTMLMediaElement.prototype.buffered` also report data
     beginning at `0.016` despite the fact that video hasn't been
     currently be pushed in its own SourceBuffer (so to me the "global"
     `buffered` should be empty).

  4. Our `RebufferingController` sees that there's a discontinuity at
     `0.016` and thus seeks just over it.

  5. We're now pushing the first video segments. Because we're unlucky,
     they begin even later, at `0.08`.

  6. Now the "global" `buffered` speaks some sense: it is now the
     intersection of the audio and video SourceBuffers like we expect
     and thus it now begins at `0.08`

  7. Our `RebufferingController` do not skip that now updated
     discontinuity because it is still in the process of skipping the
     (actually-not-real) `0.016` one and because it knows we're on a
     device on which seeking is broken, so it just waits until Tizen
     has processed that first seek..

  8. Our `PlaybackObserver`, which gives its opinion on whether we
     should be paused to buffer content, sees that the target position
     is still `0.016` so start its logic from there. At `0.016`, there's
     no data (it begins at `0.08` now), so for it, we should still wait
     for segments to be loaded.

  9. Our "initial_seek_and_play" logic, which between other things
     perform the initial `play` call, thus see that for the
     `PlaybackObserver`, we should wait. It thus waits until the
     `PlaybackObserver` give the greenlight to start the content.

To fix this, I updated the behavior of the `RebufferingController` on
Tizen so that it continues checking for discontinuities even if we're
already waiting for one to be skipped.

I though had to not consider the currently-played position anymore but
actually the perhaps-different "target" position we should be playing if
the device wasn't as broken as Tizen is.

To note that this bug perhaps showed us another Tizen issue which is the
`buffered` thing (though perhaps I'm not up-to-date with the specs?). I
didn't fix it at this level because it's much harder.
peaBerberian added a commit that referenced this issue Jan 24, 2025
This is approximately the 9001th commit trying to work-around bugs
arising due to the fact that Tizen doesn't let us seek where we want to
seek in a misguided attempt to improve performance (which actually just
do the opposite here).

Here #1635 told us about yet another issue where playback doesn't begin
when there's a discontinuity right at the beginning. After looking at
communicated logs, I think this was because of a very unfortunate chain
of events:

  1. We begin to play a content with both audio and video segments
     (creating both an audio and video SourceBuffer) accordingly

  2. Audio segments are the first one to be loaded. We push them to the
     audio SourceBuffer

  3. The audio SourceBuffer later report to us that what it has buffered
     begins at `0.016`, not `0`.

     We have no problem with that. However Tizen seems to be more broken
     than we thought from our understanding of the HTML spec because
     then `HTMLMediaElement.prototype.buffered` also report data
     beginning at `0.016` despite the fact that video hasn't been
     currently be pushed in its own SourceBuffer (so to me the "global"
     `buffered` should be empty).

  4. Our `RebufferingController` sees that there's a discontinuity at
     `0.016` and thus seeks just over it.

  5. We're now pushing the first video segments. Because we're unlucky,
     they begin even later, at `0.08`.

  6. Now the "global" `buffered` speaks some sense: it is now the
     intersection of the audio and video SourceBuffers like we expect
     and thus it now begins at `0.08`

  7. Our `RebufferingController` do not skip that now updated
     discontinuity because it is still in the process of skipping the
     (actually-not-real) `0.016` one and because it knows we're on a
     device on which seeking is broken, so it just waits until Tizen
     has processed that first seek..

  8. Our `PlaybackObserver`, which gives its opinion on whether we
     should be paused to buffer content, sees that the target position
     is still `0.016` so start its logic from there. At `0.016`, there's
     no data (it begins at `0.08` now), so for it, we should still wait
     for segments to be loaded.

  9. Our "initial_seek_and_play" logic, which between other things
     perform the initial `play` call, thus see that for the
     `PlaybackObserver`, we should wait. It thus waits until the
     `PlaybackObserver` give the greenlight to start the content.

To fix this, I updated the behavior of the `RebufferingController` on
Tizen so that it continues checking for discontinuities even if we're
already waiting for one to be skipped.

I though had to not consider the currently-played position anymore but
actually the perhaps-different "target" position we should be playing if
the device wasn't as broken as Tizen is.

To note that this bug perhaps showed us another Tizen issue which is the
`buffered` thing (though perhaps I'm not up-to-date with the specs?). I
didn't fix it at this level because it's much harder.
@peaBerberian
Copy link
Collaborator

peaBerberian commented Jan 24, 2025

OK thank you, those logs have been instructive leading to the following fix attempt: #1637

Can you test it by updating in your package.json

"rx-player": "https://github.com/peaBerberian/rx-player/releases/download/autobuild.926473ff0067666ace41b0c0a530119c77edaa8f/rx-player.tgz"

And re-installing dependencies?

(It corresponds to a deploy of that development branch)

@TomaszKowalik
Copy link
Author

Fix seems to be working :) Couldnt reproduce it anymore

@JohnPaulHarold
Copy link

@TomaszKowalik which Tizen devices are you seeing this on?

@TomaszKowalik
Copy link
Author

TomaszKowalik commented Jan 27, 2025

@JohnPaulHarold On Tizen SmartTV 2022, but this issue doesn't occur with every stream; so far, we've observed it with a few replay streams, and they need to start from the beginning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants