Poor MSE performance on webOS 4

Hi, we have performance issues in our TV app that is using MSE/EME for playback on webOS 4.

We’re run some performance profiling and the app keeps running Major: GC every 5 seconds while playing back content. The duration for how long the app is stalled by this varies, but gets longer over time (after an hour of using the app, the main thread is blocked by GC for 4.8s every 5s).

This performance issue seem to affect all libraries built on MSE, we’ve tested hls.js/dash.js/shaka-player.

It can be reproduced with minimal code, requiring no playback libraries:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <video id="video"></video>
    <script>
        const video = document.getElementById('video');
        const mediaSource = new MediaSource();
        const objectUrl = URL.createObjectURL(mediaSource);
        video.src = objectUrl;
    </script>
</body>
</html>

I’ve come across a similar thread on this forum, but unfortunately it had no resolutions.

An issue has been raised to shaka-player, but it was concluded that this is a webOS 4 issue.

Is there any way to resolve this issue on webOS 4?

Thank you!

Please email us the following at developer@lge.com:

  • Test video showing the issue
  • Your app .ipk file
  • Steps to reproduce the issue

And the following information of your test device are also required. (You can check this in the Settings > General > About This TV.)

  • TV model name:
  • TV software version:
  • webOS TV version: (This can be found when you click the TV model name in the About This TV menu.)
  • Region: