pub struct AVAssetVariantQualifier { /* private fields */ }AVAssetVariant only.Expand description
The qualifier of an asset variant.
Subclasses of this type that are used from Swift must fulfill the requirements of a Sendable type.
See also Apple’s documentation
Implementations§
Source§impl AVAssetVariantQualifier
impl AVAssetVariantQualifier
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
pub unsafe fn new() -> Retained<Self>
Sourcepub unsafe fn assetVariantQualifierWithPredicate(
predicate: &NSPredicate,
) -> Retained<Self>
pub unsafe fn assetVariantQualifierWithPredicate( predicate: &NSPredicate, ) -> Retained<Self>
Returns a qualifer for a predicate.
- Parameter predicate: The variant predicate. Must be a valid, non-nil NSPredicate.
Sourcepub unsafe fn assetVariantQualifierWithVariant(
variant: &AVAssetVariant,
) -> Retained<Self>
pub unsafe fn assetVariantQualifierWithVariant( variant: &AVAssetVariant, ) -> Retained<Self>
Returns a qualifer for a particular asset variant.
- Parameter variant: A variant obtained from the -[AVAsset variants] or -[AVAssetDownloadConfiguration playableVariants]. Must be a valid, non-nil AVAssetVariant.
Sourcepub unsafe fn assetVariantQualifierForMinimumValueInKeyPath(
key_path: &NSString,
) -> Retained<Self>
pub unsafe fn assetVariantQualifierForMinimumValueInKeyPath( key_path: &NSString, ) -> Retained<Self>
Returns a qualifer for finding variant with minimum value in the input key path.
- Parameter keyPath: AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString.
Sourcepub unsafe fn assetVariantQualifierForMaximumValueInKeyPath(
key_path: &NSString,
) -> Retained<Self>
pub unsafe fn assetVariantQualifierForMaximumValueInKeyPath( key_path: &NSString, ) -> Retained<Self>
Returns a qualifer for finding variant with maximum value in the input key path
- Parameter keyPath: AVAssetVariant keyPath. Allowed keyPath values are peakBitRate, averageBitRate, videoAttributes.presentationSize. Must be a valid, non-nil NSString.
Sourcepub unsafe fn predicateForChannelCount_mediaSelectionOption_operatorType(
channel_count: NSInteger,
media_selection_option: Option<&AVMediaSelectionOption>,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
Available on crate feature AVMediaSelectionGroup only.
pub unsafe fn predicateForChannelCount_mediaSelectionOption_operatorType( channel_count: NSInteger, media_selection_option: Option<&AVMediaSelectionOption>, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
AVMediaSelectionGroup only.Creates a NSPredicate for audio channel count which can be used with other NSPredicates to express variant preferences.
- Parameter channelCount: The RHS value for the channel count in the predicate equation.
- Parameter mediaSelectionOption: The audio media selection option under consideration.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Sourcepub unsafe fn predicateForBinauralAudio_mediaSelectionOption(
is_binaural_audio: bool,
media_selection_option: Option<&AVMediaSelectionOption>,
) -> Retained<NSPredicate>
Available on crate feature AVMediaSelectionGroup only.
pub unsafe fn predicateForBinauralAudio_mediaSelectionOption( is_binaural_audio: bool, media_selection_option: Option<&AVMediaSelectionOption>, ) -> Retained<NSPredicate>
AVMediaSelectionGroup only.Creates a NSPredicate for binaural which can be used with other NSPredicates to express variant preferences.
- Parameter isBinaural: The RHS value for the value of isBinauralAudio in the predicate equation.
- Parameter mediaSelectionOption: The audio media selection option under consideration.
Sourcepub unsafe fn predicateForImmersiveAudio_mediaSelectionOption(
is_immersive_audio: bool,
media_selection_option: Option<&AVMediaSelectionOption>,
) -> Retained<NSPredicate>
Available on crate feature AVMediaSelectionGroup only.
pub unsafe fn predicateForImmersiveAudio_mediaSelectionOption( is_immersive_audio: bool, media_selection_option: Option<&AVMediaSelectionOption>, ) -> Retained<NSPredicate>
AVMediaSelectionGroup only.Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
- Parameter isImmersiveAudio: The RHS value for the value of isImmersiveAudio in the predicate equation.
- Parameter mediaSelectionOption: The audio media selection option under consideration.
Sourcepub unsafe fn predicateForDownmixAudio_mediaSelectionOption(
is_downmix_audio: bool,
media_selection_option: Option<&AVMediaSelectionOption>,
) -> Retained<NSPredicate>
Available on crate feature AVMediaSelectionGroup only.
pub unsafe fn predicateForDownmixAudio_mediaSelectionOption( is_downmix_audio: bool, media_selection_option: Option<&AVMediaSelectionOption>, ) -> Retained<NSPredicate>
AVMediaSelectionGroup only.Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
- Parameter isDownmixAudio: The RHS value for the value of isDownmixAudio in the predicate equation.
- Parameter mediaSelectionOption: The audio media selection option under consideration.
Sourcepub unsafe fn predicateForPresentationWidth_operatorType(
width: CGFloat,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
Available on crate feature objc2-core-foundation only.
pub unsafe fn predicateForPresentationWidth_operatorType( width: CGFloat, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
objc2-core-foundation only.Creates a NSPredicate for presentation size width which can be used with other NSPredicates to express variant preferences.
- Parameter width: The RHS value for the presentation size width in the predicate equation.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Sourcepub unsafe fn predicateForPresentationHeight_operatorType(
height: CGFloat,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
Available on crate feature objc2-core-foundation only.
pub unsafe fn predicateForPresentationHeight_operatorType( height: CGFloat, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
objc2-core-foundation only.Creates a NSPredicate for presentation size height which can be used with other NSPredicates to express variant preferences.
- Parameter height: The RHS value for the presentation size height in the predicate equation.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Sourcepub unsafe fn predicateForAudioSampleRate_mediaSelectionOption_operatorType(
sample_rate: c_double,
media_selection_option: Option<&AVMediaSelectionOption>,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
Available on crate feature AVMediaSelectionGroup only.
pub unsafe fn predicateForAudioSampleRate_mediaSelectionOption_operatorType( sample_rate: c_double, media_selection_option: Option<&AVMediaSelectionOption>, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
AVMediaSelectionGroup only.Creates a NSPredicate for audio sample rate which can be used with other NSPredicates to express variant preferences.
- Parameter sampleRate: The RHS value for the sample rate in the predicate equation.
- Parameter mediaSelectionOption: The audio media selection option under consideration.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Sourcepub unsafe fn predicateForChannelCount_operatorType(
channel_count: NSInteger,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
pub unsafe fn predicateForChannelCount_operatorType( channel_count: NSInteger, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
Creates a NSPredicate for audio channel count which can be used with other NSPredicates to express variant preferences.
Predicate will be evaluated on the media selection option selected for the asset. Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property. Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
- Parameter channelCount: The RHS value for the channel count in the predicate equation.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Sourcepub unsafe fn predicateForBinauralAudio(
is_binaural_audio: bool,
) -> Retained<NSPredicate>
pub unsafe fn predicateForBinauralAudio( is_binaural_audio: bool, ) -> Retained<NSPredicate>
Creates a NSPredicate for binaural which can be used with other NSPredicates to express variant preferences.
- Parameter isBinaural: The RHS value for the value of isBinauralAudio in the predicate equation.
Sourcepub unsafe fn predicateForImmersiveAudio(
is_immersive_audio: bool,
) -> Retained<NSPredicate>
pub unsafe fn predicateForImmersiveAudio( is_immersive_audio: bool, ) -> Retained<NSPredicate>
Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
Predicate will be evaluated on the media selection option selected for the asset. Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property. Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
- Parameter isImmersiveAudio: The RHS value for the value of isImmersiveAudio in the predicate equation.
Sourcepub unsafe fn predicateForDownmixAudio(
is_downmix_audio: bool,
) -> Retained<NSPredicate>
pub unsafe fn predicateForDownmixAudio( is_downmix_audio: bool, ) -> Retained<NSPredicate>
Creates a NSPredicate for immersive audio which can be used with other NSPredicates to express variant preferences.
Predicate will be evaluated on the media selection option selected for the asset. Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property. Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
- Parameter isDownmixAudio: The RHS value for the value of isDownmixAudio in the predicate equation.
Sourcepub unsafe fn predicateForAudioSampleRate_operatorType(
sample_rate: c_double,
operator_type: NSPredicateOperatorType,
) -> Retained<NSPredicate>
pub unsafe fn predicateForAudioSampleRate_operatorType( sample_rate: c_double, operator_type: NSPredicateOperatorType, ) -> Retained<NSPredicate>
Creates a NSPredicate for audio sample rate which can be used with other NSPredicates to express variant preferences.
Predicate will be evaluated on the media selection option selected for the asset. Media selection options for primary assets may be specified in the AVAssetDownloadConfiguration mediaSelections property. Media selection options for interstitial assets may be circumscribed by -[AVAssetDownloadConfiguration setInterstitialMediaSelectionCriteria: forMediaCharacteristic:].
- Parameter sampleRate: The RHS value for the sample rate in the predicate equation.
- Parameter operatorType: The valid values are NSLessThanPredicateOperatorType, NSLessThanOrEqualToPredicateOperatorType, NSGreaterThanPredicateOperatorType, NSGreaterThanOrEqualToPredicateOperatorType, NSEqualToPredicateOperatorType and NSNotEqualToPredicateOperatorType.
Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
pub fn class(&self) -> &'static AnyClass
Dynamically find the class of this object.
§Panics
May panic if the object is invalid (which may be the case for objects
returned from unavailable init/new methods).
§Example
Check that an instance of NSObject has the precise class NSObject.
use objc2::ClassType;
use objc2::runtime::NSObject;
let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.Use Ivar::load instead.
§Safety
The object must have an instance variable with the given name, and it
must be of type T.
See Ivar::load_ptr for details surrounding this.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Attempt to downcast the object to a class of type T.
This is the reference-variant. Use Retained::downcast if you want
to convert a retained object to another type.
§Mutable classes
Some classes have immutable and mutable variants, such as NSString
and NSMutableString.
When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.
So using this method to convert a NSString to a NSMutableString,
while not unsound, is generally frowned upon unless you created the
string yourself, or the API explicitly documents the string to be
mutable.
See Apple’s documentation on mutability and on
isKindOfClass: for more details.
§Generic classes
Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.
You can, however, safely downcast to generic collections where all the
type-parameters are AnyObject.
§Panics
This works internally by calling isKindOfClass:. That means that the
object must have the instance method of that name, and an exception
will be thrown (if CoreFoundation is linked) or the process will abort
if that is not the case. In the vast majority of cases, you don’t need
to worry about this, since both root objects NSObject and
NSProxy implement this method.
§Examples
Cast an NSString back and forth from NSObject.
use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};
let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();Try (and fail) to cast an NSObject to an NSString.
use objc2_foundation::{NSObject, NSString};
let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());Try to cast to an array of strings.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.
Downcast when processing each element instead.
use objc2_foundation::{NSArray, NSObject, NSString};
let arr = NSArray::from_retained_slice(&[NSObject::new()]);
for elem in arr {
if let Some(data) = elem.downcast_ref::<NSString>() {
// handle `data`
}
}Trait Implementations§
Source§impl AsRef<AnyObject> for AVAssetVariantQualifier
impl AsRef<AnyObject> for AVAssetVariantQualifier
Source§impl AsRef<NSObject> for AVAssetVariantQualifier
impl AsRef<NSObject> for AVAssetVariantQualifier
Source§impl Borrow<AnyObject> for AVAssetVariantQualifier
impl Borrow<AnyObject> for AVAssetVariantQualifier
Source§impl Borrow<NSObject> for AVAssetVariantQualifier
impl Borrow<NSObject> for AVAssetVariantQualifier
Source§impl ClassType for AVAssetVariantQualifier
impl ClassType for AVAssetVariantQualifier
Source§const NAME: &'static str = "AVAssetVariantQualifier"
const NAME: &'static str = "AVAssetVariantQualifier"
Source§type ThreadKind = <<AVAssetVariantQualifier as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<AVAssetVariantQualifier as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for AVAssetVariantQualifier
impl CopyingHelper for AVAssetVariantQualifier
Source§type Result = AVAssetVariantQualifier
type Result = AVAssetVariantQualifier
Self if the type has no
immutable counterpart. Read moreSource§impl Debug for AVAssetVariantQualifier
impl Debug for AVAssetVariantQualifier
Source§impl Deref for AVAssetVariantQualifier
impl Deref for AVAssetVariantQualifier
Source§impl Hash for AVAssetVariantQualifier
impl Hash for AVAssetVariantQualifier
Source§impl Message for AVAssetVariantQualifier
impl Message for AVAssetVariantQualifier
Source§impl NSCopying for AVAssetVariantQualifier
impl NSCopying for AVAssetVariantQualifier
Source§impl NSObjectProtocol for AVAssetVariantQualifier
impl NSObjectProtocol for AVAssetVariantQualifier
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_ref