objc2_av_foundation/generated/AVAssetVariant.rs
1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8#[cfg(feature = "objc2-core-media")]
9use objc2_core_media::*;
10use objc2_foundation::*;
11
12use crate::*;
13
14extern_class!(
15 /// An AVAssetVariant represents a bit rate variant. Each asset contains a collection of variants that represent a combination of audio, video, text, closed captions, and subtitles for a particular bit rate. Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
16 ///
17 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariant?language=objc)
18 #[unsafe(super(NSObject))]
19 #[derive(Debug, PartialEq, Eq, Hash)]
20 pub struct AVAssetVariant;
21);
22
23unsafe impl Send for AVAssetVariant {}
24
25unsafe impl Sync for AVAssetVariant {}
26
27extern_conformance!(
28 unsafe impl NSObjectProtocol for AVAssetVariant {}
29);
30
31impl AVAssetVariant {
32 extern_methods!(
33 #[unsafe(method(init))]
34 #[unsafe(method_family = init)]
35 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
36
37 #[unsafe(method(new))]
38 #[unsafe(method_family = new)]
39 pub unsafe fn new() -> Retained<Self>;
40
41 /// If it is not declared, the value will be negative.
42 ///
43 /// This property is not atomic.
44 ///
45 /// # Safety
46 ///
47 /// This might not be thread-safe.
48 #[unsafe(method(peakBitRate))]
49 #[unsafe(method_family = none)]
50 pub unsafe fn peakBitRate(&self) -> c_double;
51
52 /// If it is not declared, the value will be negative.
53 ///
54 /// This property is not atomic.
55 ///
56 /// # Safety
57 ///
58 /// This might not be thread-safe.
59 #[unsafe(method(averageBitRate))]
60 #[unsafe(method_family = none)]
61 pub unsafe fn averageBitRate(&self) -> c_double;
62
63 /// Provides variant's video rendition attributes. If no video attributes are declared, it will be nil.
64 ///
65 /// This property is not atomic.
66 ///
67 /// # Safety
68 ///
69 /// This might not be thread-safe.
70 #[unsafe(method(videoAttributes))]
71 #[unsafe(method_family = none)]
72 pub unsafe fn videoAttributes(&self) -> Option<Retained<AVAssetVariantVideoAttributes>>;
73
74 /// Provides variant's audio rendition attributes. If no audio attributes are declared, it will be nil.
75 ///
76 /// This property is not atomic.
77 ///
78 /// # Safety
79 ///
80 /// This might not be thread-safe.
81 #[unsafe(method(audioAttributes))]
82 #[unsafe(method_family = none)]
83 pub unsafe fn audioAttributes(&self) -> Option<Retained<AVAssetVariantAudioAttributes>>;
84
85 /// Provides URL to media playlist corresponding to variant
86 ///
87 /// This property is not atomic.
88 ///
89 /// # Safety
90 ///
91 /// This might not be thread-safe.
92 #[unsafe(method(URL))]
93 #[unsafe(method_family = none)]
94 pub unsafe fn URL(&self) -> Retained<NSURL>;
95 );
96}
97
98extern_class!(
99 /// Video attributes for an asset variant.
100 ///
101 /// Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
102 ///
103 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariantvideoattributes?language=objc)
104 #[unsafe(super(NSObject))]
105 #[derive(Debug, PartialEq, Eq, Hash)]
106 pub struct AVAssetVariantVideoAttributes;
107);
108
109extern_conformance!(
110 unsafe impl NSObjectProtocol for AVAssetVariantVideoAttributes {}
111);
112
113impl AVAssetVariantVideoAttributes {
114 extern_methods!(
115 #[unsafe(method(init))]
116 #[unsafe(method_family = init)]
117 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
118
119 #[unsafe(method(new))]
120 #[unsafe(method_family = new)]
121 pub unsafe fn new() -> Retained<Self>;
122
123 #[cfg(feature = "AVMediaFormat")]
124 /// Provides the video range of the variant. If it is not declared, it will be AVVideoRangeSDR.
125 #[unsafe(method(videoRange))]
126 #[unsafe(method_family = none)]
127 pub unsafe fn videoRange(&self) -> Retained<AVVideoRange>;
128
129 /// Provides an array of video sample codec types present in the variant's renditions if any are declared. Each value in the array is a NSNumber representation of CMVideoCodecType.
130 #[unsafe(method(codecTypes))]
131 #[unsafe(method_family = none)]
132 pub unsafe fn codecTypes(&self) -> Retained<NSArray<NSNumber>>;
133
134 #[cfg(feature = "objc2-core-foundation")]
135 /// If it is not declared, it will be CGSizeZero.
136 #[unsafe(method(presentationSize))]
137 #[unsafe(method_family = none)]
138 pub unsafe fn presentationSize(&self) -> CGSize;
139
140 /// If it is not declared, the value will be negative.
141 #[unsafe(method(nominalFrameRate))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn nominalFrameRate(&self) -> c_double;
144
145 /// Describes the video layout attributes.
146 ///
147 /// videoLayoutAttributes' count may be greater than one if this variant contains a collection of differing video layout media attributes over time.
148 #[unsafe(method(videoLayoutAttributes))]
149 #[unsafe(method_family = none)]
150 pub unsafe fn videoLayoutAttributes(
151 &self,
152 ) -> Retained<NSArray<AVAssetVariantVideoLayoutAttributes>>;
153 );
154}
155
156extern_class!(
157 /// Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
158 ///
159 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariantvideolayoutattributes?language=objc)
160 #[unsafe(super(NSObject))]
161 #[derive(Debug, PartialEq, Eq, Hash)]
162 pub struct AVAssetVariantVideoLayoutAttributes;
163);
164
165unsafe impl Send for AVAssetVariantVideoLayoutAttributes {}
166
167unsafe impl Sync for AVAssetVariantVideoLayoutAttributes {}
168
169extern_conformance!(
170 unsafe impl NSObjectProtocol for AVAssetVariantVideoLayoutAttributes {}
171);
172
173impl AVAssetVariantVideoLayoutAttributes {
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 #[cfg(feature = "objc2-core-media")]
184 /// Describes the stereo components. If not declared, the value will be `kCMStereoViewComponent_None`. In case of monoscopic content, the value will be `kCMStereoViewComponent_None` and incase of stereoscopic content, the value will be `(kCMStereoViewComponent_LeftEye | kCMStereoViewComponent_RightEye)`.
185 ///
186 /// This property is not atomic.
187 ///
188 /// # Safety
189 ///
190 /// This might not be thread-safe.
191 #[unsafe(method(stereoViewComponents))]
192 #[unsafe(method_family = none)]
193 pub unsafe fn stereoViewComponents(&self) -> CMStereoViewComponents;
194
195 #[cfg(feature = "objc2-core-media")]
196 /// Describes the video projection.
197 ///
198 /// This property is not atomic.
199 ///
200 /// # Safety
201 ///
202 /// This might not be thread-safe.
203 #[unsafe(method(projectionType))]
204 #[unsafe(method_family = none)]
205 pub unsafe fn projectionType(&self) -> CMProjectionType;
206 );
207}
208
209extern_class!(
210 /// Audio attributes for an asset variant.
211 ///
212 /// Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
213 ///
214 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariantaudioattributes?language=objc)
215 #[unsafe(super(NSObject))]
216 #[derive(Debug, PartialEq, Eq, Hash)]
217 pub struct AVAssetVariantAudioAttributes;
218);
219
220unsafe impl Send for AVAssetVariantAudioAttributes {}
221
222unsafe impl Sync for AVAssetVariantAudioAttributes {}
223
224extern_conformance!(
225 unsafe impl NSObjectProtocol for AVAssetVariantAudioAttributes {}
226);
227
228impl AVAssetVariantAudioAttributes {
229 extern_methods!(
230 #[unsafe(method(init))]
231 #[unsafe(method_family = init)]
232 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
233
234 #[unsafe(method(new))]
235 #[unsafe(method_family = new)]
236 pub unsafe fn new() -> Retained<Self>;
237
238 /// Provides an array of audio formats present in the variant's renditions if any are declared. Each value in the array is a NSNumber representation of AudioFormatID.
239 ///
240 /// This property is not atomic.
241 ///
242 /// # Safety
243 ///
244 /// This might not be thread-safe.
245 #[unsafe(method(formatIDs))]
246 #[unsafe(method_family = none)]
247 pub unsafe fn formatIDs(&self) -> Retained<NSArray<NSNumber>>;
248
249 #[cfg(feature = "AVMediaSelectionGroup")]
250 /// Provides attributes for a specific audio media selection option. If no rendition specific attributes are declared, it will be nil.
251 ///
252 /// - Parameter mediaSelectionOption: The option to return rendition specific information for.
253 #[unsafe(method(renditionSpecificAttributesForMediaOption:))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn renditionSpecificAttributesForMediaOption(
256 &self,
257 media_selection_option: &AVMediaSelectionOption,
258 ) -> Option<Retained<AVAssetVariantAudioRenditionSpecificAttributes>>;
259 );
260}
261
262extern_class!(
263 /// Audio rendition attributes for an asset variant.
264 ///
265 /// Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
266 ///
267 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariantaudiorenditionspecificattributes?language=objc)
268 #[unsafe(super(NSObject))]
269 #[derive(Debug, PartialEq, Eq, Hash)]
270 pub struct AVAssetVariantAudioRenditionSpecificAttributes;
271);
272
273unsafe impl Send for AVAssetVariantAudioRenditionSpecificAttributes {}
274
275unsafe impl Sync for AVAssetVariantAudioRenditionSpecificAttributes {}
276
277extern_conformance!(
278 unsafe impl NSObjectProtocol for AVAssetVariantAudioRenditionSpecificAttributes {}
279);
280
281impl AVAssetVariantAudioRenditionSpecificAttributes {
282 extern_methods!(
283 /// If it is not declared, the value will be negative.
284 ///
285 /// A channel count greater than two indicates that the variant offers a rich multichannel authoring.
286 ///
287 /// This property is not atomic.
288 ///
289 /// # Safety
290 ///
291 /// This might not be thread-safe.
292 #[unsafe(method(channelCount))]
293 #[unsafe(method_family = none)]
294 pub unsafe fn channelCount(&self) -> NSInteger;
295
296 /// Indicates that the variant is best suited for delivery to headphones.
297 ///
298 /// A binaural variant may originate from a direct binaural recording or from the processing of a multichannel audio source.
299 ///
300 /// This property is not atomic.
301 ///
302 /// # Safety
303 ///
304 /// This might not be thread-safe.
305 #[unsafe(method(isBinaural))]
306 #[unsafe(method_family = none)]
307 pub unsafe fn isBinaural(&self) -> bool;
308
309 /// Indicates that this variant contains virtualized or otherwise pre-processed audio content that is suitable for a variety of purposes.
310 ///
311 /// If a variant audio redition is immersive it is eligible for rendering either to headphones or speakers.
312 ///
313 /// This property is not atomic.
314 ///
315 /// # Safety
316 ///
317 /// This might not be thread-safe.
318 #[unsafe(method(isImmersive))]
319 #[unsafe(method_family = none)]
320 pub unsafe fn isImmersive(&self) -> bool;
321
322 /// Indicates that this variant is declared as a downmix derivative of other media of greater channel count.
323 ///
324 /// If one or more multichannel variants are also provided, the dowmix is assumed to be compatible in its internal timing and other attributes with those variants. Typically this is because it has been derived from the same source. A downmix can be used as a suitable substitute for a multichannel variant under some conditions.
325 ///
326 /// This property is not atomic.
327 ///
328 /// # Safety
329 ///
330 /// This might not be thread-safe.
331 #[unsafe(method(isDownmix))]
332 #[unsafe(method_family = none)]
333 pub unsafe fn isDownmix(&self) -> bool;
334 );
335}
336
337/// Methods declared on superclass `NSObject`.
338impl AVAssetVariantAudioRenditionSpecificAttributes {
339 extern_methods!(
340 #[unsafe(method(init))]
341 #[unsafe(method_family = init)]
342 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
343
344 #[unsafe(method(new))]
345 #[unsafe(method_family = new)]
346 pub unsafe fn new() -> Retained<Self>;
347 );
348}
349
350extern_class!(
351 /// The qualifier of an asset variant.
352 ///
353 /// Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
354 ///
355 /// See also [Apple's documentation](https://developer.apple.com/documentation/avfoundation/avassetvariantqualifier?language=objc)
356 #[unsafe(super(NSObject))]
357 #[derive(Debug, PartialEq, Eq, Hash)]
358 pub struct AVAssetVariantQualifier;
359);
360
361unsafe impl Send for AVAssetVariantQualifier {}
362
363unsafe impl Sync for AVAssetVariantQualifier {}
364
365extern_conformance!(
366 unsafe impl NSCopying for AVAssetVariantQualifier {}
367);
368
369unsafe impl CopyingHelper for AVAssetVariantQualifier {
370 type Result = Self;
371}
372
373extern_conformance!(
374 unsafe impl NSObjectProtocol for AVAssetVariantQualifier {}
375);
376
377impl AVAssetVariantQualifier {
378 extern_methods!(
379 #[unsafe(method(init))]
380 #[unsafe(method_family = init)]
381 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
382
383 #[unsafe(method(new))]
384 #[unsafe(method_family = new)]
385 pub unsafe fn new() -> Retained<Self>;
386
387 /// Returns a qualifer for a predicate.
388 ///
389 /// - Parameter predicate: The variant predicate. Must be a valid, non-nil NSPredicate.
390 #[unsafe(method(assetVariantQualifierWithPredicate:))]
391 #[unsafe(method_family = none)]
392 pub unsafe fn assetVariantQualifierWithPredicate(predicate: &NSPredicate)
393 -> Retained<Self>;
394
395 /// Returns a qualifer for a particular asset variant.
396 ///
397 /// - Parameter variant: A variant obtained from the -[AVAsset variants] or -[AVAssetDownloadConfiguration playableVariants]. Must be a valid, non-nil AVAssetVariant.
398 #[unsafe(method(assetVariantQualifierWithVariant:))]
399 #[unsafe(method_family = none)]
400 pub unsafe fn assetVariantQualifierWithVariant(variant: &AVAssetVariant) -> Retained<Self>;
401
402 /// Returns a qualifer for finding variant with minimum value in the input key path.
403 ///
404 /// - Parameter keyPath: AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString.
405 #[unsafe(method(assetVariantQualifierForMinimumValueInKeyPath:))]
406 #[unsafe(method_family = none)]
407 pub unsafe fn assetVariantQualifierForMinimumValueInKeyPath(
408 key_path: &NSString,
409 ) -> Retained<Self>;
410
411 /// Returns a qualifer for finding variant with maximum value in the input key path
412 ///
413 /// - Parameter keyPath: AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString.
414 #[unsafe(method(assetVariantQualifierForMaximumValueInKeyPath:))]
415 #[unsafe(method_family = none)]
416 pub unsafe fn assetVariantQualifierForMaximumValueInKeyPath(
417 key_path: &NSString,
418 ) -> Retained<Self>;
419
420 #[cfg(feature = "AVMediaSelectionGroup")]
421 /// Creates a NSPredicate for audio channel count which can be used with other NSPredicates to express variant preferences.
422 ///
423 /// - Parameter channelCount: The RHS value for the channel count in the predicate equation.
424 /// - Parameter mediaSelectionOption: The audio media selection option under consideration.
425 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
426 #[unsafe(method(predicateForChannelCount:mediaSelectionOption:operatorType:))]
427 #[unsafe(method_family = none)]
428 pub unsafe fn predicateForChannelCount_mediaSelectionOption_operatorType(
429 channel_count: NSInteger,
430 media_selection_option: Option<&AVMediaSelectionOption>,
431 operator_type: NSPredicateOperatorType,
432 ) -> Retained<NSPredicate>;
433
434 #[cfg(feature = "AVMediaSelectionGroup")]
435 /// Creates a NSPredicate for binaural which can be used with other NSPredicates to express variant preferences.
436 ///
437 /// - Parameter isBinaural: The RHS value for the value of isBinauralAudio in the predicate equation.
438 /// - Parameter mediaSelectionOption: The audio media selection option under consideration.
439 #[unsafe(method(predicateForBinauralAudio:mediaSelectionOption:))]
440 #[unsafe(method_family = none)]
441 pub unsafe fn predicateForBinauralAudio_mediaSelectionOption(
442 is_binaural_audio: bool,
443 media_selection_option: Option<&AVMediaSelectionOption>,
444 ) -> Retained<NSPredicate>;
445
446 #[cfg(feature = "AVMediaSelectionGroup")]
447 /// Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
448 ///
449 /// - Parameter isImmersiveAudio: The RHS value for the value of isImmersiveAudio in the predicate equation.
450 /// - Parameter mediaSelectionOption: The audio media selection option under consideration.
451 #[unsafe(method(predicateForImmersiveAudio:mediaSelectionOption:))]
452 #[unsafe(method_family = none)]
453 pub unsafe fn predicateForImmersiveAudio_mediaSelectionOption(
454 is_immersive_audio: bool,
455 media_selection_option: Option<&AVMediaSelectionOption>,
456 ) -> Retained<NSPredicate>;
457
458 #[cfg(feature = "AVMediaSelectionGroup")]
459 /// Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
460 ///
461 /// - Parameter isDownmixAudio: The RHS value for the value of isDownmixAudio in the predicate equation.
462 /// - Parameter mediaSelectionOption: The audio media selection option under consideration.
463 #[unsafe(method(predicateForDownmixAudio:mediaSelectionOption:))]
464 #[unsafe(method_family = none)]
465 pub unsafe fn predicateForDownmixAudio_mediaSelectionOption(
466 is_downmix_audio: bool,
467 media_selection_option: Option<&AVMediaSelectionOption>,
468 ) -> Retained<NSPredicate>;
469
470 #[cfg(feature = "objc2-core-foundation")]
471 /// Creates a NSPredicate for presentation size width which can be used with other NSPredicates to express variant preferences.
472 ///
473 /// - Parameter width: The RHS value for the presentation size width in the predicate equation.
474 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
475 #[unsafe(method(predicateForPresentationWidth:operatorType:))]
476 #[unsafe(method_family = none)]
477 pub unsafe fn predicateForPresentationWidth_operatorType(
478 width: CGFloat,
479 operator_type: NSPredicateOperatorType,
480 ) -> Retained<NSPredicate>;
481
482 #[cfg(feature = "objc2-core-foundation")]
483 /// Creates a NSPredicate for presentation size height which can be used with other NSPredicates to express variant preferences.
484 ///
485 /// - Parameter height: The RHS value for the presentation size height in the predicate equation.
486 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
487 #[unsafe(method(predicateForPresentationHeight:operatorType:))]
488 #[unsafe(method_family = none)]
489 pub unsafe fn predicateForPresentationHeight_operatorType(
490 height: CGFloat,
491 operator_type: NSPredicateOperatorType,
492 ) -> Retained<NSPredicate>;
493
494 #[cfg(feature = "AVMediaSelectionGroup")]
495 /// Creates a NSPredicate for audio sample rate which can be used with other NSPredicates to express variant preferences.
496 ///
497 /// - Parameter sampleRate: The RHS value for the sample rate in the predicate equation.
498 /// - Parameter mediaSelectionOption: The audio media selection option under consideration.
499 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
500 #[unsafe(method(predicateForAudioSampleRate:mediaSelectionOption:operatorType:))]
501 #[unsafe(method_family = none)]
502 pub unsafe fn predicateForAudioSampleRate_mediaSelectionOption_operatorType(
503 sample_rate: c_double,
504 media_selection_option: Option<&AVMediaSelectionOption>,
505 operator_type: NSPredicateOperatorType,
506 ) -> Retained<NSPredicate>;
507
508 /// Creates a NSPredicate for audio channel count which can be used with other NSPredicates to express variant preferences.
509 ///
510 /// Predicate will be evaluated on the media selection option selected for the asset.
511 /// Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property.
512 /// Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
513 ///
514 /// - Parameter channelCount: The RHS value for the channel count in the predicate equation.
515 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
516 #[unsafe(method(predicateForChannelCount:operatorType:))]
517 #[unsafe(method_family = none)]
518 pub unsafe fn predicateForChannelCount_operatorType(
519 channel_count: NSInteger,
520 operator_type: NSPredicateOperatorType,
521 ) -> Retained<NSPredicate>;
522
523 /// Creates a NSPredicate for binaural which can be used with other NSPredicates to express variant preferences.
524 ///
525 /// - Parameter isBinaural: The RHS value for the value of isBinauralAudio in the predicate equation.
526 #[unsafe(method(predicateForBinauralAudio:))]
527 #[unsafe(method_family = none)]
528 pub unsafe fn predicateForBinauralAudio(is_binaural_audio: bool) -> Retained<NSPredicate>;
529
530 /// Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
531 ///
532 /// Predicate will be evaluated on the media selection option selected for the asset.
533 /// Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property.
534 /// Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
535 ///
536 /// - Parameter isImmersiveAudio: The RHS value for the value of isImmersiveAudio in the predicate equation.
537 #[unsafe(method(predicateForImmersiveAudio:))]
538 #[unsafe(method_family = none)]
539 pub unsafe fn predicateForImmersiveAudio(is_immersive_audio: bool)
540 -> Retained<NSPredicate>;
541
542 /// Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
543 ///
544 /// Predicate will be evaluated on the media selection option selected for the asset.
545 /// Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property.
546 /// Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
547 ///
548 /// - Parameter isDownmixAudio: The RHS value for the value of isDownmixAudio in the predicate equation.
549 #[unsafe(method(predicateForDownmixAudio:))]
550 #[unsafe(method_family = none)]
551 pub unsafe fn predicateForDownmixAudio(is_downmix_audio: bool) -> Retained<NSPredicate>;
552
553 /// Creates a NSPredicate for audio sample rate which can be used with other NSPredicates to express variant preferences.
554 ///
555 /// Predicate will be evaluated on the media selection option selected for the asset.
556 /// Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property.
557 /// Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
558 ///
559 /// - Parameter sampleRate: The RHS value for the sample rate in the predicate equation.
560 /// - Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
561 #[unsafe(method(predicateForAudioSampleRate:operatorType:))]
562 #[unsafe(method_family = none)]
563 pub unsafe fn predicateForAudioSampleRate_operatorType(
564 sample_rate: c_double,
565 operator_type: NSPredicateOperatorType,
566 ) -> Retained<NSPredicate>;
567 );
568}