// Convenience method taking a strong dictionary
 public static VTMultiPassStorage Create(
     VTMultiPassStorageCreationOptions options,
     NSUrl fileUrl         = null,
     CMTimeRange?timeRange = null)
 {
     return(Create(fileUrl, timeRange, options != null ? options.Dictionary : null));
 }
示例#2
0
        public VTStatus ForEach(Func <CMSampleBuffer, VTStatus> callback, CMTimeRange?range = null)
        {
            callbackHandle = GCHandle.Alloc(callback);
            var foreachResult = VTFrameSiloCallFunctionForEachSampleBuffer(handle, range ?? CMTimeRange.InvalidRange, GCHandle.ToIntPtr(callbackHandle), static_EachSampleBufferCallback);

            callbackHandle.Free();
            return(foreachResult);
        }
示例#3
0
        public static VTFrameSilo?Create(NSUrl?fileUrl = null, CMTimeRange?timeRange = null)
        {
            var status = VTFrameSiloCreate(
                IntPtr.Zero,
                fileUrl.GetHandle(),
                timeRange ?? CMTimeRange.InvalidRange,
                IntPtr.Zero,
                out var ret);

            if (status != VTStatus.Ok)
            {
                return(null);
            }

            return(new VTFrameSilo(ret, true));
        }
示例#4
0
        public static VTFrameSilo Create(NSUrl fileUrl = null, CMTimeRange?timeRange = null)
        {
            IntPtr ret;
            var    status = VTFrameSiloCreate(
                IntPtr.Zero,
                fileUrl == null ? IntPtr.Zero : fileUrl.Handle,
                timeRange ?? CMTimeRange.InvalidRange,
                IntPtr.Zero,
                out ret);

            if (status != VTStatus.Ok)
            {
                return(null);
            }

            return(new VTFrameSilo(ret, true));
        }
        public static VTMultiPassStorage?Create(
            NSUrl?fileUrl         = null,
            CMTimeRange?timeRange = null,
            NSDictionary?options  = null)
        {
            var status = VTMultiPassStorageCreate(
                IntPtr.Zero,
                fileUrl.GetHandle(),
                timeRange ?? CMTimeRange.InvalidRange,
                options.GetHandle(),
                out var ret);

            if (status != VTStatus.Ok)
            {
                return(null);
            }

            return(new VTMultiPassStorage(ret, true));
        }
        public static VTMultiPassStorage Create(
            NSUrl fileUrl         = null,
            CMTimeRange?timeRange = null,
            NSDictionary options  = null)
        {
            IntPtr ret;
            var    status = VTMultiPassStorageCreate(
                IntPtr.Zero,
                fileUrl == null ? IntPtr.Zero : fileUrl.Handle,
                timeRange ?? CMTimeRange.Invalid,
                options == null ? IntPtr.Zero : options.Handle,
                out ret);

            if (status != VTStatus.Ok)
            {
                return(null);
            }

            return(new VTMultiPassStorage(ret, true));
        }