private void RestartPlayerController() { Logger.Info("Player controller restart"); dataProvider.OnStopped(); _playerControllerConnections.Dispose(); connector?.Dispose(); playerController?.Dispose(); drmManager?.Clear(); CreatePlayerController(); connector = new DataProviderConnector(playerController, dataProvider); ConnectPlayerControllerObservables(); dataProvider.Start(); }
public async Task SetSource(ClipDefinition clip) { drmManager.Clear(); connector?.Dispose(); dataProvider = dataProviders.CreateDataProvider(clip); if (clip.DRMDatas != null) { foreach (var drm in clip.DRMDatas) { await drmManager.UpdateDrmConfiguration(drm); } } connector = new DataProviderConnector(playerController, dataProvider); dataProvider.Start(); }