Skip to main content

Player Type Reference

LuraMediaFormat

FieldValue
VOD"VOD"
LIFE"LIFE"

LuraPlayerConfiguration

FieldType
nameString
lura[Lura]
controls[LuraControl]
content[LuraContent]
plugins[LuraPlugins]
cast[LuraCastConfiguration]
ads[LuraAdsConfiguration]
offline[LuraOfflineConfiguration]
public struct LuraPlayerConfiguration: Codable {
public var name: String?
public var controls: LuraControl?
public var content: LuraContent?
public var lura: Lura?
public var plugins : LuraPlugins?
public var cast : LuraCastConfiguration?
public var ads : LuraAdsConfiguration?
#if os(iOS)
public var offline : LuraOfflineConfiguration?
#endif
}

Lura

ParameterTypeDescription
appKeyStringLura configuration app key
assetIdStringLura asset id
tokenStringLura token
public struct Lura: Codable {
public var appKey: String?
public var assetId: String?
public var token: String?
}

LuraControl

ParameterTypeDescription
autoplayBooleanIs autoplay enabled
enabledBooleanIs controls enabled
mutedBooleanIs muted
volumeDoubleVolume value

public struct LuraControl: Codable {
public var enabled: Bool?
public var autoplay: Bool?
public var muted: Bool?
public var volume: Double?
}

LuraContent

ParameterTypeDescription
media[LuraMedia]List of medias for content
clientCertificateCodableClient Certificate
preferredDRMSystems[String]Preferred DRM sustems
idStringContent id
titleStringContent title
startAtDoubleContent starting point (in seconds)
descriptionString?Content description
languageString?Language
typeStringVideo type
annotations[Annotation]Annotations
public struct LuraContent: Codable {
public var media: [LuraMedia]?
public var clientCertificates: ClientCertificate?
public var annotations: [Annotation]?
public var title: String?
public var description: String?
public var preferredDrmSystems: [String]?
public var type: String?
public var language: String?
public var startAt: Double?
}

ClientCertificate

ParameterTypeDescription
fairplayFairplayFairplay
public struct ClientCertificate: Codable {
var fairplay: Fairplay?
}

Fairplay

ParameterTypeDescription
dataStringFairplay data
urlStringFairplay url
public struct Fairplay: Codable {
var data: String?
var url: URL?
}

LuraOfflineConfiguration

ParameterTypeDescription
resolutionLuraOfflineVideoResolutionResolution of video rendition
public struct LuraOfflineConfiguration : Codable {
public var resolution : LuraOfflineVideoResolution = .hd
}

LuraCastConfiguration

ParameterType
chromecastLuraCastConfiguration
airplayLuraAirplayConfiguration
public struct LuraCastConfiguration : Codable {
var chromecast : LuraChromecastConfiguration?
var airplay : LuraAirplayConfiguration?
}

LuraChromecastConfiguration

ParameterTypeDescription
enabledBooleanList of medias for content
appIdStringChromecast App id
public struct LuraChromecastConfiguration : Codable {
var enabled : Bool?
var appId : String?
}

LuraAirplayConfiguration

ParameterTypeDescription
enabledBooleanList of medias for content
public struct LuraAirplayConfiguration : Codable {
var enabled : Bool?
}

LuraAdsConfiguration

ParameterTypeDescription
macros[String : String]Macros
clientSideLuraAdsClientSideConfiguration?Client-side configurations
serverSideLuraAdsServerSideConfiguration?Server-side configurations
@Serializable
public struct LuraAdsConfiguration : Codable {
var macros : [String : String]?
var serverSide : LuraAdsServerSideConfiguration?
var clientSide : LuraAdsClientSideConfiguration?
}

LuraPluginsConfigurations

ParameterTypeDescription
convivaConvivaPluginConfiguration?Conviva configuration
openMeasurementOpenMeasurementPluginConfiguration?Open Measurement configuration
palPALPluginConfiguration?PAL configuration
public struct LuraPlugins : Codable {
public var palConfiguration : PALPluginConfiguration?
public var convivaConfiguration : ConvivaPluginConfiguration?
public var openMeasurementConfiguration : OpenMeasurementPluginConfiguration?
}

