DorisPlayerEvent
public enum DorisPlayerEvent
extension DorisPlayerEvent: AnalyticsEventProtocol
Available events tant can be sent by DorisPlayerOutputProtocol.onPlayerEvent(...)
-
indicates current player item changed
Declaration
Swift
case didCurrentItemChange(old: AVPlayerItem?, new: AVPlayerItem?) -
indicates current player item failed
Declaration
Swift
case playerItemFailed(logs: [String : Any]?, error: DorisPlayerError?) -
indicates playback stalled
Declaration
Swift
case playbackStalled -
raw AVPlayer.TimeControlStatus state changed event, do not rely on it in terms of player state (playing/paused), rely on
DorisPlayerOutputProtocol.onPlayerStateChanged()delegate method insteadDeclaration
Swift
case didTimeControlStatusChange(status: AVPlayer.TimeControlStatus) -
indicated player.load(resolvable:) called
Declaration
Swift
case loadInitiated -
stream is going to be loaded with delay
Declaration
Swift
case willLoadAfterDelay(delay: Double, initialSeek: SeekType?) -
stream is going to be loaded now
Declaration
Swift
case willLoadNow(initialSeek: SeekType?) -
Player did resolve playback source metadata from api requests
Declaration
Swift
case metadataChanged(metadata: DorisSourceMetadata) -
AVPlayer will perform seek
Declaration
Swift
case willSeek(info: AVPlayer.SeekStartedInfo) -
AVPlayer did perform seek
Declaration
Swift
case didSeek(info: AVPlayer.SeekEndedInfo) -
stream ended
Declaration
Swift
case finishedPlaying(endTime: Double) -
stream current progress time has changed, where time is playback position in seconds, date will be nil for vods, and will represent current progress as Date for Lives if possible
Declaration
Swift
case currentTimeChanged(contentPosition: Double, streamPosition: Double, date: Date?) -
stream duration has changed
Declaration
Swift
case itemDurationChanged(contentDuration: Double, streamDuration: Double) -
stream type recognized
Declaration
Swift
case streamTypeRecognized(streamType: StreamType) -
DVR window (seekabke range) has changed
Declaration
Swift
case seekableTimeRangesChanged(contentSeekableRanges: (start: Double, end: Double), streamSeekableRanges: (start: Double, end: Double)) -
Buffered range
Declaration
Swift
case loadedTimeRangesChanged(contentLoadedRanges: (start: Double, end: Double), streamLoadedRanges: (start: Double, end: Double)) -
available subtitles and audiotracks
Declaration
Swift
case queueItemsChanged(items: [QueueItem]) -
indicates that AVPlayerItem status changes to readyToPlay and initial seek was completed if provided
Declaration
Swift
case availableMediaTracksChanged(tracks: [MediaTrack]) -
audiosession routes changing event (airplay, headphones, builtInSpeaker, etc..)
Declaration
Swift
case playbackReceiverChanged(old: DorisPlaybackReceiver, new: DorisPlaybackReceiver) -
dictionary representation of AVPlayerItemAccessLog, updates every second
Declaration
Swift
case playbackLogsUpdated(logs: [String : Any]) -
indicates that AVPlayerItem status changes to readyToPlay and initial seek was completed if provided
Declaration
Swift
case readyToPlay -
indicates that player will transition to picture in picture (Custom UI only)
Declaration
Swift
case pipWillStart -
indicates that player will transition back to app from picture in picture (Custom UI only)
Declaration
Swift
case pipDidStop -
indicates that player’s selected subtitle or audio was changed
Declaration
Swift
case trackChanged(track: MediaTrack, autoSet: Bool) -
indicates that smart subtitle preferences were changed by user
Declaration
Swift
case subtitlePreferenceChanged(mappings: [SmartSubtitleMapping]) -
video presentation size changed
Declaration
Swift
case presentationSizeChanged(size: CGSize) -
playback bitrate or bandwidth policy changed event
Declaration
Swift
case bitrateChanged(bitrate: Double, policy: BandwidthPolicy) -
volume changed
Declaration
Swift
case volumeChanged(volume: Float) -
player.unload was called
Declaration
Swift
case didUnload