public void UpdateDrmConfiguration(DRMDescription drmDescription) { Logger.Info(""); lock (clipDrmConfiguration) { var currentDescription = clipDrmConfiguration.FirstOrDefault(o => SchemeEquals(o.Scheme, drmDescription.Scheme)); if (currentDescription == null) { clipDrmConfiguration.Add(drmDescription); return; } if (currentDescription.IsImmutable) { Logger.Warn($"{currentDescription.Scheme} is immutable - ignoring update request"); return; } if (drmDescription.KeyRequestProperties != null) { currentDescription.KeyRequestProperties = drmDescription.KeyRequestProperties; } if (drmDescription.LicenceUrl != null) { currentDescription.LicenceUrl = drmDescription.LicenceUrl; } } }
private void ParseYoutubeScheme(ContentProtection descriptor) { var doc = new XmlDocument(); try { doc.LoadXml(descriptor.Data); } catch (Exception) { return; } if (doc.FirstChild?.ChildNodes == null) { return; } foreach (XmlNode node in doc.FirstChild?.ChildNodes) { var type = node.Attributes?.GetNamedItem("type")?.Value; if (!CencUtils.SupportsType(type)) { continue; } var drmDescriptor = new DRMDescription { LicenceUrl = node.InnerText, Scheme = type }; setDrmConfigurationSubject.OnNext(drmDescriptor); } }
public IDrmSession CreateDRMSession(DRMInitData initData, DRMDescription drmDescription) { var iemeKeySystemName = CencUtils.GetKeySystemName(initData.SystemId); if (IEME.isKeySystemSupported(iemeKeySystemName) != Status.kSupported) { Logger.Warn($"Key System: {iemeKeySystemName} is not supported"); return(null); } return(CencSession.Create(initData, drmDescription)); }
private static DRMDescription CreateWidevineDrmDescription() { var licenceUrl = "https://proxy.uat.widevine.com/proxy?provider=widevine_test"; var configuration = new DRMDescription() { Scheme = CencUtils.GetScheme(WidevineSystemId), LicenceUrl = licenceUrl, KeyRequestProperties = new Dictionary <string, string>() { { "Content-Type", "text/xml; charset=utf-8" } }, }; return(configuration); }
private static DRMDescription CreatePlayReadyDrmDescription() { var licenceUrl = "https://dash-mse-test.appspot.com/api/drm/playready?drm_system=playready&source=YOUTUBE&ip=0.0.0.0&ipbits=0&expire=19000000000&sparams=ip,ipbits,expire,drm_system,source,video_id&video_id=03681262dc412c06&signature=448279561E2755699618BE0A2402189D4A30B03B.0CD6A27286BD2DAF00577FFA21928665DCD320C2&key=test_key1"; var configuration = new DRMDescription() { Scheme = CencUtils.GetScheme(PlayreadySystemId), LicenceUrl = licenceUrl, KeyRequestProperties = new Dictionary <string, string>() { { "Content-Type", "text/xml; charset=utf-8" } }, }; return(configuration); }
private static DRMDescription CreatePlayReadyDrmDescription() { var licenceUrl = "http://dash-mse-test.appspot.com/api/drm/playready?drm_system=playready&source=YOUTUBE&video_id=03681262dc412c06&ip=0.0.0.0&ipbits=0&expire=19000000000&sparams=ip,ipbits,expire,drm_system,source,video_id&signature=3BB038322E72D0B027F7233A733CD67D518AF675.2B7C39053DA46498D23F3BCB87596EF8FD8B1669&key=test_key1"; var configuration = new DRMDescription() { Scheme = CencUtils.GetScheme(PlayreadySystemId), LicenceUrl = licenceUrl, KeyRequestProperties = new Dictionary <string, string>() { { "Content-Type", "text/xml; charset=utf-8" } }, }; return(configuration); }
public void OnSetDrmConfiguration(DRMDescription description) { drmManager?.UpdateDrmConfiguration(description); }