public SplitPage() { this.InitializeComponent(); InitPlayReady(); adaptivePlugin = new AdaptivePlugin(); player.Plugins.Add(adaptivePlugin); dashDownloaderPlugin = new DashDownloaderPlugin(); adaptivePlugin.DownloaderPlugin = dashDownloaderPlugin; dashDownloaderPlugin.ChunkRequested += dashDownloaderPlugin_ChunkRequested; dashDownloaderPlugin.ManifestRequested += dashDownloaderPlugin_ManifestRequested; adaptivePlugin.Manager.OpenedBackground += manager_Opened; adaptivePlugin.Manager.ClosedBackground += manager_Closed; player.IsFullScreenChanged += player_IsFullScreenChanged; Requests.ItemsSource = RequestCollection; }
/// <summary> /// Preserves state associated with this page in case the application is suspended or the /// page is discarded from the navigation cache. Values must conform to the serialization /// requirements of <see cref="SuspensionManager.SessionState"/>. /// </summary> /// <param name="pageState">An empty dictionary to be populated with serializable state.</param> protected override void SaveState(Dictionary<String, Object> pageState) { Clear(); dashDownloaderPlugin.ChunkRequested -= dashDownloaderPlugin_ChunkRequested; dashDownloaderPlugin.ManifestRequested -= dashDownloaderPlugin_ManifestRequested; adaptivePlugin.Manager.OpenedBackground -= manager_Opened; adaptivePlugin.Manager.ClosedBackground -= manager_Closed; player.IsFullScreenChanged -= player_IsFullScreenChanged; player.Dispose(); adaptivePlugin = null; dashDownloaderPlugin = null; }