/// <inheritdoc /> public void Load() { // by default, we always add the collector as a logging source collector = new AnalyticsCollector(AnalyticsConfig); collector.Dispatcher = Dispatcher; // add session specific data AddAdditionalData(SessionData); LoggingService.Current.LoggingSources.Add(collector); // initialize the collector. The AnalyticsCollector relies on other objects to pass it info. playerMonitor = new MediaPlayerAdapter(MediaPlayer); AddAdditionalData(MediaData); collector.Attach(playerMonitor, AdaptiveMonitor, EnvironmentMonitor, EdgeServerMonitor); }
/// <inheritdoc /> public void Update(IMediaSource mediaSource) { if (collector.IsAttached) { collector.Detach(); // remove media specific data RemoveAdditionalData(MediaData); MediaData = null; } if (mediaSource != null) { // add media specific data MediaData = Analytics.GetAdditionalData(mediaSource as DependencyObject); AddAdditionalData(MediaData); collector.Attach(playerMonitor, AdaptiveMonitor, EnvironmentMonitor, EdgeServerMonitor); } }