Playback control with MSE

dash.js player (client implementation for the playback of MPEG DASH via JavaScript and Media Source Extensions) proposed low-latency mode that can streaming video chunk and catch-up the live edge.
I tested this feature with web OS 3.8 and web OS 4.1.

On webOS3.8, dash.js cannot streaming data chunk with fetch API and source buffer throw MEDIA_ERR_DECODE error when chunk size is less than 1s.
On webOS4.1, dash.js can streaming data chunk and the source buffer handle chunk pre frame nicely. However, it is unable to catch-up. Dash.js set the video playback rate to ~1.5, but the video do not speed up. I tested playback rate with native player (mp4) and the playback rate works.

Sample of dash-if:
http://reference.dashif.org/dash.js/nightly/samples/low-latency/index.html
Step to trigger:

  1. pause the video a few second,
  2. resume to create live latency,
  3. dash.js will set the playbackRate to 1~1.5

Expected behavior: dash.js should speed up until the live latency catch-up with target delay (default: 3s)

Is there work around method to set playback rate with MSE on webOS 4.1?

Thank you.

2 Likes