/// <summary>
/// Retrieves a list of the available video devices, their resolutions and pixel formats.
/// </summary>
private void LoadVideoDevices()
{
var videoDevices = _mediaManager.GetVideoDevices();
var videoDeviceKeys = new List <KeyValuePair <string, VideoMode> >();
if (videoDevices != null && videoDevices.Count > 0)
{
for (int index = 0; index < videoDevices.Count; index++)
{
if (_supportedVideoModes.Contains(MFVideoSubTypes.FindVideoSubTypeForGuid(videoDevices[index].VideoSubType)))
{
var videoSubType = MFVideoSubTypes.FindVideoSubTypeForGuid(videoDevices[index].VideoSubType);
string videoModeName = String.Format("{0} {1} x {2} {3}", videoDevices[index].DeviceFriendlyName, videoDevices[index].Width, videoDevices[index].Height, videoSubType.GetSubTypeDescription());
videoDeviceKeys.Add(new KeyValuePair <string, VideoMode>(videoModeName, videoDevices[index]));
//_localVideoDevices.Items.Add();
}
}
}
UIHelper.DoOnUIThread(this, delegate
{
_localVideoDevices.ItemsSource = videoDeviceKeys;
_localVideoDevices.IsEnabled = true;
});
}