objc2_cinematic/generated/
CNAssetInfo.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-av-foundation")]
7use objc2_av_foundation::*;
8#[cfg(feature = "objc2-core-foundation")]
9use objc2_core_foundation::*;
10#[cfg(feature = "objc2-core-media")]
11use objc2_core_media::*;
12use objc2_foundation::*;
13
14use crate::*;
15
16extern_class!(
17 #[unsafe(super(NSObject))]
21 #[derive(Debug, PartialEq, Eq, Hash)]
22 pub struct CNAssetInfo;
23);
24
25extern_conformance!(
26 unsafe impl NSObjectProtocol for CNAssetInfo {}
27);
28
29impl CNAssetInfo {
30 extern_methods!(
31 #[cfg(all(feature = "block2", feature = "objc2-av-foundation"))]
32 #[unsafe(method(checkIfCinematic:completionHandler:))]
34 #[unsafe(method_family = none)]
35 pub unsafe fn checkIfCinematic_completionHandler(
36 asset: &AVAsset,
37 completion_handler: &block2::DynBlock<dyn Fn(Bool)>,
38 );
39
40 #[cfg(all(feature = "block2", feature = "objc2-av-foundation"))]
41 #[unsafe(method(loadFromAsset:completionHandler:))]
43 #[unsafe(method_family = none)]
44 pub unsafe fn loadFromAsset_completionHandler(
45 asset: &AVAsset,
46 completion_handler: &block2::DynBlock<dyn Fn(*mut CNAssetInfo, *mut NSError)>,
47 );
48
49 #[cfg(feature = "objc2-av-foundation")]
50 #[unsafe(method(asset))]
51 #[unsafe(method_family = none)]
52 pub unsafe fn asset(&self) -> Retained<AVAsset>;
53
54 #[cfg(feature = "objc2-av-foundation")]
55 #[unsafe(method(allCinematicTracks))]
56 #[unsafe(method_family = none)]
57 pub unsafe fn allCinematicTracks(&self) -> Retained<NSArray<AVAssetTrack>>;
58
59 #[cfg(feature = "objc2-av-foundation")]
60 #[unsafe(method(cinematicVideoTrack))]
61 #[unsafe(method_family = none)]
62 pub unsafe fn cinematicVideoTrack(&self) -> Retained<AVAssetTrack>;
63
64 #[cfg(feature = "objc2-av-foundation")]
65 #[unsafe(method(cinematicDisparityTrack))]
66 #[unsafe(method_family = none)]
67 pub unsafe fn cinematicDisparityTrack(&self) -> Retained<AVAssetTrack>;
68
69 #[cfg(feature = "objc2-av-foundation")]
70 #[unsafe(method(cinematicMetadataTrack))]
71 #[unsafe(method_family = none)]
72 pub unsafe fn cinematicMetadataTrack(&self) -> Retained<AVAssetTrack>;
73
74 #[cfg(feature = "objc2-core-media")]
75 #[unsafe(method(timeRange))]
77 #[unsafe(method_family = none)]
78 pub unsafe fn timeRange(&self) -> CMTimeRange;
79
80 #[cfg(feature = "objc2-core-foundation")]
81 #[unsafe(method(naturalSize))]
83 #[unsafe(method_family = none)]
84 pub unsafe fn naturalSize(&self) -> CGSize;
85
86 #[cfg(feature = "objc2-core-foundation")]
87 #[unsafe(method(preferredSize))]
90 #[unsafe(method_family = none)]
91 pub unsafe fn preferredSize(&self) -> CGSize;
92
93 #[cfg(feature = "objc2-core-foundation")]
94 #[unsafe(method(preferredTransform))]
97 #[unsafe(method_family = none)]
98 pub unsafe fn preferredTransform(&self) -> CGAffineTransform;
99
100 #[unsafe(method(init))]
101 #[unsafe(method_family = init)]
102 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
103
104 #[unsafe(method(new))]
105 #[unsafe(method_family = new)]
106 pub unsafe fn new() -> Retained<Self>;
107 );
108}
109
110impl CNAssetInfo {
114 extern_methods!(
115 #[cfg(feature = "objc2-av-foundation")]
116 #[unsafe(method(frameTimingTrack))]
118 #[unsafe(method_family = none)]
119 pub unsafe fn frameTimingTrack(&self) -> Retained<AVAssetTrack>;
120
121 #[cfg(feature = "objc2-av-foundation")]
122 #[unsafe(method(videoCompositionTracks))]
124 #[unsafe(method_family = none)]
125 pub unsafe fn videoCompositionTracks(&self) -> Retained<NSArray<AVAssetTrack>>;
126
127 #[unsafe(method(videoCompositionTrackIDs))]
129 #[unsafe(method_family = none)]
130 pub unsafe fn videoCompositionTrackIDs(&self) -> Retained<NSArray<NSNumber>>;
131
132 #[unsafe(method(sampleDataTrackIDs))]
134 #[unsafe(method_family = none)]
135 pub unsafe fn sampleDataTrackIDs(&self) -> Retained<NSArray<NSNumber>>;
136 );
137}
138
139extern_class!(
140 #[unsafe(super(CNAssetInfo, NSObject))]
144 #[derive(Debug, PartialEq, Eq, Hash)]
145 pub struct CNCompositionInfo;
146);
147
148extern_conformance!(
149 unsafe impl NSObjectProtocol for CNCompositionInfo {}
150);
151
152impl CNCompositionInfo {
153 extern_methods!(
154 #[cfg(feature = "objc2-core-media")]
155 #[unsafe(method(insertTimeRange:ofCinematicAssetInfo:atTime:error:_))]
163 #[unsafe(method_family = none)]
164 pub unsafe fn insertTimeRange_ofCinematicAssetInfo_atTime_error(
165 &self,
166 time_range: CMTimeRange,
167 asset_info: &CNAssetInfo,
168 start_time: CMTime,
169 ) -> Result<(), Retained<NSError>>;
170 );
171}
172
173impl CNCompositionInfo {
175 extern_methods!(
176 #[unsafe(method(init))]
177 #[unsafe(method_family = init)]
178 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
179
180 #[unsafe(method(new))]
181 #[unsafe(method_family = new)]
182 pub unsafe fn new() -> Retained<Self>;
183 );
184}
185
186mod private_AVMutableCompositionCNComposition {
187 pub trait Sealed {}
188}
189
190#[doc(alias = "CNComposition")]
192pub unsafe trait AVMutableCompositionCNComposition:
193 ClassType + Sized + private_AVMutableCompositionCNComposition::Sealed
194{
195 extern_methods!(
196 #[cfg(feature = "objc2-core-media")]
197 #[unsafe(method(addTracksForCinematicAssetInfo:preferredStartingTrackID:))]
201 #[unsafe(method_family = none)]
202 unsafe fn addTracksForCinematicAssetInfo_preferredStartingTrackID(
203 &self,
204 asset_info: &CNAssetInfo,
205 preferred_starting_track_id: CMPersistentTrackID,
206 ) -> Retained<CNCompositionInfo>;
207 );
208}
209
210#[cfg(feature = "objc2-av-foundation")]
211impl private_AVMutableCompositionCNComposition::Sealed for AVMutableComposition {}
212#[cfg(feature = "objc2-av-foundation")]
213unsafe impl AVMutableCompositionCNComposition for AVMutableComposition {}