pub struct AVPlayerItemAccessLogEvent { /* private fields */ }AVPlayerItem only.Expand description
An AVPlayerItemAccessLogEvent represents a single log entry.
An AVPlayerItemAccessLogEvent provides named properties for accessing the data fields of each log event. None of the properties of this class are observable.
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 AVPlayerItemAccessLogEvent
impl AVPlayerItemAccessLogEvent
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>
pub unsafe fn new() -> Retained<Self>
Sourcepub unsafe fn numberOfSegmentsDownloaded(&self) -> NSInteger
👎Deprecated
pub unsafe fn numberOfSegmentsDownloaded(&self) -> NSInteger
A count of media segments downloaded.
Value is negative if unknown. A count of media segments downloaded from the server to this client. Corresponds to “sc-count”. This property is not observable. This property is deprecated. Use numberOfMediaRequests instead.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn numberOfMediaRequests(&self) -> NSInteger
pub unsafe fn numberOfMediaRequests(&self) -> NSInteger
A count of media read requests.
Value is negative if unknown. A count of media read requests from the server to this client. Corresponds to “sc-count”. For HTTP live Streaming, a count of media segments downloaded from the server to this client. For progressive-style HTTP media downloads, a count of HTTP GET (byte-range) requests for the resource. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn playbackStartDate(&self) -> Option<Retained<NSDate>>
pub unsafe fn playbackStartDate(&self) -> Option<Retained<NSDate>>
The date/time at which playback began for this event. Can be nil.
If nil is returned the date is unknown. Corresponds to “date”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn URI(&self) -> Option<Retained<NSString>>
pub unsafe fn URI(&self) -> Option<Retained<NSString>>
The URI of the playback item. Can be nil.
If nil is returned the URI is unknown. Corresponds to “uri”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn serverAddress(&self) -> Option<Retained<NSString>>
pub unsafe fn serverAddress(&self) -> Option<Retained<NSString>>
The IP address of the server that was the source of the last delivered media segment. Can be nil.
If nil is returned the address is unknown. Can be either an IPv4 or IPv6 address. Corresponds to “s-ip”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn numberOfServerAddressChanges(&self) -> NSInteger
pub unsafe fn numberOfServerAddressChanges(&self) -> NSInteger
A count of changes to the property serverAddress, see above, over the last uninterrupted period of playback.
Value is negative if unknown. Corresponds to “s-ip-changes”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn playbackSessionID(&self) -> Option<Retained<NSString>>
pub unsafe fn playbackSessionID(&self) -> Option<Retained<NSString>>
A GUID that identifies the playback session. This value is used in HTTP requests. Can be nil.
If nil is returned the GUID is unknown. Corresponds to “cs-guid”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn playbackStartOffset(&self) -> NSTimeInterval
pub unsafe fn playbackStartOffset(&self) -> NSTimeInterval
An offset into the playlist where the last uninterrupted period of playback began. Measured in seconds.
Value is negative if unknown. Corresponds to “c-start-time”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn segmentsDownloadedDuration(&self) -> NSTimeInterval
pub unsafe fn segmentsDownloadedDuration(&self) -> NSTimeInterval
The accumulated duration of the media downloaded. Measured in seconds.
Value is negative if unknown. Corresponds to “c-duration-downloaded”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn durationWatched(&self) -> NSTimeInterval
pub unsafe fn durationWatched(&self) -> NSTimeInterval
The accumulated duration of the media played. Measured in seconds.
Value is negative if unknown. Corresponds to “c-duration-watched”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn numberOfStalls(&self) -> NSInteger
pub unsafe fn numberOfStalls(&self) -> NSInteger
The total number of playback stalls encountered.
Value is negative if unknown. Corresponds to “c-stalls”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn numberOfBytesTransferred(&self) -> c_longlong
pub unsafe fn numberOfBytesTransferred(&self) -> c_longlong
The accumulated number of bytes transferred.
Value is negative if unknown. Corresponds to “bytes”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn transferDuration(&self) -> NSTimeInterval
pub unsafe fn transferDuration(&self) -> NSTimeInterval
The accumulated duration of active network transfer of bytes. Measured in seconds.
Value is negative if unknown. Corresponds to “c-transfer-duration”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn observedBitrate(&self) -> c_double
pub unsafe fn observedBitrate(&self) -> c_double
The empirical throughput across all media downloaded. Measured in bits per second.
Value is negative if unknown. Corresponds to “c-observed-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn indicatedBitrate(&self) -> c_double
pub unsafe fn indicatedBitrate(&self) -> c_double
The throughput required to play the stream, as advertised by the server. Measured in bits per second.
Value is negative if unknown. Corresponds to “sc-indicated-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn indicatedAverageBitrate(&self) -> c_double
pub unsafe fn indicatedAverageBitrate(&self) -> c_double
Average throughput required to play the stream, as advertised by the server. Measured in bits per second.
Value is negative if unknown. Corresponds to “sc-indicated-avg-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn averageVideoBitrate(&self) -> c_double
pub unsafe fn averageVideoBitrate(&self) -> c_double
The average bitrate of video track if it is unmuxed. Average bitrate of combined content if muxed. Measured in bits per second.
Value is negative if unknown. Corresponds to “c-avg-video-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn averageAudioBitrate(&self) -> c_double
pub unsafe fn averageAudioBitrate(&self) -> c_double
The average bitrate of audio track. This is not available if audio is muxed with video. Measured in bits per second.
Value is negative if unknown. Corresponds to “c-avg-audio-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn numberOfDroppedVideoFrames(&self) -> NSInteger
pub unsafe fn numberOfDroppedVideoFrames(&self) -> NSInteger
The total number of dropped video frames.
Value is negative if unknown. Corresponds to “c-frames-dropped”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn startupTime(&self) -> NSTimeInterval
pub unsafe fn startupTime(&self) -> NSTimeInterval
The accumulated duration until player item is ready to play. Measured in seconds.
Value is negative if unknown. Corresponds to “c-startup-time”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn downloadOverdue(&self) -> NSInteger
pub unsafe fn downloadOverdue(&self) -> NSInteger
The total number of times the download of the segments took too long.
Value is negative if unknown. Corresponds to “c-overdue”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn observedMaxBitrate(&self) -> c_double
👎Deprecated: Use observedBitrateStandardDeviation to monitor variance in network bitrate.
pub unsafe fn observedMaxBitrate(&self) -> c_double
Maximum observed segment download bit rate.
Value is negative if unknown. Corresponds to “c-observed-max-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn observedMinBitrate(&self) -> c_double
👎Deprecated: Use observedBitrateStandardDeviation to monitor variance in network bitrate.
pub unsafe fn observedMinBitrate(&self) -> c_double
Minimum observed segment download bit rate.
Value is negative if unknown. Corresponds to “c-observed-min-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn observedBitrateStandardDeviation(&self) -> c_double
pub unsafe fn observedBitrateStandardDeviation(&self) -> c_double
Standard deviation of observed segment download bit rates.
Value is negative if unknown. Corresponds to “c-observed-bitrate-sd”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn playbackType(&self) -> Option<Retained<NSString>>
pub unsafe fn playbackType(&self) -> Option<Retained<NSString>>
Playback type (LIVE, VOD, FILE).
If nil is returned the playback type is unknown. Corresponds to “s-playback-type”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn mediaRequestsWWAN(&self) -> NSInteger
pub unsafe fn mediaRequestsWWAN(&self) -> NSInteger
Number of network read requests over WWAN.
Value is negative if unknown. Corresponds to “sc-wwan-count”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
Sourcepub unsafe fn switchBitrate(&self) -> c_double
pub unsafe fn switchBitrate(&self) -> c_double
Bandwidth that caused us to switch (up or down).
Value is negative if unknown. Corresponds to “c-switch-bitrate”. This property is not observable.
This property is not atomic.
§Safety
This might not be thread-safe.
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 AVPlayerItemAccessLogEvent
impl AsRef<AnyObject> for AVPlayerItemAccessLogEvent
Source§impl AsRef<NSObject> for AVPlayerItemAccessLogEvent
impl AsRef<NSObject> for AVPlayerItemAccessLogEvent
Source§impl Borrow<AnyObject> for AVPlayerItemAccessLogEvent
impl Borrow<AnyObject> for AVPlayerItemAccessLogEvent
Source§impl Borrow<NSObject> for AVPlayerItemAccessLogEvent
impl Borrow<NSObject> for AVPlayerItemAccessLogEvent
Source§impl ClassType for AVPlayerItemAccessLogEvent
impl ClassType for AVPlayerItemAccessLogEvent
Source§const NAME: &'static str = "AVPlayerItemAccessLogEvent"
const NAME: &'static str = "AVPlayerItemAccessLogEvent"
Source§type ThreadKind = <<AVPlayerItemAccessLogEvent as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<AVPlayerItemAccessLogEvent as ClassType>::Super as ClassType>::ThreadKind
Source§impl CopyingHelper for AVPlayerItemAccessLogEvent
impl CopyingHelper for AVPlayerItemAccessLogEvent
Source§type Result = AVPlayerItemAccessLogEvent
type Result = AVPlayerItemAccessLogEvent
Self if the type has no
immutable counterpart. Read moreSource§impl Debug for AVPlayerItemAccessLogEvent
impl Debug for AVPlayerItemAccessLogEvent
Source§impl Deref for AVPlayerItemAccessLogEvent
impl Deref for AVPlayerItemAccessLogEvent
Source§impl Hash for AVPlayerItemAccessLogEvent
impl Hash for AVPlayerItemAccessLogEvent
Source§impl Message for AVPlayerItemAccessLogEvent
impl Message for AVPlayerItemAccessLogEvent
Source§impl NSCopying for AVPlayerItemAccessLogEvent
impl NSCopying for AVPlayerItemAccessLogEvent
Source§impl NSObjectProtocol for AVPlayerItemAccessLogEvent
impl NSObjectProtocol for AVPlayerItemAccessLogEvent
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