Other Protocols
The following protocols are available globally.
-
An AdBreak is an object that represents a collection of ads that are scheduled at a certain time.
See moreDeclaration
Swift
@objc(THEOplayerAdBreak) public protocol AdBreak_Objc
-
An Ad is an abstract object that represents a single ad, which is a creative in the VAST specification.
See moreDeclaration
Swift
@objc(THEOplayerAd) public protocol Ad_Objc
-
Represents the list of universal ad ID information of the selected creative for the ad.
See moreDeclaration
Swift
@objc(THEOplayerUniversalAdId) public protocol UniversalAdId
-
The Ads object helps you configure and control ads within THEOplayer.
See moreDeclaration
Swift
@objc(THEOplayerAds) public protocol Ads_Objc
-
Represents information regarding content with dynamically inserted advertisements.
See moreDeclaration
Swift
public protocol GoogleDAI
-
Represents information regarding content with dynamically inserted advertisements.
See moreDeclaration
Swift
@objc(THEOplayerGoogleDAI) public protocol GoogleDAI_Objc
-
A handler for a server-side ad integration.
You can implement one or more of these methods to hook into various parts of the player’s lifecycle and perform your integration-specific ad handling.
Use the
See moreServerSideAdIntegrationController
provided byAds.registerServerSideIntegration
to update the state of your integration.Declaration
Swift
public protocol ServerSideAdIntegrationHandler
-
A handler for a server-side ad integration. You can implement one or more of these methods to hook into various parts of the player’s lifecycle and perform your integration-specific ad handling.
Use the
See moreServerSideAdIntegrationController
provided byAds.registerServerSideIntegration
to update the state of your integration.Declaration
Swift
@objc(THEOplayerServerSideAdIntegrationHandler) public protocol ServerSideAdIntegrationHandler_Objc
-
A controller to be used by your
See moreServerSideAdIntegrationHandler
to update the state of your custom server-side ad integration.Declaration
Swift
public protocol ServerSideAdIntegrationController
-
Factory pattern to create
ContentProtectionIntegration
.Declaration
Swift
@objc(THEOplayerContentProtectionIntegrationFactory) public protocol ContentProtectionIntegrationFactory_Objc
-
A MediaTrackList lists all available MediaTrack objects that the player can play. It contains MediaTrack objects, which are either AudioTracks or VideoTracks.
See moreDeclaration
Swift
@objc(THEOplayerMediaTrackList) public protocol MediaTrackList_Objc
-
A VideoTrackList lists all available VideoTrack objects that the player can play.
See moreDeclaration
Swift
@objc(THEOplayerVideoTrackList) public protocol VideoTrackList_Objc : MediaTrackList_Objc
-
An AudioTrackList lists all available AudioTrack objects that the player can play.
See moreDeclaration
Swift
@objc(THEOplayerAudioTrackList) public protocol AudioTrackList_Objc : MediaTrackList_Objc
-
A MediaTrack is an element that represents a single video or audio track that can be played by the player.
See moreDeclaration
Swift
@objc(THEOplayerMediaTrack) public protocol MediaTrack_Objc : Track_Objc
-
A VideoTrack object is an element that represents a single video track that can be played by the player.
Declaration
Swift
@objc(THEOplayerVideoTrack) public protocol VideoTrack_Objc : MediaTrack_Objc
-
An AudioTrack object is an element that represents a single audio track that can be played by the player.
See moreDeclaration
Swift
@objc(THEOplayerAudioTrack) public protocol AudioTrack_Objc : MediaTrack_Objc
-
The Network API.
See moreDeclaration
Swift
@objc(THEOplayerNetwork) public protocol Network_Objc
-
Helps configure the settings when
See morePresentationMode.pictureInPicture
is active.Declaration
Swift
@objc(THEOplayerPictureInPicture) public protocol PictureInPicture_Objc
-
Extends
See moreAVPictureInPictureControllerDelegate
to provide additional methods that get called when changes occur inAVPictureInPictureController
.Declaration
Swift
@available(iOS 14.0, tvOS 14.0, *) @objc(THEOplayerAVPictureInPictureControllerDelegateExtended) public protocol AVPictureInPictureControllerDelegateExtended : AVPictureInPictureControllerDelegate
-
A TextTrackCue object represents an individual cue and provides methods and properties to access the data and events to act on changes to cue state. Depending on the TextTrack’s type, a cue might have different properties.
See moreDeclaration
Swift
@objc(THEOplayerTextTrackCue) public protocol TextTrackCue_Objc
-
Declaration
Swift
@objc(THEOplayerWebVttCue) public protocol WebVttCue_Objc : TextTrackCue_Objc
-
ID3 Text Track cue. Content type is [String:String].
Declaration
Swift
@objc(THEOplayerId3Cue) public protocol Id3Cue_Objc : TextTrackCue_Objc
-
Represents the HLS date range cue which is a part of the metadata text track.
See moreDeclaration
Swift
@objc(THEOplayerDateRangeCue) public protocol DateRangeCue_Objc : TextTrackCue_Objc
-
A TextTrackList lists all available TextTrack objects that the player can display.
See moreDeclaration
Swift
@objc(THEOplayerTextTrackList) public protocol TextTrackList_Objc
-
A TextTrack object is an element that represents a single text track that can be displayed in the player.
See moreDeclaration
Swift
@objc(THEOplayerTextTrack) public protocol TextTrack_Objc : Track_Objc
-
The base
TextTrackCue
Event protocol.Declaration
Swift
@objc(THEOplayerCueEventProtocol) public protocol CueEventProtocol_Objc : EventProtocol
-
The base
TextTrack
cue Event protocol.Declaration
Swift
@objc(THEOplayerTextTrackCueEventProtocol) public protocol TextTrackCueEventProtocol_Objc : EventProtocol
-
The base
Track
Event protocol.Declaration
Swift
@objc(THEOplayerTrackEventProtocol) public protocol TrackEventProtocol_Objc : EventProtocol
-
Classes that comform to this protocol can add and remove event listeners.
See moreDeclaration
Swift
@objc(THEOplayerEventDispatcherProtocol) public protocol EventDispatcherProtocol_Objc
-
The DRMConfiguration object provides a set of DRM parameters for DRM streaming.
See moreDeclaration
Swift
@objc(THEOplayerDRMConfiguration) public protocol DRMConfiguration_Objc
-
The FairPlay DRM configuration.
Declaration
Swift
@objc(THEOplayerFairPlayDRMConfigurationProtocol) public protocol FairPlayDRMConfigurationProtocol_Objc : DRMConfiguration_Objc
-
The Widevine DRM configuration.
Declaration
Swift
@objc(THEOplayerWidevineDRMConfigurationProtocol) public protocol WidevineDRMConfigurationProtocol_Objc : DRMConfiguration_Objc
-
Manifest interceptor introduces the possibility to intercept/observe the manifest requests made by the player. (master and rendition (child) manifest)
It is a
AVAssetResourceLoaderDelegate
subclass and hooked into theAVURLAsset.resourceLoader
of the player item.Remark
Only works on online resources.
Since
v5.0.0
Declaration
Swift
public protocol ManifestInterceptor : AVAssetResourceLoaderDelegate
-
Developer Settings API
This API provides access to developer settings, debugging tools and experimental features.
Remark
The experimental APIs can make their way into
THEOplayer
production APIs some day, but not guaranteed. Experimental APIs can be broken between minor or even between patch releases too. Relying on them in production systems can be dangerous.Since
v5.0.0
Declaration
Swift
public protocol DeveloperSettings
-
Chromecast, also known as Google Cast, is a casting device designed by Google.
See moreDeclaration
Swift
public protocol InternalCastIntegration : InternalContentPlayerIntegration
-
The caching API allows to store a streaming source on the user’s device.
See moreDeclaration
Swift
@objc(THEOplayerCache) public protocol Cache_Objc
-
Represents a caching task.
See moreDeclaration
Swift
@objc(THEOplayerCachingTask) public protocol CachingTask_Objc
-
The caching task license controller which can be used to renew the license.
See moreDeclaration
Swift
@objc(THEOplayerCachingTaskLicense) public protocol CachingTaskLicense_Objc
-
The AirPlay API.
See moreDeclaration
Swift
@objc(THEOplayerAirplay) public protocol Airplay_Objc
-
The Cast object helps you configure and control casting to external devices with THEOplayer.
See moreDeclaration
Swift
@objc(THEOplayerCast) public protocol Cast_Objc
-
Chromecast, also known as Google Cast, is a casting device designed by Google.
See moreDeclaration
Swift
@objc(THEOplayerChromecast) public protocol Chromecast_Objc
-
The configuration for a custom server-side ad insertion (SSAI) integration.
See moreDeclaration
Swift
@objc(THEOplayerCustomServerSideAdInsertionConfiguration) public protocol CustomServerSideAdInsertionConfiguration : ServerSideAdInsertionConfiguration
-
The Fullscreen object helps you configure the settings of the fullscreen mode.
See moreDeclaration
Swift
@objc(THEOplayerFullscreen) public protocol Fullscreen_Objc
-
The fullscreen delegate which allows control over the presentation of the fullscreen view controller.
See moreDeclaration
Swift
@objc(THEOplayerFullscreenPresentationDelegate) public protocol FullscreenPresentationDelegate