TVSDK provides API elements that are useful when implementing blackouts, including methods, metadata, and notifications.
You can use the following when implementing a blackout solution in your player.
registerCurrentItemAsBackgroundItem Saves the currently loaded resource as the background resource. If
replaceCurrentItemWithPlayerItem is called after this method, TVSDK continues to download the background item’s manifest until you call
unregisterCurrentBackgroundItem Sets the background item to nil and stops fetching and parsing the background manifest.
PTMetadata class that is specific to blackouts.
This allows you to set nonseekable ranges (an array of
CMTimeRanges) on TVSDK. TVSDK checks for these ranges every time the user seeks. If it is set and the user seeks into a nonseekable range, TVSDK forces the viewer to the end of the nonseekable range.
START HERE NEXT PTAdMetadata Enable or disable pre-roll on a live stream by setting
enableLivePreroll to YES or NO. If NO, TVSDK does not make an explicit ad server call for pre-roll ads before the content playback and so does not play the pre-roll. This has no impact on the mid-rolls. The default is YES.
PTTimedMetadataChangedInBackgroundNotification - Posted when TVSDK detects a subscribed tag in the background manifest and a new
PTTimedMetadata instance is prepared from it. The notification’s object is the
PTMediaPlayerItem instance that is currently playing. You can fetch the
PTTimedMetadata instance from the notification’s
userInfo dictionary using the
PTBackgroundManifestErrorNotification - Posted when the media player completely fails to load the background manifest, that is, all of the stream URLs return either an error or an invalid response. The notification’s object is the
PTMediaPlayerItem instance that is currently playing.
INVALID_SEEK_WARNING Dispatched when a seek is attempted in a nonseekable range (in
nonSeekableRanges set in