The following classes are available globally.
Classes
- 
                  
                  Create AirPlay client instance See moreDeclarationSwift public class AirPlayFactory : CastComponentFactoryProtocol
- 
                  
                  BroadpeakSettings See moreDeclarationSwift public class BroadpeakSettings
- 
                  
                  ChromecastMetadata See moreDeclarationSwift public class ChromecastMetadata : AnalyticsMetadata
- 
                  
                  Create Chromecast client instance See moreDeclarationSwift public class ChromecastFactory : CastComponentFactoryProtocol
- 
                  
                  Create Appium client instance See moreDeclarationSwift public class ConvivaFactory : AnalyticsComponentFactoryProtocol
- 
                  
                  ConvivaMetadata See moreDeclarationSwift public class ConvivaMetadata : AnalyticsMetadata
- 
                  
                  ConvivaSettings See moreDeclarationSwift public class ConvivaSettings
- 
                  
                  DeclarationSwift public class IMA: BaseComponent, IMAContentPlayhead, IMAAdsLoaderDelegate, IMAAdsManagerDelegate, ViewBasedComponentProtocolextension IMA: AdsComponentProtocolextension IMA: AdsAPI
- 
                  
                  Create IMA client instance See moreDeclarationSwift public class IMAFactory : AdsComponentFactoryProtocol
- 
                  
                  Create Mux client instance See moreDeclarationSwift public class MuxFactory : AnalyticsComponentFactoryProtocol
- 
                  
                  MuxMetadata See moreDeclarationSwift public class MuxMetadata : AnalyticsMetadata
- 
                  
                  DeclarationSwift public class MuxSettings
- 
                  
                  Create IMA client instance See moreDeclarationSwift public class SubtitlesFactory : SubtitlesComponentFactoryProtocol
- 
                  
                  Create Thumbnails client instance See moreDeclarationSwift public class ThumbnailsFactory : ThumbnailsComponentFactoryProtocol
- 
                  
                  CastlabsVT See moreDeclarationSwift public class VTWithWidevinePlugin : CLPluginProtocol
- 
                  
                  DeclarationSwift public class WidevineDrmFactory : DrmComponentFactoryProtocol
- 
                  
                  Create Youbora client instance See moreDeclarationSwift public class YouboraFactory : AnalyticsComponentFactoryProtocol
- 
                  
                  YouboraMetadata See moreDeclarationSwift public class YouboraMetadata : AnalyticsMetadata
- 
                  
                  YouboraSettings See moreDeclarationSwift public class YouboraSettings
- 
                  
                  BasePlayer implements all properties that are updated from the State and must be synchronised on ‘playerQueue’ DeclarationSwift open class BasePlayer : BaseInterceptable
- 
                  
                  Cross-component communication move outside factory See moreDeclarationSwift open class BasePlayerStateSubscriber : InternalStateSubscriberProtocol
- 
                  
                  Default handler for phone call interruption DeclarationSwift 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 liveandassetId. Theliveflag needs to be set totrueif the content is a live stream. Analytics backends usually require this information before playback starts. TheassetIdidentifies the content uniquely within the analytics system.DeclarationSwift open class AnalyticsMetadata
- 
                  
                  The cast settings class wraps common settings for Chromecast appIdis mandatory for casting.DeclarationSwift open class CastSettings
- 
                  
                  Download See moreDeclarationSwift open class Download : Codable
- 
                  
                  MediaDownloadProgress DeclarationSwift 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. DeclarationSwift @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 }DeclarationSwift @objc public class PlayerConfiguration : NSObject, NSCopying, Codable
- 
                  
                  CastlabsApple See moreDeclarationSwift @objc public class CorePlugins : NSObject, CLPluginProtocol
- 
                  
                  Discussion: Apple uses predefined network sessions called URLSession. There is no way to create a dedicated URLSession for each Request. If ‘NetworkConfiguration’ is updated it will affect the whole URLSession, which is shared for all the HTTP/S requests in ‘NetworkEngine’. See moreDeclarationSwift public class NetworkConfiguration : NSObject, NSCopying, Codable
- 
                  
                  The subtitles settings to customize subtitles rendering. See moreDeclarationSwift 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 gridWidthandgridHeight. 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 maxIndexis greater than 1 and thepathTemplatecontains 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. ifpathTemplatewhereimage_$index$.jpgand maxIndex were 3, thenimage_1.jpg,image_2.jpg,image_3.jpgwould be generated from the substitution.Each thumbnail will be displayed for See moredurationMswith no gabs in between. Therefore thumbnails will cover a total timerange ofdurationMsmultiplied by the total number of thumbnails generated.DeclarationSwift public class GridThumbnail
- 
                  
                  Defines a single thumbnail image along with it’s timing information. See moreDeclarationSwift public class ThumbnailImage