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#[doc(alias = "VTMultiPassStorageRef")]
21#[repr(C)]
22pub struct VTMultiPassStorage {
23 inner: [u8; 0],
24 _p: UnsafeCell<PhantomData<(*const UnsafeCell<()>, PhantomPinned)>>,
25}
26
27cf_type!(
28 unsafe impl VTMultiPassStorage {}
29);
30#[cfg(feature = "objc2")]
31cf_objc2_type!(
32 unsafe impl RefEncode<"OpaqueVTMultiPassStorage"> for VTMultiPassStorage {}
33);
34
35unsafe impl ConcreteType for VTMultiPassStorage {
36 #[doc(alias = "VTMultiPassStorageGetTypeID")]
37 #[inline]
38 fn type_id() -> CFTypeID {
39 extern "C-unwind" {
40 fn VTMultiPassStorageGetTypeID() -> CFTypeID;
41 }
42 unsafe { VTMultiPassStorageGetTypeID() }
43 }
44}
45
46impl VTMultiPassStorage {
47 #[doc(alias = "VTMultiPassStorageCreate")]
64 #[cfg(feature = "objc2-core-media")]
65 #[inline]
66 pub unsafe fn create(
67 allocator: Option<&CFAllocator>,
68 file_url: Option<&CFURL>,
69 time_range: CMTimeRange,
70 options: Option<&CFDictionary>,
71 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
72 ) -> OSStatus {
73 extern "C-unwind" {
74 fn VTMultiPassStorageCreate(
75 allocator: Option<&CFAllocator>,
76 file_url: Option<&CFURL>,
77 time_range: CMTimeRange,
78 options: Option<&CFDictionary>,
79 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
80 ) -> OSStatus;
81 }
82 unsafe {
83 VTMultiPassStorageCreate(
84 allocator,
85 file_url,
86 time_range,
87 options,
88 multi_pass_storage_out,
89 )
90 }
91 }
92}
93
94extern "C" {
95 pub static kVTMultiPassStorageCreationOption_DoNotDelete: &'static CFString;
97}
98
99impl VTMultiPassStorage {
100 #[doc(alias = "VTMultiPassStorageClose")]
105 #[inline]
106 pub unsafe fn close(&self) -> OSStatus {
107 extern "C-unwind" {
108 fn VTMultiPassStorageClose(multi_pass_storage: &VTMultiPassStorage) -> OSStatus;
109 }
110 unsafe { VTMultiPassStorageClose(self) }
111 }
112}
113
114extern "C-unwind" {
115 #[cfg(feature = "objc2-core-media")]
116 #[deprecated = "renamed to `VTMultiPassStorage::create`"]
117 pub fn VTMultiPassStorageCreate(
118 allocator: Option<&CFAllocator>,
119 file_url: Option<&CFURL>,
120 time_range: CMTimeRange,
121 options: Option<&CFDictionary>,
122 multi_pass_storage_out: NonNull<*mut VTMultiPassStorage>,
123 ) -> OSStatus;
124}
125
126extern "C-unwind" {
127 #[deprecated = "renamed to `VTMultiPassStorage::close`"]
128 pub fn VTMultiPassStorageClose(multi_pass_storage: &VTMultiPassStorage) -> OSStatus;
129}