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

[iPadOS < 17] Can't find variable: ManagedMediaSource #7666

Closed
HokkanenTeemu opened this issue Nov 26, 2024 · 0 comments · Fixed by #7669 or #7597
Closed

[iPadOS < 17] Can't find variable: ManagedMediaSource #7666

HokkanenTeemu opened this issue Nov 26, 2024 · 0 comments · Fixed by #7669 or #7597
Assignees
Labels
platform: iOS Issues affecting iOS priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Milestone

Comments

@HokkanenTeemu
Copy link

Have you read the FAQ and checked for duplicate open issues?
Yes

If the problem is related to FairPlay, have you read the tutorial?

What version of Shaka Player are you using?

Issue was introduced in 4.12.0

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
Yes

Are you using the demo app or your own custom app?
Custom app

If custom app, can you reproduce the issue using our demo app?

What browser and OS are you using?

For embedded devices (smart TVs, etc.), what model and firmware version are you using?

What are the manifest and license server URIs?

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?

Default

What did you do?

On iPad with OS 16 or older:

  1. install polyfills
  2. create player instance
  3. try to play hls
shaka.polyfill.installAll()
const video = document.querySelector("video")
const player = new shaka.Player()
await player.attach(video)
await player.load(
  "https://demo.unified-streaming.com/k8s/features/stable/video/tears-of-steel/tears-of-steel.ism/.m3u8"
)

What did you expect to happen?
I expect the hls video to play

What actually happened?

Load fails with following error:
Unhandled Promise Rejection: ReferenceError: Can't find variable: ManagedMediaSource

This is because iPads with iPadOS 16 or older don't have ManagedMediaSource which is referenced here:

if (!this.video_ || !(this.mediaSource_ instanceof ManagedMediaSource)) {

This bug was introduced in a6cf9cb so versions before 4.12.0 are working. Workaround is to use older version like 4.11.4 or to use native hls.

Are you planning send a PR to fix it?
No

@HokkanenTeemu HokkanenTeemu added the type: bug Something isn't working correctly label Nov 26, 2024
@shaka-bot shaka-bot added this to the v4.13 milestone Nov 26, 2024
@avelad avelad added priority: P1 Big impact or workaround impractical; resolve before feature release platform: iOS Issues affecting iOS labels Nov 26, 2024
@avelad avelad closed this as completed in ff7c465 Nov 26, 2024
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Jan 25, 2025
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Jan 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
platform: iOS Issues affecting iOS priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
4 participants