BCOVPlaybackSessionBasicConsumer Protocol Reference
Conforms to | NSObject |
---|---|
Declared in | BCOVPlaybackController.h |
– didAdvanceToPlaybackSession:
Called when the controller advances to a new playback session,
which happens when -advanceToNext
is called. When added as a session
consume on a playback controller, this method is called with the most
recently advanced-to playback session (where applicable).
- (void)didAdvanceToPlaybackSession:(id<BCOVPlaybackSession>)session
Parameters
session |
The playback session that was advanced. |
---|
Discussion
Called when the controller advances to a new playback session,
which happens when -advanceToNext
is called. When added as a session
consume on a playback controller, this method is called with the most
recently advanced-to playback session (where applicable).
Declared In
BCOVPlaybackController.h
– playbackSession:didChangeDuration:
Called when a playback session’s duration is updated. When added as a session consume on a playback controller, this method is called with the most recently updated duration for the session. A session duration can change as the media playback continues to load, as it is refined with more precise information.
- (void)playbackSession:(id<BCOVPlaybackSession>)session didChangeDuration:(NSTimeInterval)duration
Parameters
session |
The playback session whose duration changed. |
---|---|
duration |
The most recently updated session duration. |
Discussion
Called when a playback session’s duration is updated. When added as a session consume on a playback controller, this method is called with the most recently updated duration for the session. A session duration can change as the media playback continues to load, as it is refined with more precise information.
Declared In
BCOVPlaybackController.h
– playbackSession:didChangeExternalPlaybackActive:
Called when a playback session’s external playback active status is updated. When a delegate is set on a playback controller, this method is called with the current external playback active status for the session.
- (void)playbackSession:(id<BCOVPlaybackSession>)session didChangeExternalPlaybackActive:(BOOL)externalPlaybackActive
Parameters
session |
The playback session whose external playback status changed. |
---|---|
externalPlaybackActive |
Whether external playback is active. |
Discussion
Called when a playback session’s external playback active status is updated. When a delegate is set on a playback controller, this method is called with the current external playback active status for the session.
Declared In
BCOVPlaybackController.h
– playbackSession:didPassCuePoints:
Called when a session’s playhead passes cue points registered with its video. This will occur regardless of whether the playhead passes the cue point time for standard progress (playback), or seeking (forward or backward) through the media. When a delegate is set on a playback controller, this method will only be called for future cue point events (any events that have already occurred will not be reported).
- (void)playbackSession:(id<BCOVPlaybackSession>)session didPassCuePoints:(NSDictionary *)cuePointInfo
Parameters
session |
The playback session whose cue points were passed. |
---|---|
cuePointInfo |
A dictionary of information about the cue point event. |
Discussion
Called when a session’s playhead passes cue points registered with its video. This will occur regardless of whether the playhead passes the cue point time for standard progress (playback), or seeking (forward or backward) through the media. When a delegate is set on a playback controller, this method will only be called for future cue point events (any events that have already occurred will not be reported).
If multiple cue points are registered to a time or times that fall between the “previous time” and “current time” for a cue point event, all cue points after the “previous time” and before or on “current time” will be included in the cue point collection. Put differently, multiple cue points at the same time are aggregated into a single cue point event whose collection will contain all of those cue points. The most likely scenario in which this would happen is when seeking across a time range that includes multiple cue points (potentially at different times) – this will result in a single cue point event whose previous time is the point at which seek began, whose current time is the destination of the seek, and whose cue points are all of the cue points whose time fell within that range.
The cuePointInfo dictionary will contain the following keys and values for each cue point event:
kBCOVPlaybackSessionEventKeyPreviousTime: the progress interval immediately preceding the cue points for which this event was received. kBCOVPlaybackSessionEventKeyCurrentTime: the progress interval on or immediately after the cue points for which this event was received. kBCOVPlaybackSessionEventKeyCuePoints: the BCOVCuePointCollection of cue points for which this event was received.
Declared In
BCOVPlaybackController.h
– playbackSession:didProgressTo:
Called with the playback session’s playback progress. As the session’s media plays, this method is called periodically with the latest progress interval. When a delegate is set on a playback controller, this method will only be called with progress information that has not yet occurred.
- (void)playbackSession:(id<BCOVPlaybackSession>)session didProgressTo:(NSTimeInterval)progress
Parameters
session |
The playback session making progress. |
---|---|
progress |
The time interval of the session’s current playback progress. |
Discussion
Called with the playback session’s playback progress. As the session’s media plays, this method is called periodically with the latest progress interval. When a delegate is set on a playback controller, this method will only be called with progress information that has not yet occurred.
Declared In
BCOVPlaybackController.h
– didCompletePlaylist:
Called when the end of the video playlist has been reached, after the
the last video (including post-rolls) has played to the end.
Only called when autoAdvance
is set to YES on the playback controller.
- (void)didCompletePlaylist:(NSArray<BCOVVideo*> *)playlist
Parameters
playlist |
The list of BCOVVideo objects that were played. |
---|
Discussion
Called when the end of the video playlist has been reached, after the
the last video (including post-rolls) has played to the end.
Only called when autoAdvance
is set to YES on the playback controller.
Declared In
BCOVPlaybackController.h
– playbackSession:didReceiveLifecycleEvent:
Called when a playback session receives a lifecycle event. This method is called only for lifecycle events that occur after the delegate is set (previous lifecycle events will not be buffered/delivered to the delegate).
- (void)playbackSession:(id<BCOVPlaybackSession>)session didReceiveLifecycleEvent:(BCOVPlaybackSessionLifecycleEvent *)lifecycleEvent
Parameters
session |
The playback session whose lifecycle events were received. |
---|---|
lifecycleEvent |
The lifecycle event received by the session. |
Discussion
Called when a playback session receives a lifecycle event. This method is called only for lifecycle events that occur after the delegate is set (previous lifecycle events will not be buffered/delivered to the delegate).
The lifecycle event types are listed along with the BCOVPlaybackSessionLifecycleEvent class.
Declared In
BCOVPlaybackController.h
– playbackSession:didChangeSeekableRanges:
Called when a playback session’s seekable ranges is updated. When added as a session consume on a playback controller, this method is called with the most recently updated seekable ranges for the session. A session seekable ranges can change as the media playback continues to load.
- (void)playbackSession:(id<BCOVPlaybackSession>)session didChangeSeekableRanges:(NSArray *)seekableRanges
Parameters
session |
The playback session whose seekable ranges changed. |
---|---|
seekableRanges |
An array of NSValue about the most recently updated session seekableRanges. |
Discussion
Called when a playback session’s seekable ranges is updated. When added as a session consume on a playback controller, this method is called with the most recently updated seekable ranges for the session. A session seekable ranges can change as the media playback continues to load.
Declared In
BCOVPlaybackController.h
– playbackSession:determinedMediaType:
Called when the media type of a source has been determined.
- (void)playbackSession:(id<BCOVPlaybackSession>)session determinedMediaType:(BCOVSourceMediaType)mediaType
Parameters
session |
The playback session whose AVPlayer’s currentItem’s media option was changed |
---|---|
mediaType |
The media type that was determined |
Discussion
Called when the media type of a source has been determined.
MP4 sources will always be marked as BCOVSourceMediaTypeAudioVideo
.
If the source URL does not have an m3u8 extension or can not be parsed then
BCOVSourceMediaTypeAudioVideo
will be used.
Declared In
BCOVPlaybackController.h