objc2_video_toolbox/generated/
VTMultiPassStorage.rs1use core::cell::UnsafeCell;
4use core::marker::{PhantomData, PhantomPinned};
5use core::ptr::NonNull;
6#[cfg(feature = "objc2")]
7use objc2::__framework_prelude::*;
8use objc2_core_foundation::*;
9#[cfg(feature = "objc2-core-media")]
10use objc2_core_media::*;
11
12use crate::*;
13
14#[repr(C)]
21pub struct VTMultiPassStorage {
22 inner: [u8; 0],
23 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
24}
25
26cf_type!(
27 unsafe impl VTMultiPassStorage {}
28);
29#[cfg(feature = "objc2")]
30cf_objc2_type!(
31 unsafe impl RefEncode<"OpaqueVTMultiPassStorage"> for VTMultiPassStorage {}
32);
33
34unsafe impl ConcreteType for VTMultiPassStorage {
35 #[doc(alias = "VTMultiPassStorageGetTypeID")]
36 #[inline]
37 fn type_id() -> CFTypeID {
38 extern "C-unwind" {
39 fn VTMultiPassStorageGetTypeID() -> CFTypeID;
40 }
41 unsafe { VTMultiPassStorageGetTypeID() }
42 }
43}
44
45impl VTMultiPassStorage {
46 #[doc(alias = "VTMultiPassStorageCreate")]
58 #[cfg(feature = "objc2-core-media")]
59 #[inline]
60 pub unsafe fn create(
61 allocator: Option<&CFAllocator>,
62 file_url: Option<&CFURL>,
63 time_range: CMTimeRange,
64 options: Option<&CFDictionary>,
65 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
66 ) -> OSStatus {
67 extern "C-unwind" {
68 fn VTMultiPassStorageCreate(
69 allocator: Option<&CFAllocator>,
70 file_url: Option<&CFURL>,
71 time_range: CMTimeRange,
72 options: Option<&CFDictionary>,
73 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
74 ) -> OSStatus;
75 }
76 unsafe {
77 VTMultiPassStorageCreate(
78 allocator,
79 file_url,
80 time_range,
81 options,
82 multi_pass_storage_out,
83 )
84 }
85 }
86}
87
88extern "C" {
89 pub static kVTMultiPassStorageCreationOption_DoNotDelete: &'static CFString;
91}
92
93impl VTMultiPassStorage {
94 #[doc(alias = "VTMultiPassStorageClose")]
99 #[inline]
100 pub unsafe fn close(self: &VTMultiPassStorage) -> OSStatus {
101 extern "C-unwind" {
102 fn VTMultiPassStorageClose(multi_pass_storage: &VTMultiPassStorage) -> OSStatus;
103 }
104 unsafe { VTMultiPassStorageClose(self) }
105 }
106}
107
108extern "C-unwind" {
109 #[cfg(feature = "objc2-core-media")]
110 #[deprecated = "renamed to `VTMultiPassStorage::create`"]
111 pub fn VTMultiPassStorageCreate(
112 allocator: Option<&CFAllocator>,
113 file_url: Option<&CFURL>,
114 time_range: CMTimeRange,
115 options: Option<&CFDictionary>,
116 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
117 ) -> OSStatus;
118}
119
120extern "C-unwind" {
121 #[deprecated = "renamed to `VTMultiPassStorage::close`"]
122 pub fn VTMultiPassStorageClose(multi_pass_storage: &VTMultiPassStorage) -> OSStatus;
123}