private void ReleaseMediaDrm() { if (mediaDrm != null) { mediaDrm.Release(); mediaDrm = null; } }
/// <summary> /// Builds the drm session manager. /// </summary> /// <returns>The drm session manager.</returns> /// <param name="uuid">UUID.</param> /// <param name="licenseUrl">License URL.</param> /// <param name="keyRequestProperties">Key request properties.</param> private IDrmSessionManager BuildDrmSessionManager(UUID uuid, string licenseUrl, Dictionary <string, string> keyRequestProperties) { if (Util.SdkInt < 18) { return(null); } HttpMediaDrmCallback drmCallback = new HttpMediaDrmCallback(licenseUrl, BuildHttpDataSourceFactory(false), keyRequestProperties); return(new DefaultDrmSessionManager(uuid, FrameworkMediaDrm.NewInstance(uuid), drmCallback, null, _mainHandler, _eventLogger)); }
private IDrmSessionManager BuildDrmSessionManagerV18(UUID uuid, string licenseUrl, string[] keyRequestPropertiesArray) { HttpMediaDrmCallback drmCallback = new HttpMediaDrmCallback(licenseUrl, BuildHttpDataSourceFactory(false)); if (keyRequestPropertiesArray != null) { for (int i = 0; i < keyRequestPropertiesArray.Length - 1; i += 2) { drmCallback.SetKeyRequestProperty(keyRequestPropertiesArray[i], keyRequestPropertiesArray[i + 1]); } } return(new DefaultDrmSessionManager(uuid, FrameworkMediaDrm.NewInstance(uuid), drmCallback, null, mainHandler, eventLogger)); }
private DefaultDrmSessionManager BuildDrmSessionManagerV18(UUID uuid, string licenseUrl, string[] keyRequestPropertiesArray, bool multiSession) { IHttpDataSourceFactory licenseDataSourceFactory = ((DemoApplication)Application).BuildHttpDataSourceFactory(/* listener= */ null); HttpMediaDrmCallback drmCallback = new HttpMediaDrmCallback(licenseUrl, licenseDataSourceFactory); if (keyRequestPropertiesArray != null) { for (int i = 0; i < keyRequestPropertiesArray.Length - 1; i += 2) { drmCallback.SetKeyRequestProperty(keyRequestPropertiesArray[i], keyRequestPropertiesArray[i + 1]); } } ReleaseMediaDrm(); mediaDrm = FrameworkMediaDrm.NewInstance(uuid); //return new DefaultDrmSessionManager(uuid, mediaDrm, drmCallback, null, multiSession); //Todo: implement IAnalyticsListener return(new DefaultDrmSessionManager(uuid, FrameworkMediaDrm.NewInstance(uuid), drmCallback, null, mainHandler, eventLogger)); }