void SetSelectedCapResItem()
{
if (AllCapFPS == null)
{
AllCapFPS = new ObservableCollection<CaptureCapability>();
}
else
{
AllCapFPS.Clear();
}
var opCap = GetVideoCaptureCapabilities(SelectedCamera);
opCap.ContinueWith(caps =>
{
var fpsList = from cap in caps.Result.Capabilities where cap.ResolutionDescription == SelectedCapResItem select cap;
var t = Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
CaptureCapability defaultFPS = null;
uint selectedCapFPSFrameRate = 0;
if (_localSettings.Values[SelectedFrameRateId] != null)
{
selectedCapFPSFrameRate = (uint)_localSettings.Values[SelectedFrameRateId];
}
foreach (var fps in fpsList)
{
if (selectedCapFPSFrameRate != 0 && fps.FrameRate == selectedCapFPSFrameRate)
{
defaultFPS = fps;
}
AllCapFPS.Add(fps);
if (defaultFPS == null)
{
defaultFPS = fps;
}
}
SelectedCapFPSItem = defaultFPS;
_mediaSettings.SetPreferredVideoCaptureFormat(new VideoCaptureFormat((int)SelectedCapFPSItem.Width,
(int)SelectedCapFPSItem.Height,
(int)SelectedCapFPSItem.FrameRate));
});
var uiTask = _dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(() =>
{
OnPropertyChanged(nameof(AllCapFPS));
}));
});
}