示例#1
0
        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);
        }
示例#2
0
        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;
        }