Closed Bug 1647816 Opened 4 years ago Closed 4 years ago

MP4 fail to play in macOS Big Sur 11.0 Beta (20A4299v)

Categories

(Core :: Audio/Video: Playback, defect)

78 Branch
defect

Tracking

()

VERIFIED FIXED
mozilla79
Tracking Status
firefox-esr78 --- verified
firefox79 --- verified

People

(Reporter: github, Assigned: haik)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:78.0) Gecko/20100101 Firefox/78.0

Steps to reproduce:

  • Play any mp4 video (YouTube, Twitter videos/"gifs", most audio players, etc.)

Actual results:

  • On YouTube, an error message on the player
  • On Twitter, an error message on the media
  • Different results elsewhere, but always fails to play

Expected results:

  • Video plays

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

Can the video play in Chrome, Safari? Do non-mp4 media works? Are there any errors you can see in the Inspcect Element > Console?

  • The videos play in Chrome & Safari
  • There are a few errors in the console:

Media resource blob:https://www.youtube.com/023099cd-e0e8-d841-8b34-4e74db13db30 could not be decoded.

This error message will be blank when privacy.resistFingerprinting = true. If it is really necessary, please add it to the whitelist in MediaError::GetMessage: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session! base.js:6336:19

Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted. base.js:6331:33
Media resource blob:https://www.youtube.com/023099cd-e0e8-d841-8b34-4e74db13db30 could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005)

Details: mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session!

Media resource blob:https://www.youtube.com/d95bdcc8-a70e-b949-87ce-0bc393196b9b could not be decoded.

This error message will be blank when privacy.resistFingerprinting = true. If it is really necessary, please add it to the whitelist in MediaError::GetMessage: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session! base.js:6336:19

This error message will be blank when privacy.resistFingerprinting = true. If it is really necessary, please add it to the whitelist in MediaError::GetMessage: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session! base.js:6336:19

This error message will be blank when privacy.resistFingerprinting = true. If it is really necessary, please add it to the whitelist in MediaError::GetMessage: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session! base.js:6336:19

Failed to create WebGL context: WebGL creation failed:

  • tryNativeGL
  • Exhausted GL driver options.

I have the same problem on the Big Sur beta and FF nightly 79.01a. No web videos or audio work. Both work fine in Safari and Chrome. Sometimes videos will play but flicker and have no audio (youtube). The flickering seems to be related to user interaction/video overlays and controls. No errors in console

Same problem here.

Thanks for the report. This appears to be due to a sandboxing problem. Specifically, broken version checks for some of the rules. I'll work on verifying this is the problem and will try to have patches for review later today or tomorrow.

Our sandbox policies such as the content policy specified in SandboxPolicyContent.h only check the minor version of the OS when deciding whether or not to allow certain services including some video decoding services.

Assignee: nobody → haftandilian

