// 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)); }
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); }
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)); }
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)); }