The following classes are available globally.
Classes
-
Declaration
Swift
public class BroadpeakPlugin : CLPluginProtocol
-
BroadpeakSettings
See moreDeclaration
Swift
public class BroadpeakSettings
-
Create Appium client instance
See moreDeclaration
Swift
public class ChromecastFactory : CastComponentFactoryProtocol
-
ChromecastMetadata
See moreDeclaration
Swift
public class ChromecastMetadata : AnalyticsMetadata
-
Create Appium client instance
See moreDeclaration
Swift
public class ConvivaFactory : AnalyticsComponentFactoryProtocol
-
ConvivaMetadata
See moreDeclaration
Swift
public class ConvivaMetadata : AnalyticsMetadata
-
Declaration
Swift
public class ConvivaPlugin : CLPluginProtocol
-
ConvivaSettings
See moreDeclaration
Swift
public class ConvivaSettings
-
MuxMetadata
Declaration
Swift
public class MuxMetadata : AnalyticsMetadata
-
CastlabsGst
See moreDeclaration
Swift
public class GstPlugin : CLPluginProtocol
-
Declaration
Swift
public class IMA: BaseComponent, IMAContentPlayhead, IMAAdsLoaderDelegate, IMAAdsManagerDelegate, ViewBasedComponentProtocol
extension IMA: AdsComponentProtocol
extension IMA: AdsAPI
-
Create IMA client instance
See moreDeclaration
Swift
public class IMAFactory : AdsComponentFactoryProtocol
-
Plugin wrapping Google IMA ads
See moreDeclaration
Swift
public class IMAPlugin : CLPluginProtocol
-
Create Mux client instance
See moreDeclaration
Swift
public class MuxFactory : AnalyticsComponentFactoryProtocol
-
Declaration
Swift
public class MuxPlugin : CLPluginProtocol
-
Declaration
Swift
public class MuxSettings
-
Create IMA client instance
See moreDeclaration
Swift
public class SubtitlesFactory : SubtitlesComponentFactoryProtocol
-
Create Thumbnails client instance
See moreDeclaration
Swift
public class ThumbnailsFactory : ThumbnailsComponentFactoryProtocol
-
CastlabsVT
See moreDeclaration
Swift
public class VTPlugin : CLPluginProtocol
-
CastlabsVT
See moreDeclaration
Swift
public class VTWithWidevinePlugin : CLPluginProtocol
-
Declaration
Swift
public class WidevineDrmFactory : DrmComponentFactoryProtocol
-
Create Youbora client instance
See moreDeclaration
Swift
public class YouboraFactory : AnalyticsComponentFactoryProtocol
-
YouboraMetadata
See moreDeclaration
Swift
public class YouboraMetadata : AnalyticsMetadata
-
YouboraSettings
See moreDeclaration
Swift
public class YouboraSettings
-
BasePlayer implements all properties that are updated from the State and must be synchronised on ‘playerQueue’
Declaration
Swift
open class BasePlayer : BaseComponent
-
Cross-component communication move outside factory
See moreDeclaration
Swift
open class BasePlayerStateSubscriber : InternalStateSubscriberProtocol
-
Default handler for phone call interruption
Declaration
Swift
public class DefaultPhoneCallHandler
-
The meta-data class wraps and mandatory and optional meta-data that are send to various analytics backends.
The two parameters that are mandatory in all cases are
live
andassetId
. Thelive
flag needs to be set totrue
if the content is a live stream. Analytics backends usually require this information before playback starts. TheassetId
identifies the content uniquely within the analytics system.Declaration
Swift
open class AnalyticsMetadata
-
The cast settings class wraps common settings for Chromecast
appId
is mandatory for casting.Declaration
Swift
open class CastSettings
-
Download
See moreDeclaration
Swift
open class Download : Codable
-
MediaDownloadProgress
Declaration
Swift
public class DownloadProgress : Codable
-
Synthesized DrmConfiguration object. The configuration will expose either a DRMtoday specific configuration object or a dictionary with license, provisioning, and certificate URLs for the available DRM systems.
Declaration
Swift
@objc public class DrmConfiguration : NSObject, NSCopying, Codable
-
This is the structure that describes the player configuration for a single asset
ClearKey usage:
guard let url = URL(string: "STREAM-URL") else { return } let playerConfiguration(with: url, contentType: .hls) guard let player = PRESTOplaySDK.shared.playerForContent(playerConfiguration) else { print("no player") return }
Fairplay usage:
guard let url = URL(string: "STREAM-URL") else { return } let playerConfiguration(with: url, contentType: .hls) playerConfiguration.drmSystem = .fairplay playerConfiguration.drmConfiguration = DrmConfiguration() playerConfiguration.drmConfiguration.environment = .production playerConfiguration.drmConfiguration.userId = "..." playerConfiguration.drmConfiguration.sessionId = "..." playerConfiguration.drmConfiguration.merchant = "..." playerConfiguration.drmConfiguration.assetId = "..." playerConfiguration.drmConfiguration.variantId = "..." guard let player = PRESTOplaySDK.shared.playerForContent(playerConfiguration) else { print("no player") return }
Custom RequestModifier usage:
Example showing custom Fairplay URLs
See moreguard let url = URL(string: "STREAM-URL") else { return } let playerConfiguration(with: url, contentType: .hls) playerConfiguration.drmSystem = .fairplay playerConfiguration.drmConfiguration = DrmConfiguration() playerConfiguration.drmConfiguration.licensingUrl = URL(string: "LICENSING-URL" playerConfiguration.drmConfiguration.certificateUrl = URL(string: "CERTIFICATE-URL") // implement custom request modifier to add headers and intercept // the request PRESTOplaySDK.shared.requestModifiers.append(RequestModifier()) PRESTOplaySDK.shared.responseModifiers.append(ResponseModifier()) guard let player = PRESTOplaySDK.shared.playerForContent(playerConfiguration) else { print("no player") return }
Declaration
Swift
@objc public class PlayerConfiguration : NSObject, NSCopying, Codable
-
CastlabsApple
See moreDeclaration
Swift
@objc public class CorePlugins : NSObject, CLPluginProtocol
-
Error Interface
Declaration
Swift
public class PRESTOError: NSObject, // A type representing an error value that can be thrown Swift.Error
-
The subtitles settings to customize subtitles rendering.
See moreDeclaration
Swift
public class SubtitlesStyle : NSObject
-
GridThumbnail
Used to define a request to download images and slice them into multiple thumbnails in a grid pattern. Each image will be sliced into smaller segments based on the
gridWidth
andgridHeight
. E.g. if these are both set to2
, then the image will be divided into a 2 x 2 grid producing 4 equal sized thumbnails per image. The grid cells are ordered from left to right, then top to bottom.Single or multiple images may be downloaded using this object. If
maxIndex
is greater than 1 and thepathTemplate
contains the token index then multiple image urls can be specified. The final image urls which will be downloaded are specified by the baseUrl + the result of the pathTemplate substitution. The index token in pathTemplate will be substituted with the index 1 up to and including maxIndex. E.g. ifpathTemplate
whereimage_$index$.jpg
and maxIndex were 3, thenimage_1.jpg
,image_2.jpg
,image_3.jpg
would be generated from the substitution.Each thumbnail will be displayed for
See moredurationMs
with no gabs in between. Therefore thumbnails will cover a total timerange ofdurationMs
multiplied by the total number of thumbnails generated.Declaration
Swift
public class GridThumbnail
-
Defines a single thumbnail image along with it’s timing information.
See moreDeclaration
Swift
public class ThumbnailImage