mozilla-mobile / fenix

⚠️ Fenix (Firefox for Android) moved to a new repository. It is now developed and maintained as part of: https://github.com/mozilla-mobile/firefox-android
https://github.com/mozilla-mobile/firefox-android
Mozilla Public License 2.0
6.47k stars 1.27k forks source link

[Bug]: Widevine version is not supported anymore #22899

Closed heydarian closed 2 years ago

heydarian commented 2 years ago

Steps to reproduce

Like two weeks ago Amazon Prime Video was working without issues in Desktop Mode. Now I always get this error, it seems not supported/ outdated now. prime

Expected behaviour

Play Amazon Prime Video DRM content

Actual behaviour

prime

Device name

Polestar 2

Android version

AAOS 10

Firefox release type

Firefox

Firefox version

96

Device logs

No response

Additional information

No response

┆Issue is synchronized with this Jira Task

cpeterso commented 2 years ago

@heydarian - I see your Firefox version is 96. Is that Firefox Beta?

Do any of the Widevine videos on the test website below play for you? I wonder if Amazon changed something or if this is a general problem with all Widevine videos.

https://shaka-player-demo.appspot.com/demo/

heydarian commented 2 years ago

hi, the Test works fine, also other DRM streaming Sites Like Disney+ work. It seems that amazon has changed something which hinders the Playback now. any clue. why?

this is my nightly build Info:

96.0a1 (Build #2015843967) AC: 96.0.20211103143130, 2a27a32498 GV: 96.0a1-20211102094141 AS: 86.0.1

cpeterso commented 2 years ago

I just tested Amazon Prime on my old Android 8.1 phone and I was able to play DRM video just fine. I'm asking the Firefox media engineers how to figure out which Widevine version you have. I'm surprised AAOS 10 would have an older Widevine version than Android 8.1. On desktop, Firefox installs a Widevine library itself. On Android, Firefox uses the Widevine library provided by the OS. Maybe this is not a version problem, but Amazon Prime now requiring some hardware DRM that is not in your car?

heydarian commented 2 years ago

That's interesting to know, I thought that Firefox has included DRM since v85

I just ran the DRM Info app and it gave me this output, could you please post the result of your Android 8.1 phone?

drm
cpeterso commented 2 years ago

That's interesting to know, I thought that Firefox has included DRM since v85

Firefox on Android didn't install a DRM library like it does on desktop. It just uses the DRM library (Google's Widevine DRM) that's already on the phone.

I just ran the DRM Info app and it gave me this output, could you please post the result of your Android 8.1 phone?

Here's my DRM info. I think the interesting difference might be "Security Level": I have L1 and you have L3. I'll ask what the difference is.

image

heydarian commented 2 years ago

Hi again, could you please try this app also, which provides a more detailed info on your Widevine version: https://play.google.com/store/apps/details?id=com.kaltura.kalturadeviceinfo&hl=en_AU&gl=US

See my Details below:

{ "meta": { "versionName": "1.4.1", "versionCode": 18, "timestamp": "2021-12-20T17:31:38Z" }, "system": { "RELEASE": "10", "SDK_INT": 29, "BRAND": "Polestar", "MODEL": "Polestar", "MANUFACTURER": "VolvoCars", "DEVICE": "ihu_abl_car", "BOARD": "broxton", "TAGS": "release-keys", "FINGERPRINT": "Polestar/ihu_polestar/ihu_abl_car:10/QA1A.210116.001/ARTINFO.QAB.11-213-gc65caf210:user/release-keys", "ARCH": { "os.arch": "x86_64", "SUPPORTED_ABIS": [ "x86_64" ], "SUPPORTED_32_BIT_ABIS": [], "SUPPORTED_64_BIT_ABIS": [ "x86_64" ] } }, "drm": { "modular": { "widevine": { "properties": { "vendor": "Google", "version": "15.0.0", "description": "Widevine CDM", "algorithms": "AES/CBC/NoPadding,HmacSHA256", "securityLevel": "L3", "systemId": "8162", "privacyMode": "disable", "sessionSharing": "disable", "usageReportingSupport": "True", "appId": "", "origin": "", "hdcpLevel": "Unprotected", "maxHdcpLevel": "Unprotected", "maxNumberOfSessions": "16", "numberOfOpenSessions": "0", "deviceUniqueId": "3OHL+5r4n19JBgXtoII3eyhaWnYf6Kcy0E=", "provisioningUniqueId": "Ix40BGUHYKC2+foSX33IhNYngF1jNL4=", "serviceCertificate": "" }, "events": [ { "event": 1, "extra": 0 }, { "Exception(openSession)": "android.media.NotProvisionedException: Failed to open session" } ] } }, "classic": { "engines": [] } }, "display": { "metrics": "DisplayMetrics{density=1.125, width=1152, height=1359, scaledDensity=1.125, xdpi=172.122, ydpi=169.627}" }, "media": { "decoders": { "c2.android.aac.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/mp4a-latm" ] }, "OMX.google.aac.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/mp4a-latm" ] }, "c2.android.amrnb.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/3gpp" ] }, "OMX.google.amrnb.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/3gpp" ] }, "c2.android.amrwb.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/amr-wb" ] }, "OMX.google.amrwb.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/amr-wb" ] }, "c2.android.flac.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/flac" ] }, "OMX.google.flac.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/flac" ] }, "c2.android.g711.alaw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/g711-alaw" ] }, "OMX.google.g711.alaw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/g711-alaw" ] }, "c2.android.g711.mlaw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/g711-mlaw" ] }, "OMX.google.g711.mlaw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/g711-mlaw" ] }, "c2.android.mp3.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/mpeg" ] }, "OMX.google.mp3.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/mpeg" ] }, "c2.android.opus.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/opus" ] }, "OMX.google.opus.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/opus" ] }, "c2.android.raw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/raw" ] }, "OMX.google.raw.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/raw" ] }, "c2.android.vorbis.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/vorbis" ] }, "OMX.google.vorbis.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "audio/vorbis" ] }, "OMX.Intel.hw_vd.h264": { "isVendor": true, "isSoftwareOnly": false, "isHardwareAccelerated": true, "supportedTypes": [ "video/avc" ] }, "OMX.Intel.hw_vd.h265": { "isVendor": true, "isSoftwareOnly": false, "isHardwareAccelerated": true, "supportedTypes": [ "video/hevc" ] }, "OMX.Intel.hw_vd.vp8": { "isVendor": true, "isSoftwareOnly": false, "isHardwareAccelerated": true, "supportedTypes": [ "video/x-vnd.on2.vp8" ] }, "OMX.Intel.hw_vd.vp9": { "isVendor": true, "isSoftwareOnly": false, "isHardwareAccelerated": true, "supportedTypes": [ "video/x-vnd.on2.vp9" ] }, "c2.android.av1.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/av01" ] }, "c2.android.avc.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/avc" ] }, "OMX.google.h264.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/avc" ] }, "c2.android.h263.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/3gpp" ] }, "OMX.google.h263.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/3gpp" ] }, "c2.android.hevc.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/hevc" ] }, "OMX.google.hevc.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/hevc" ] }, "c2.android.mpeg4.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/mp4v-es" ] }, "OMX.google.mpeg4.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/mp4v-es" ] }, "c2.android.vp8.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/x-vnd.on2.vp8" ] }, "OMX.google.vp8.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/x-vnd.on2.vp8" ] }, "c2.android.vp9.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/x-vnd.on2.vp9" ] }, "OMX.google.vp9.decoder": { "isVendor": false, "isSoftwareOnly": true, "isHardwareAccelerated": false, "supportedTypes": [ "video/x-vnd.on2.vp9" ] } } }, "root": { "existingFiles": [] } }

