Closed Bug 1907283 Opened 7 months ago Closed 5 months ago

DRM protected content doesn't play any longer

Categories

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

Firefox 128
Desktop
Windows
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: frfxtst, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0

Steps to reproduce:

Yesterday I tried to play a video on Netflix and also on AppleTV. In both cases it didn't work. The error says, that the browser doesn't support the playback of DRM protected content. DRM is enabled in FF prefs, it is not a private window.

A few days ago this worked without problems. I have upgrade to FF128 2 days ago. I assume, that the problem is connected to that upgrade.

In the meantime I have installed version 127.0.2 in parallel. In this version streaming of DRM content worked again like before. So it's obvious, that this problem was introduced in version 128.0.0.

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

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

Reporter, can you share about:support, and the version of the Widevide Content Decryption Module here (and if it is present at all): about:addons#plugins ?

Flags: needinfo?(frfxtst)
Severity: -- → S2
OS: Unspecified → Windows
Hardware: Unspecified → Desktop

Widevide v4.10.2710.0.

Do you need raw or text of about:support? Are you interested in a specific information? I'd like to post as few data as possible for privacy reasons.

Flags: needinfo?(frfxtst)

We only need Important modified preferences and the Media section (and even then, it's likely we only need the end, about content decryption modules).

You can also send the information privately to <alwu@mozilla.com> and/or <padenot@mozilla.com> (me).

Flags: needinfo?(frfxtst)

Here the sections you mentioned. Please let me know, if you need anything else.

{
"modifiedPreferences": {
"accessibility.typeaheadfind.flashBar": 0,
"browser.cache.disk.amount_written": 239724,
"browser.cache.disk.capacity": 1048576,
"browser.cache.disk.filesystem_reported": 1,
"browser.cache.disk.smart_size.first_run": false,
"browser.cache.disk.telemetry_report_ID": 71,
"browser.contentblocking.category": "strict",
"browser.download.useDownloadDir": false,
"browser.search.region": "DE",
"browser.sessionstore.upgradeBackup.latestBuildID": "20240704121409",
"browser.startup.homepage_override.mstone": "128.0",
"browser.startup.homepage_override.buildID": "20240704121409",
"browser.startup.homepage": "about:blank",
"browser.startup.page": 3,
"browser.toolbars.bookmarks.visibility": "always",
"browser.urlbar.resultBuckets": "{"children":[{"maxResultCount":1,"children":[{"group":"heuristicTest"},{"group":"heuristicExtension"},{"group":"heuristicSearchTip"},{"group":"heuristicOmnibox"},{"group":"heuristicUnifiedComplete"},{"group":"heuristicAutofill"},{"group":"heuristicTokenAliasEngine"},{"group":"heuristicFallback"}]},{"group":"extension","maxResultCount":5},{"flexChildren":true,"children":[{"flexChildren":true,"children":[{"flex":2,"group":"formHistory"},{"flex":4,"group":"remoteSuggestion"},{"flex":0,"group":"tailSuggestion"}],"flex":2},{"group":"general","flex":1}]}]}",
"browser.urlbar.tipShownCount.searchTip_onboard": 4,
"browser.urlbar.tipShownCount.searchTip_redirect": 4,
"browser.urlbar.timesBeforeHidingSuggestionsHint": 0,
"browser.urlbar.tabToSearch.onboard.interactionsLeft": 0,
"browser.urlbar.resultGroups": "{"children":[{"maxResultCount":1,"children":[{"group":"heuristicTest"},{"group":"heuristicExtension"},{"group":"heuristicSearchTip"},{"group":"heuristicOmnibox"},{"group":"heuristicEngineAlias"},{"group":"heuristicBookmarkKeyword"},{"group":"heuristicAutofill"},{"group":"heuristicPreloaded"},{"group":"heuristicTokenAliasEngine"},{"group":"heuristicFallback"}]},{"group":"extension","availableSpan":5},{"flexChildren":true,"children":[{"children":[{"flexChildren":true,"children":[{"flex":2,"group":"formHistory"},{"flex":4,"group":"remoteSuggestion"}]},{"group":"tailSuggestion"}],"flex":2},{"group":"generalParent","children":[{"availableSpan":3,"group":"inputHistory"},{"flexChildren":true,"children":[{"flex":1,"group":"remoteTab"},{"flex":2,"group":"general"},{"flex":2,"group":"aboutPages"},{"flex":1,"group":"preloaded"}]},{"group":"inputHistory"}],"flex":1}]}]}",
"browser.urlbar.quicksuggest.scenario": "history",
"browser.urlbar.quicksuggest.migrationVersion": 2,
"browser.urlbar.browser.search.widget.lastUsed": "2024-01-24T10:53:48.662Z",
"browser.urlbar.tipShownCount.tabToSearch": 60,
"doh-rollout.home-region": "DE",
"doh-rollout.balrog-migration-done": true,
"doh-rollout.disable-heuristics": true,
"doh-rollout.doneFirstRun": true,
"dom.forms.autocomplete.formautofill": true,
"dom.security.https_only_mode": true,
"dom.security.https_only_mode_ever_enabled": true,
"extensions.formautofill.creditCards.reauth.optout": "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECLKV9SPB9TqnBAjuX98HmQyZkA==",
"extensions.formautofill.creditCards.enabled": false,
"extensions.lastAppVersion": "128.0",
"font.internaluseonly.changed": true,
"gfx.crash-guard.wmfvpxvideo.deviceID": "0x3e91",
"gfx.crash-guard.d3d11layers.driverVersion": "24.20.100.6287",
"gfx.crash-guard.wmfvpxvideo.driverVersion": "24.20.100.6287",
"gfx.crash-guard.d3d11layers.deviceID": "0x3e91",
"gfx.crash-guard.d3d11layers.appVersion": "102.0.1",
"gfx.crash-guard.wmfvpxvideo.appVersion": "93.0",
"gfx.crash-guard.d3d11layers.feature-d2d": true,
"gfx.crash-guard.d3d11layers.feature-d3d11": true,
"gfx.crash-guard.status.d3d11layers": 2,
"gfx.crash-guard.status.wmfvpxvideo": 2,
"gfx.webrender.all.qualified.default": true,
"idle.lastDailyNotification": 1720639881,
"layers.mlgpu.sanity-test-failed": false,
"media.gmp-gmpopenh264.lastUpdate": 1694160003,
"media.gmp-manager.buildID": "20240704121409",
"media.gmp-gmpopenh264.lastDownloadFailReason": "Error: Failed downloading via ServiceRequest, status: 0, channelStatus: 2152398878, errorCode: 2, reason: error",
"media.gmp-gmpopenh264.version": "2.3.2",
"media.gmp-manager.lastCheck": 1720634845,
"media.gmp-widevinecdm.version": "4.10.2710.0",
"media.gmp-gmpopenh264.abi": "x86_64-msvc-x64",
"media.gmp-widevinecdm.lastDownloadFailReason": "Error: Failed downloading via ServiceRequest, status: 0, reason: error",
"media.gmp-gmpopenh264.hashValue": "b667086ed49579592d435df2b486fe30ba1b62ddd169f19e700cd079239747dd3e20058c285fa9c10a533e34f22b5198ed9b1f92ae560a3067f3e3feacc724f1",
"media.gmp-widevinecdm.hashValue": "59521f8c61236641b3299ab460c58c8f5f26fa67e828de853c2cf372f9614d58b9f541aae325b1600ec4f3a47953caacb8122b0dfce7481acfec81045735947d",
"media.gmp-widevinecdm.abi": "x86_64-msvc-x64",
"media.gmp-gmpopenh264.lastDownload": 1694160003,
"media.gmp-gmpopenh264.lastDownloadFailed": 1695753507,
"media.gmp-gmpopenh264.lastInstallStart": 1695753507,
"media.gmp-manager.lastEmptyCheck": 1720634845,
"media.gmp-widevinecdm.lastDownload": 1697221102,
"media.gmp-widevinecdm.lastDownloadFailed": 1670615537,
"media.gmp-widevinecdm.lastInstallStart": 1697221067,
"media.gmp-widevinecdm.lastUpdate": 1697221102,
"media.gmp.storage.version.observed": 1,
"media.hardware-video-decoding.failed": false,
"media.videocontrols.picture-in-picture.video-toggle.has-used": true,
"network.dns.disablePrefetch": true,
"network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation": true,
"network.http.speculative-parallel-limit": 0,
"network.predictor.cleaned-up": true,
"network.predictor.enabled": false,
"network.prefetch-next": false,
"network.trr.blocklist_cleanup_done": true,
"network.trr.custom_uri": "https://dns.quad9.net/dns-query",
"network.trr.mode": 2,
"network.trr.uri": "https://dns.quad9.net/dns-query",
"places.database.lastMaintenance": 1720553483,
"places.history.expiration.transient_current_max_pages": 104164,
"plugin.disable_full_page_plugin_for_types": "application/pdf",
"privacy.purge_trackers.last_purge": "1720639881252",
"privacy.purge_trackers.date_in_cookie_database": "0",
"privacy.sanitize.pending": "[{"id":"newtab-container","itemsToClear":[],"options":{}}]",
"privacy.socialtracking.notification.lastShown": "1571757065513",
"privacy.annotate_channels.strict_list.enabled": true,
"privacy.bounceTrackingProtection.hasMigratedUserActivationData": true,
"privacy.cpd.offlineApps": true,
"privacy.cpd.siteSettings": true,
"privacy.fingerprintingProtection": true,
"privacy.query_stripping.enabled": true,
"privacy.query_stripping.enabled.pbmode": true,
"privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2": true,
"privacy.sanitize.timeSpan": 0,
"privacy.socialtracking.notification.counter": 1,
"privacy.socialtracking.notification.enabled": false,
"privacy.trackingprotection.emailtracking.enabled": true,
"privacy.trackingprotection.enabled": true,
"privacy.trackingprotection.socialtracking.enabled": true,
"security.sandbox.plugin.tempDirSuffix": "{e4eb2c06-8ae9-439b-a473-328ce887605d}",
"security.oskeystore.test.label": "7a34c0da-f564-4a9c-b731-3b2063e5ca5f",
"security.oskeystore.test.encrypted": "a2Z+h/vo/BeSWMODRByS/WIJDeC0pXvrv9NpaX5ve18=",
"security.sandbox.content.tempDirSuffix": "{fd693581-8ec4-4444-8ed0-977c16bba25e}",
"security.remote_settings.crlite_filters.checked": 1656421562,
"security.remote_settings.intermediates.checked": 1656399892,
"security.sandbox.content.win32k-experiment.startupEnrollmentStatus": 2,
"services.sync.declinedEngines": "",
"signon.management.page.os-auth.optout": "MDIEEPgAAAAAAAAAAAAAAAAAAAEwFAYIKoZIhvcNAwcECG9JYnGhlOp/BAiEPKxhyGfa3A==",
"signon.importedFromSqlite": true,
"signon.usage.hasEntry": true,
"signon.usage.lastUsed": 1608139624,
"storage.vacuum.last.places.sqlite": 1718911090,
"storage.vacuum.last.content-prefs.sqlite": 1718650896,
"storage.vacuum.last.index": 2,
"ui.osk.debug.keyboardDisplayReason": "IKPOS: Touch screen not found."
},
"media": {
"codecSupportInfo": "H264 HW\nVP9 HW\nVP8 HW\nAV1 LACK_OF_EXTENSION\nHEVC NONE\nTheora NONE\nAAC NONE\nMP3 NONE\nOpus NONE\nVorbis NONE\nFLAC NONE\nWave NONE"
}
}

Flags: needinfo?(frfxtst)

Just confirmed 128 is working on my Windows 11 system. So likely not a broad issue.

testit, a regression range would be helpful. We have a tool that helps find these, you can try it out here https://mozilla.github.io/mozregression/.

(You can reuse a test profile here to save yourself the hassle of re-authenticating with Netflix on every new run.)

Hello, from you about:support, it shows that widevine and openh264 weren't downloaded correctly. But it's weird that your Firefox were trying to download them when updating to Fx128, because they aren't updated in Fx128, which means the download shouldn't be triggered.

Would you mind to retrigger download for them by following these steps? (1) going to about:addons (2) select Plugins (3) select gear icon on the top right (4) select Check for Update. After doing these steps, check if DRM playback is back to normal.

If not, then would you mind to follow more steps to help us capture a profiled result? (1) follow this instruction (2) after clicking start logging, then try those steps above to check for update for plugins (3) then go to the DRM website to reproduce the issue.

After doing that, you could either upload your profiled result here, or just send it to me (alwu@mozilla.com). Thank you so much.

Flags: needinfo?(frfxtst)

In addition, one possible reason of downloading failure is blocked by anti-virus application, so it's worth to turn the anti-virus off if the first downloading doesn't work.

Reviewing the prefs:

"media.gmp-widevinecdm.version": "4.10.2710.0",
"media.gmp-widevinecdm.lastDownloadFailReason": "Error: Failed downloading via ServiceRequest, status: 0, reason: error",
"media.gmp-widevinecdm.hashValue": "59521f8c61236641b3299ab460c58c8f5f26fa67e828de853c2cf372f9614d58b9f541aae325b1600ec4f3a47953caacb8122b0dfce7481acfec81045735947d",
"media.gmp-widevinecdm.abi": "x86_64-msvc-x64",
"media.gmp-widevinecdm.lastDownload": 1697221102,
"media.gmp-widevinecdm.lastDownloadFailed": 1670615537,
"media.gmp-widevinecdm.lastInstallStart": 1697221067,
"media.gmp-widevinecdm.lastUpdate": 1697221102,

lastInstallStart > lastDownloadFailed, so I think the lastDownloadFailReason is stale, and it should have actually installed the Widevine plugin successfully. You can confirm that the plugin really did install by going to about:support, finding "Profile Directory" / clicking on "Open Directory" next to it, finding the gmp-widevinecdm folder and checking that the 4.10.2710.0 subfolder has three files (widevine DLL, manifest and license).

I think we need a media profiler with logging enabled to see why exactly this is failing:

  1. Visit https://profiler.firefox.com/ to enable the Firefox profiler.
  2. Click on the new profiler icon drop down menu arrow in the task bar, and ensure Settings is set to Media.
  3. Go to about:logging and ensure Logging preset is set to Media and Logging to the Firefox profiler is selected.
  4. Click Start Logging.
  5. Reproduce the problem.
  6. Click on the profiler icon to stop profiling. When the new profile shows up, select Upload Local Profile and paste the given URL in the bug.

for follow up.

Blocks: media-triage
Severity: S2 → S3

(In reply to Alastor Wu [:alwu] from comment #8)

Hello, from you about:support, it shows that widevine and openh264 weren't downloaded correctly. But it's weird that your Firefox were trying to download them when updating to Fx128, because they aren't updated in Fx128, which means the download shouldn't be triggered.

Would you mind to retrigger download for them by following these steps? (1) going to about:addons (2) select Plugins (3) select gear icon on the top right (4) select Check for Update. After doing these steps, check if DRM playback is back to normal.

If not, then would you mind to follow more steps to help us capture a profiled result? (1) follow this instruction (2) after clicking start logging, then try those steps above to check for update for plugins (3) then go to the DRM website to reproduce the issue.

After doing that, you could either upload your profiled result here, or just send it to me (alwu@mozilla.com). Thank you so much.

Hi! In fact the plugin update wasn't triggered by the update to 128. I started it manually after the update when playback didn't work any longer. I retriggered the update now, but it didn't do anything.

I created now a log, which you can find here: https://share.firefox.dev/4bK1giz. It includes only add-on information, as I didn't want to add the other information for privacy reasons. I started logging before starting a video on Netflix and stopped it after I tried it. Playback failed like before.

Flags: needinfo?(frfxtst)

(In reply to testit from comment #12)

I created now a log, which you can find here: https://share.firefox.dev/4bK1giz. It includes only add-on information, as I didn't want to add the other information for privacy reasons. I started logging before starting a video on Netflix and stopped it after I tried it. Playback failed like before.

Unfortunately that doesn't have gecko media plugin logging in it, and that's really what we're looking for to diagnose.

Could you maybe visit about:profiles and create a fresh profile and test trying to play netflix in that? If it fails there then it's something with the deivce vs. just a borked Firefox profile.

What's the reason the gecko media plugin logging is missing?

I created a fresh profile and tried to play netflix but it also failed. What do you mean by "it's something with the device"? Like I wrote before, in 127.0.2 it still works perfectly.

From your profile in the comment 12, I do see some video playing around 3s-7s. Does that mean the video can start playing in the beginning, then enter error later? What error code do you see on Netflix?

Would you also mind help me capture another profiled result? but this time, start profiling before you even open the Netflix tab, I'd like to see more debug logs about how they setup EME playback in order to better diagnose the problem you encountered. In addition, for privacy concern you can also send a profile to my mail (alwu@mozilla.com) directly to avoid publishing the result on public. Thanks!

Flags: needinfo?(frfxtst)
No longer blocks: media-triage

Fixed in v130.0.

Status: UNCONFIRMED → RESOLVED
Closed: 5 months ago
Flags: needinfo?(frfxtst)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.