I noticed InsufficientBufferRule message in the logs . [AbrController]: Switching quality ... Switch from bitrate 991.296 to bitrate 162.364. Reason: {"message":"[InsufficientBufferRule]: Limiting maximum bitrate to avoid a buffer underrun."} ... OnFragmentLoadingCompleted ... video_144p_108k_h264.mp4
Thank you for your question about DASH.js playback quality on Vega OS.
The issue is caused by DASH.js’s InsufficientBufferRule being too aggressive in downgrading video quality. From your logs, the ABR controller is switching to buffer-occupancy mode and limiting bitrate even when sufficient buffer exists:
[AbrController]: Switching quality ... Switch from bitrate 991.296 to bitrate 162.364.
Reason: {"message":"[InsufficientBufferRule]: Limiting maximum bitrate to avoid a buffer underrun."}
The default DASH.js configuration needs optimization for Vega OS. Update your DashJsPlayer.ts file by replacing lines 36-59 with this configuration:
Thank you for suggestion. Unfortunately this configuration doesn’t fix the issue. Here is the log file.
log (84.8 KB)
I can see some of the parameters added are not supported
Settings parameter streaming.abr.useBufferOccupancyABR is not supported
Settings parameter streaming.abr.ABRStrategy is not supported
Settings parameter streaming.abr.bandwidthSafetyFactor is not supported
Settings parameter streaming.abr.fastSwitchEnabled is not supported
Settings parameter streaming.buffer.stableBufferTime is not supported
[13038][AbrController] [AbrController]: Switching quality in period 0 for media type video. Switch from bitrate 4495.918 to bitrate 162.364. Current buffer level: 6.713. Reason:{"message":"[InsufficientBufferRule]: Limiting maximum bitrate to avoid a buffer underrun.","bitrate":null}