cpeterso commented 2 years ago

@heydarian - Does Amazon Prime work in Chrome on your device? Is there an official Amazon Prime app for your device?

My phone's Security Level L1 is more "secure" (more DRM-y) than your L3, so Amazon might be requiring more restrictive DRM. Mozilla has contacts at Amazon, so I can ask them once I know whether Amazon Prime works in Chrome and/or the Amazon Prime app on your device.

You said the problem started about two weeks before you filed this issue, so that would be around December 6. If you can recall a more precise date, that might narrow the regression window for our Amazon contacts to identify which code change caused the problem.

heydarian commented 2 years ago

@cpeterso there's officially no chrome or Amazon Prime Video App available for Android Automotive OS, see the current apps available here: https://play.google.com/store/apps/collection/promotion_android_auto_embedded_exploreall I got Firefox by building it from Github and adding it to my google play developer console as internal app, so I can download internal apps back on my Android Automotive Google Playstore Account (USB-Debugging/ ADB is disabled in AAOS). For Chrome, there's only chromium available in Github and Amazon Prime Video isn't available at all (non-open source). However I tested the full chrome on the AAOS 10 emulator (USB-Debugging/ ADB is enabled there) on my PC and there Amazon Prime Video starts playing but with audio only (and black screen). The last time, I played Amazon Prime successfully in Firefox in AAOS was on the 4th of November, since then I haven't tried it again until the 6th of December. So within those 4 weeks something changed at Amazon, as I always kept the same Firefox build (also tried the latest one from Github, no change).

Thanks for you help, Darius

heydarian commented 2 years ago

Hi again, @cpeterso today the Vivaldi Browser has been released and Amazon Prime Works! https://play.google.com/store/apps/details?id=com.polestar.vivaldi.production.android

We can close this topic for now

cpeterso commented 2 years ago

I got Firefox by building it from Github and adding it to my google play developer console as internal app, so I can download internal apps back on my Android Automotive Google Playstore Account (USB-Debugging/ ADB is disabled in AAOS).

Cool! I'm impressed by your effort and patience to install Firefox. 🙂

Did you need to make any code changes to Firefox to run in on AAOS? Is the AAOS Play Store a separate store or just a "This app is AAOS-compatible" flag that needs to be set in the regular Google Play Store?

@cpeterso today the Vivaldi Browser has been released and Amazon Prime Works!

Interesting. I wonder why Amazon Prime works in Vivaldi, but not Fenix or even Chrome.

heydarian commented 2 years ago

Hi @cpeterso, no code change required I was able to build FF right away with Android Studio. The AAOS Play Store is the same google play store as any other Android and just a "This app is compatible flag" is missing! As far as I have tested, by rebuilding open source apps, many work 1:1 without any limitations, the OS seems to be fully Android 10 compatible. About Vivaldi, I think that Chrome would have worked the same in the real car environment as they have the same core. I only failed to play the video in the AAOS emulator on my PC.