/// <summary> /// Initializes a new instance of the <see cref="PlayerControl"/> class. /// </summary> public PlayerControl() { InitializeComponent(); this.timer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 1) }; this.timer.Tick += this.Timer_Tick; this.positionTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(UtilityHelper.PositionUpdateIntervalMillis) }; this.positionTimer.Tick += this.PositionTimer_Tick; this.currentSmpteFrameRate = SmpteFrameRate.Smpte2997NonDrop; this.externalManifestFiles = new List <Uri>(); if (!DesignerProperties.IsInDesignMode) { this.logger = ServiceLocator.Current.GetInstance(typeof(ILogger)) as ILogger; this.codecPrivateDataParser = ServiceLocator.Current.GetInstance(typeof(ICodecPrivateDataParser)) as ICodecPrivateDataParser; var configurationSerive = ServiceLocator.Current.GetInstance <IConfigurationService>(); if (configurationSerive != null) { this.ShowFragmentBoundariesButton.Visibility = configurationSerive.GetSnapToFragmentBoundaries() ? Visibility.Visible : this.ShowFragmentBoundariesButton.Visibility; this.currentSmpteFrameRate = configurationSerive.GetDefaultFrameRate(); } } }
/// <summary> /// Initializes a new instance of the <see cref="PlayerControl"/> class. /// </summary> public PlayerControl() { InitializeComponent(); this.timer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 1) }; this.timer.Tick += this.Timer_Tick; this.positionTimer = new DispatcherTimer { Interval = new TimeSpan(0, 0, 0, 0, 15) }; this.positionTimer.Tick += this.PositionTimer_Tick; this.currentSmpteFrameRate = SmpteFrameRate.Smpte2997NonDrop; this.externalManifestFiles = new List <Uri>(); if (!DesignerProperties.IsInDesignMode) { this.logger = ServiceLocator.Current.GetInstance(typeof(ILogger)) as ILogger; this.codecPrivateDataParser = ServiceLocator.Current.GetInstance(typeof(ICodecPrivateDataParser)) as ICodecPrivateDataParser; if (this.codecPrivateDataParser != null) { this.codecPrivateDataParser.GetFrameRateCompleted += (sender, args) => this.OnFrameRateParsed(args.Data); } } }