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); }
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); } CFObject.CFRelease(array); return(ret); }