LuraAdBreak

ParameterType
idString
offsetDouble
ads[LuraAd]
watchedBool
totalAdsInt
breakDurationFloat
public struct LuraAdBreak: LuraEventData {
public var id: String?
public var offset: Double?
public var ads: [LuraAd]?
public var watched: Bool?
public var totalAds: Int?
public var breakDuration: Double?
}

LuraAd

FieldType
durationDouble
skipOffsetDouble
descriptionString
titleString
companions[LuraCompanionCodable]
icon[LuraIconCodable]
interactiveFiles[LuraInteractiveFileCodable]
isClickableBoolean
public struct LuraAd: LuraEventData {
public var duration: Double?
public var skipOffset: Double?
public var title: String?
public var description: String?
public var companions: [LuraCompanionCodable]?
public var icons: [LuraIconCodable]?
public var interactiveFiles: [LuraInteractiveFileCodable]?
public var isClickable: Bool = false
}

LuraCompanions

FieldType
idString
apiFrameworkString
widthString
heightString
assetWidthString
assetHeightString
expandedWidthString
expandedHeightString
adSlotIdString
pxratioString
renderingModeString
altTextString
clickThroughString
clickTrackingString
typeString
creativeTypeString
dataString
tracking[LuraTrackingCodable]
public struct LuraCompanionCodable: Codable {
var id : String?
var apiFramework : String?
var width : String?
var height : String?
var assetWidth : String?
var assetHeight : String?
var expandedWidth : String?
var expandedHeight : String?
var adSlotId : String?
var pxratio : String?
var renderingMode : String?
var altText : String?
var clickThrough : String?
var clickTracking : String?
var type : String?
var creativeType : String?
var data : String?
var tracking : [LuraTrackingCodable]?
}

LuraTrackingCodable

FieldType
offsetDouble
typeString
urlString
public struct LuraTrackingCodable: Codable {
public var type: LuraPingType?
public var url: URL?
public var progressOffset: Double?
}

LuraIconCodable

FieldType
programString
widthString
heightString
xPositionString
yPositionString
durationDouble
offsetString
apiFrameworkString
pxRatioString
clicks[LuraClickCodable]
type"static" | "iframe" | "html"
creativeTypeString
dataString
public struct LuraIconCodable: Codable {
public var program : String?
public var width : String?
public var height : String?
public var xPosition : String?
public var yPosition : String?
public var duration : String?
public var offset : String?
public var apiFramework : String?
public var clicks : [LuraClickCodable]?
public var type : String?
public var creativeType : String?
public var data : String?
}

LuraInteractiveFileCodable

FieldType
apiFrameworkString
typeString
urlString
variableDurationBool
public struct LuraInteractiveFileCodable: Codable {

public var apiFramework : String?
public var type : String?
public var url : String?
public var variableDuration: Bool?

}

LuraClickCodable

FieldType
clickThroughString
clickTracking[LuraClickTrackingCodable]
public struct LuraClickCodable: Codable {

public var clickThrough : String?
public var clickTracking : [LuraClickTrackingCodable]?

}

LuraClickTrackingCodable

FieldType
idString
urlString
public struct LuraClickTrackingCodable: Codable  {

public var id : String?
public var url : String?

}

Tracks

ParameterDescription
videosVideo tracks of current media
audiosAudio tracks of current media
textsText tracks of current media
public struct Tracks: Codable {

public var video: [VideoTrack]?
public var audio: [AudioTrack]?
public var caption: [CaptionTrack]?

}

Annotation

FieldType
startString
endString
typeString
public struct Annotation: Codable {

public var start: Double?
public var end: Double?
public var type: String?

}

AvailabilityWindow

ParameterTypeDescription
idStringIdentifier for the availability window
startDoubleStart time of the availability window
endDoubleEnd time of the availability window
public struct AvailabilityWindow: Codable {
public var id: String?
public var start: Double?
public var end: Double?
}

LuraScreenState

public enum LuraScreenState : String, Codable {
case FULLSCREEN
case PICTURE_IN_PICTURE
case WINDOWED
}