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 {
113 extern_methods!(
114 #[cfg(feature = "objc2-av-foundation")]
115 #[unsafe(method(frameTimingTrack))]
117 #[unsafe(method_family = none)]
118 pub unsafe fn frameTimingTrack(&self) -> Retained<AVAssetTrack>;
119
120 #[cfg(feature = "objc2-av-foundation")]
121 #[unsafe(method(videoCompositionTracks))]
123 #[unsafe(method_family = none)]
124 pub unsafe fn videoCompositionTracks(&self) -> Retained<NSArray<AVAssetTrack>>;
125
126 #[unsafe(method(videoCompositionTrackIDs))]
128 #[unsafe(method_family = none)]
129 pub unsafe fn videoCompositionTrackIDs(&self) -> Retained<NSArray<NSNumber>>;
130
131 #[unsafe(method(sampleDataTrackIDs))]
133 #[unsafe(method_family = none)]
134 pub unsafe fn sampleDataTrackIDs(&self) -> Retained<NSArray<NSNumber>>;
135 );
136}
137
138extern_class!(
139 #[unsafe(super(CNAssetInfo, NSObject))]
143 #[derive(Debug, PartialEq, Eq, Hash)]
144 pub struct CNCompositionInfo;
145);
146
147extern_conformance!(
148 unsafe impl NSObjectProtocol for CNCompositionInfo {}
149);
150
151impl CNCompositionInfo {
152 extern_methods!(
153 #[cfg(feature = "objc2-core-media")]
154 #[unsafe(method(insertTimeRange:ofCinematicAssetInfo:atTime:error:_))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn insertTimeRange_ofCinematicAssetInfo_atTime_error(
164 &self,
165 time_range: CMTimeRange,
166 asset_info: &CNAssetInfo,
167 start_time: CMTime,
168 ) -> Result<(), Retained<NSError>>;
169 );
170}
171
172impl CNCompositionInfo {
174 extern_methods!(
175 #[unsafe(method(init))]
176 #[unsafe(method_family = init)]
177 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
178
179 #[unsafe(method(new))]
180 #[unsafe(method_family = new)]
181 pub unsafe fn new() -> Retained<Self>;
182 );
183}
184
185mod private_AVMutableCompositionCNComposition {
186 pub trait Sealed {}
187}
188
189#[doc(alias = "CNComposition")]
191pub unsafe trait AVMutableCompositionCNComposition:
192 ClassType + Sized + private_AVMutableCompositionCNComposition::Sealed
193{
194 extern_methods!(
195 #[cfg(feature = "objc2-core-media")]
196 #[unsafe(method(addTracksForCinematicAssetInfo:preferredStartingTrackID:))]
200 #[unsafe(method_family = none)]
201 unsafe fn addTracksForCinematicAssetInfo_preferredStartingTrackID(
202 &self,
203 asset_info: &CNAssetInfo,
204 preferred_starting_track_id: CMPersistentTrackID,
205 ) -> Retained<CNCompositionInfo>;
206 );
207}
208
209#[cfg(feature = "objc2-av-foundation")]
210impl private_AVMutableCompositionCNComposition::Sealed for AVMutableComposition {}
211#[cfg(feature = "objc2-av-foundation")]
212unsafe impl AVMutableCompositionCNComposition for AVMutableComposition {}