void InitializeMediaPlayer() { int iWidth = (int)Window.Current.Bounds.Width; int iHeight = (int)Window.Current.Bounds.Height; // Even frame size with a 16:9 ratio iWidth = Math.Min(iWidth, ((iHeight * 16 / 9) >> 1) * 2); iHeight = Math.Min(iHeight, ((iWidth * 9 / 16) >> 1) * 2); VideoEncodingProperties videoProperties = VideoEncodingProperties.CreateUncompressed(MediaEncodingSubtypes.Bgra8, (uint)iWidth, (uint)iHeight); _videoDesc = new VideoStreamDescriptor(videoProperties); _videoDesc.EncodingProperties.FrameRate.Numerator = c_frameRateN; _videoDesc.EncodingProperties.FrameRate.Denominator = c_frameRateD; _videoDesc.EncodingProperties.Bitrate = (uint)(c_frameRateN * c_frameRateD * iWidth * iHeight * 4); _mss = new Windows.Media.Core.MediaStreamSource(_videoDesc); TimeSpan spanBuffer = new TimeSpan(0, 0, 0, 0, 250); _mss.BufferTime = spanBuffer; _mss.Starting += _mss_Starting; _mss.SampleRequested += _mss_SampleRequested; _sampleGenerator = new DXSurfaceGenerator.SampleGenerator(); mediaPlayer.AutoPlay = false; mediaPlayer.CurrentStateChanged += mediaPlayer_CurrentStateChanged; mediaPlayer.SetMediaStreamSource(_mss); _hasSetMediaSource = true; }