(In reply to Tom Redman from comment #3)

Failed to create WebGL context: WebGL creation failed:

  • tryNativeGL
  • Exhausted GL driver options.

The WebGL failures don't appear to be related to the sandboxing version check issue and I've filed bug 1648836 to track the issue.

Fix the content and Flash sandbox policies to use the major and minor number for OS version checks allowing video playback to work properly on macOS 11 Big Sur.

Pass the macOS major and minor version to sandbox policies as a combined string.

Remove unused OSXVersion methods and members and more minor cleanup in Sandbox.mm.

Leave in the checks for unsupported versions (macOS 10.9 - 10.11) for now in case this fix needs to be uplifted.

Pushed by haftandilian@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5804ed97ca7c Make sandboxing OS version checks aware of major version r=spohl
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79

Thanks for the quick fix!
Any idea when this fix will go live?

Flags: needinfo?(haftandilian)

Any idea when this fix will go live?

It should be in today's Nightly, and will roll out in Firefox 79. Given that 78 releases tomorrow, I suspect we can't uplift it to there any more.

Flags: needinfo?(haftandilian)

(In reply to Gian-Carlo Pascutto [:gcp] from comment #13)

Any idea when this fix will go live?

It should be in today's Nightly, and will roll out in Firefox 79. Given that 78 releases tomorrow, I suspect we can't uplift it to there any more.

Alright, thanks for the feedback.
How long does it usually take for releases to get from the "nightly" to the "aurora" channel?

(In reply to oleg from comment #14)

Alright, thanks for the feedback.
How long does it usually take for releases to get from the "nightly" to the "aurora" channel?

The release cycle is 1 month. This fix went in at the end of the Nightly 79 cycle and should be in Beta (which is used for Developer Express and Aurora) within a few days (barring any unforeseen complications.) For more exact dates, see https://wiki.mozilla.org/Release_Management/Calendar

Fix works! In my case, brew upgrade firefox-developer-edition did the trick.

I've installed the update as well (79.0b1) and can also confirm that this fix has solved the issue.

Thanks a lot for the quick reaction guys!

Flags: qe-verify+

Closing the issue as verified based on comment 17 and comment 16. Thank you!

Status: RESOLVED → VERIFIED
Flags: qe-verify+

I'm still seeing this issue specifically on Twitter 'GIFs' in 79.0 - videos on other sites and even longer form video clips seem to work fine, but the ones marked GIF still exhibit the same symptom of error with associated mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session!" in the developer tools console. Here's specific example clip which Firefox 79.0 reports as corrupt:
https://video.twimg.com/tweet_video/EeH85dBU0AA3KQP.mp4
This video plays correctly in macOS 11.0b3's included Safari 14 Technical Preview.

User Agent: Firefox 79.0 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:79.0) Gecko/20100101 Firefox/79.0).

(In reply to michael.holmes from comment #19)

I'm still seeing this issue specifically on Twitter 'GIFs' in 79.0 - videos on other sites and even longer form video clips seem to work fine, but the ones marked GIF still exhibit the same symptom of error with associated mozilla::MediaResult mozilla::AppleVTDecoder::InitializeSession(): Couldn't create decompression session!" in the developer tools console. Here's specific example clip which Firefox 79.0 reports as corrupt:
https://video.twimg.com/tweet_video/EeH85dBU0AA3KQP.mp4
This video plays correctly in macOS 11.0b3's included Safari 14 Technical Preview.

User Agent: Firefox 79.0 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:79.0) Gecko/20100101 Firefox/79.0).

Thanks for the report. We have another bug filed for a similar problem (bug 1655655) and the fix appears to address the problem you're running into. With the fix for bug 1655655, the video you posted plays for me on 11.0 Beta 3 (20A5323l). Follow that bug for the most recent progress, but the fix is expected to be in Nightly tomorrow and then we'll consider getting it uplifted to Firefox Beta 80.

Comment on attachment 9159777 [details]
Bug 1647816 - Make sandboxing OS version checks aware of major version r?spohl!

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: This fix is required for some videos to play on Firefox on the new macOS version (11.0 Big Sur) expected to release within the next few months.
  • User impact if declined: Without the fix, some MP4 videos will fail to play on Firefox 78 ESR on the new macOS version (11.0 Big Sur) expected to release within the next few months. These videos are common on popular websites like YouTube and Twitter.
  • Fix Landed on Version: 79
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): The change is Mac-specific and small in scope. The changes are limited to Mac sandboxing OS version check code.
  • String or UUID changes made by this patch:
Attachment #9159777 - Flags: approval-mozilla-esr78?

Comment on attachment 9159777 [details]
Bug 1647816 - Make sandboxing OS version checks aware of major version r?spohl!

macOS Big Sur compat fix. Approved for 78.2esr.

Attachment #9159777 - Flags: approval-mozilla-esr78? → approval-mozilla-esr78+

Verified with 78.6.0esr (64-bit) on macOS 11.0.1; while the first Youtube links are dead; checking with others showed no issues(as mentioned ones), the item from comment 19 works as expected as well.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: