Skip to content

Widevine DRM License URL Ignored in Edge Browser on Shaka Player v4.12.6 and Above #8066

@neeraj-vensysco

Description

@neeraj-vensysco

Have you read the FAQ and checked for duplicate open issues?
yes I have read it and there is no duplicacy.

If the problem is related to FairPlay, have you read the tutorial?
no, the problem is not related to fairplay.

What version of Shaka Player are you using?
4.12.6 and above (Issue observed)
4.10.9 (Working fine)

Can you reproduce the issue with our latest release version?
Yes, the issue is reproducible with the latest release version.

Can you reproduce the issue with the latest code from main?
Not tested.

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?
N/A

What browser and OS are you using?
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0

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

What are the manifest and license server URIs?
manifest uri - https://d2q37r73x4qyxr.cloudfront.net/v1/dash/93ce20f0f52760bf38be911ff4c91ed02aa2fd92/4db5e4cc-5740-4b4e-9ee5-8bff3efd8f61/file_library/videos/vod_drm/4293268/1738241129_3091610755213759/80faf8fd-e102-4cbc-aeeb-9da4b6909a93.mpd
license uri - domain/V1/onRequestCreateVideoLicense

Image

What configuration are you using? What is the output of player.getConfiguration()?
if (is_drm_protected) {
var drmConfig = {
servers: {
"com.widevine.alpha": 'domain/V1/onRequestCreateVideoLicense',
}
};
} else {
var drmConfig = {}
}

player.configure({
drm: drmConfig,
streaming: {
autoLowLatencyMode: true
}
});

player.getConfiguration() = {
"drm": {
"retryParameters": {
"maxAttempts": 2,
"baseDelay": 1000,
"backoffFactor": 2,
"fuzzFactor": 0.5,
"timeout": 30000,
"stallTimeout": 5000,
"connectionTimeout": 10000
},
"servers": {
"com.widevine.alpha": "https://api.wavespb.com/api/V1/onRequestCreateVideoLicense"
},
"clearKeys": {},
"advanced": {},
"delayLicenseRequestUntilPlayed": false,
"persistentSessionOnlinePlayback": false,
"persistentSessionsMetadata": [],
"logLicenseExchange": false,
"updateExpirationTime": 1,
"preferredKeySystems": [],
"keySystemsMapping": {},
"parseInbandPsshEnabled": false,
"minHdcpVersion": "",
"ignoreDuplicateInitData": true
},
"manifest": {
"retryParameters": {
"maxAttempts": 2,
"baseDelay": 1000,
"backoffFactor": 2,
"fuzzFactor": 0.5,
"timeout": 30000,
"stallTimeout": 5000,
"connectionTimeout": 10000
},
"availabilityWindowOverride": null,
"disableAudio": false,
"disableVideo": false,
"disableText": false,
"disableThumbnails": false,
"disableIFrames": false,
"defaultPresentationDelay": 0,
"segmentRelativeVttTiming": false,
"raiseFatalErrorOnManifestUpdateRequestFailure": false,
"continueLoadingWhenPaused": true,
"dash": {
"clockSyncUri": "",
"ignoreDrmInfo": false,
"disableXlinkProcessing": true,
"xlinkFailGracefully": false,
"ignoreMinBufferTime": false,
"autoCorrectDrift": true,
"initialSegmentLimit": 1000,
"ignoreSuggestedPresentationDelay": false,
"ignoreEmptyAdaptationSet": false,
"ignoreMaxSegmentDuration": false,
"keySystemsByURI": {
"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b": "org.w3.clearkey",
"urn:uuid:e2719d58-a985-b3c9-781a-b030af78d30e": "org.w3.clearkey",
"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": "com.widevine.alpha",
"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready",
"urn:uuid:79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready",
"urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2": "com.apple.fps"
},
"sequenceMode": false,
"multiTypeVariantsAllowed": false,
"useStreamOnceInPeriodFlattening": false,
"updatePeriod": -1,
"enableFastSwitching": true
},
"hls": {
"ignoreTextStreamFailures": false,
"ignoreImageStreamFailures": false,
"defaultAudioCodec": "mp4a.40.2",
"defaultVideoCodec": "avc1.42E01E",
"ignoreManifestProgramDateTime": false,
"ignoreManifestProgramDateTimeForTypes": [],
"mediaPlaylistFullMimeType": "video/mp2t; codecs="avc1.42E01E, mp4a.40.2"",
"liveSegmentsDelay": 3,
"sequenceMode": true,
"ignoreManifestTimestampsInSegmentsMode": false,
"disableCodecGuessing": false,
"disableClosedCaptionsDetection": false,
"updatePeriod": -1,
"allowLowLatencyByteRangeOptimization": true
},
"mss": {
"sequenceMode": false,
"keySystemsBySystemId": {
"9a04f079-9840-4286-ab92-e65be0885f95": "com.microsoft.playready",
"79f0049a-4098-8642-ab92-e65be0885f95": "com.microsoft.playready"
}
}
},
"streaming": {
"retryParameters": {
"maxAttempts": 2,
"baseDelay": 1000,
"backoffFactor": 2,
"fuzzFactor": 0.5,
"timeout": 30000,
"stallTimeout": 5000,
"connectionTimeout": 10000
},
"rebufferingGoal": 2,
"bufferingGoal": 10,
"bufferBehind": 30,
"evictionGoal": 1,
"ignoreTextStreamFailures": false,
"alwaysStreamText": false,
"startAtSegmentBoundary": false,
"gapDetectionThreshold": 0.5,
"gapPadding": 0.01,
"gapJumpTimerTime": 0.25,
"durationBackoff": 1,
"safeSeekOffset": 5,
"safeSeekEndOffset": 0,
"stallEnabled": true,
"stallThreshold": 1,
"stallSkip": 0.1,
"useNativeHlsForFairPlay": true,
"inaccurateManifestTolerance": 2,
"lowLatencyMode": false,
"autoLowLatencyMode": true,
"forceHTTP": false,
"forceHTTPS": false,
"minBytesForProgressEvents": 16000,
"preferNativeHls": false,
"updateIntervalSeconds": 1,
"observeQualityChanges": false,
"maxDisabledTime": 30,
"segmentPrefetchLimit": 0,
"prefetchAudioLanguages": [],
"disableAudioPrefetch": false,
"disableTextPrefetch": false,
"disableVideoPrefetch": false,
"liveSync": {
"enabled": false,
"targetLatency": 0.5,
"targetLatencyTolerance": 0.5,
"maxPlaybackRate": 1.1,
"minPlaybackRate": 0.95,
"panicMode": false,
"panicThreshold": 60,
"dynamicTargetLatency": {
"enabled": false,
"stabilityThreshold": 60,
"rebufferIncrement": 0.5,
"maxAttempts": 10,
"maxLatency": 4,
"minLatency": 1
}
},
"allowMediaSourceRecoveries": true,
"minTimeBetweenRecoveries": 5,
"vodDynamicPlaybackRate": false,
"vodDynamicPlaybackRateLowBufferRate": 0.95,
"vodDynamicPlaybackRateBufferRatio": 0.5,
"infiniteLiveStreamDuration": false,
"preloadNextUrlWindow": 30,
"loadTimeout": 30,
"clearDecodingCache": false,
"dontChooseCodecs": false,
"shouldFixTimestampOffset": false
},
"mediaSource": {
"codecSwitchingStrategy": "reload",
"forceTransmux": false,
"insertFakeEncryptionInInit": true,
"dispatchAllEmsgBoxes": false
},
"offline": {
"usePersistentLicense": true,
"numberOfParallelDownloads": 5
},
"abr": {
"enabled": true,
"useNetworkInformation": true,
"defaultBandwidthEstimate": 1000000,
"switchInterval": 8,
"bandwidthUpgradeTarget": 0.85,
"bandwidthDowngradeTarget": 0.95,
"restrictions": {
"minWidth": 0,
"maxWidth": null,
"minHeight": 0,
"maxHeight": null,
"minPixels": 0,
"maxPixels": null,
"minFrameRate": 0,
"maxFrameRate": null,
"minBandwidth": 0,
"maxBandwidth": null,
"minChannelsCount": 0,
"maxChannelsCount": null
},
"advanced": {
"minTotalBytes": 128000,
"minBytes": 16000,
"fastHalfLife": 2,
"slowHalfLife": 5
},
"restrictToElementSize": false,
"restrictToScreenSize": false,
"ignoreDevicePixelRatio": false,
"clearBufferSwitch": false,
"safeMarginSwitch": 0,
"cacheLoadThreshold": 20,
"minTimeToSwitch": 0,
"preferNetworkInformationBandwidth": false
},
"autoShowText": 3,
"preferredAudioLanguage": "",
"preferredAudioLabel": "",
"preferredTextLanguage": "",
"preferredVariantRole": "",
"preferredTextRole": "",
"preferredAudioChannelCount": 2,
"preferredVideoHdrLevel": "AUTO",
"preferredVideoLayout": "",
"preferredVideoLabel": "",
"preferredVideoCodecs": [],
"preferredAudioCodecs": [],
"preferredTextFormats": [],
"preferForcedSubs": false,
"preferSpatialAudio": false,
"preferredDecodingAttributes": [],
"restrictions": {
"minWidth": 0,
"maxWidth": null,
"minHeight": 0,
"maxHeight": 1080,
"minPixels": 0,
"maxPixels": null,
"minFrameRate": 0,
"maxFrameRate": null,
"minBandwidth": 0,
"maxBandwidth": null,
"minChannelsCount": 0,
"maxChannelsCount": null
},
"playRangeStart": 0,
"playRangeEnd": null,
"textDisplayer": {
"captionsUpdatePeriod": 0.25
},
"cmcd": {
"enabled": false,
"sessionId": "",
"contentId": "",
"rtpSafetyFactor": 5,
"useHeaders": false,
"includeKeys": []
},
"cmsd": {
"enabled": true,
"applyMaximumSuggestedBitrate": true,
"estimatedThroughputWeightRatio": 0.5
},
"lcevc": {
"enabled": false,
"dynamicPerformanceScaling": true,
"logLevel": 0,
"drawLogo": false
},
"ads": {
"customPlayheadTracker": false,
"skipPlayDetection": false,
"supportsMultipleMediaElements": true,
"disableHLSInterstitial": false,
"disableDASHInterstitial": false
},
"ignoreHardwareResolution": false
}

What did you do?

  1. Configured Shaka Player with Widevine DRM using a custom license URL in Edge browser.
  2. Played a DRM-protected video.
  3. Observed that the license request went to a predefined URL instead of the custom URL.
  4. Tested the same configuration in Shaka Player version 4.10.9, where it worked as expected.
  5. Observed the issue only in Edge browser with Shaka Player versions 4.12.6 and above.

What did you expect to happen?
The license request should be sent to the custom URL specified in the Shaka Player configuration. (although it works fine if we configure this license uri to playready config).

What actually happened?
In Edge browser with Shaka Player versions 4.12.6 and above, the license request is sent to a predefined URL(https://license-global.pallycon.com/ri/licenseManager.do) instead of the custom URL specified in the configuration. This issue is not observed in version 4.10.9 or other browsers.

Are you planning send a PR to fix it?
No, but willing to provide additional details or testing if needed.

Metadata

Metadata

Assignees

Labels

component: EMEThe issue involves the Encrypted Media Extensions web APIpriority: P1Big impact or workaround impractical; resolve before feature releasestatus: archivedArchived and locked; will not be updatedtype: bugSomething isn't working correctly

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions