static public VTVideoEncoder [] GetEncoderList() { IntPtr array; if (VTCopyVideoEncoderList(IntPtr.Zero, out array) != VTStatus.Ok) { return(null); } var dicts = NSArray.ArrayFromHandle <NSDictionary> (array); var ret = new VTVideoEncoder [dicts.Length]; int i = 0; foreach (var dict in dicts) { ret [i] = new VTVideoEncoder( dict [VTVideoEncoderList.CodecType] as NSNumber, dict [VTVideoEncoderList.CodecName] as NSString, dict [VTVideoEncoderList.DisplayName] as NSString, dict [VTVideoEncoderList.EncoderID] as NSString, dict [VTVideoEncoderList.EncoderName] as NSString); i++; } CFObject.CFRelease(array); return(ret); }
public static VTVideoEncoder[] GetEncoderList() { IntPtr array; if (VTCopyVideoEncoderList (IntPtr.Zero, out array) != VTStatus.Ok) return null; var dicts = NSArray.ArrayFromHandle<NSDictionary> (array); var ret = new VTVideoEncoder [dicts.Length]; int i = 0; foreach (var dict in dicts){ ret [i] = new VTVideoEncoder ( dict [VTVideoEncoderList.CodecType] as NSNumber, dict [VTVideoEncoderList.CodecName] as NSString, dict [VTVideoEncoderList.DisplayName] as NSString, dict [VTVideoEncoderList.EncoderID] as NSString, dict [VTVideoEncoderList.EncoderName] as NSString); i++; } CFObject.CFRelease (array); return ret; }