PlaybackInfo

sealed interface PlaybackInfo

Playback info of a given track or video. This describes all the details of the track or video, including information of how to play it and some meta data around it.

Inheritors

Types

Link copied to clipboard
data class Broadcast(val id: String, val audioQuality: AudioQuality, val streamingSessionId: String, val manifestMimeType: ManifestMimeType, val manifest: String, val licenseSecurityToken: String? = null, val albumReplayGain: Float, val albumPeakAmplitude: Float, val trackReplayGain: Float, val trackPeakAmplitude: Float, val offlineRevalidateAt: Long, val offlineValidUntil: Long) : PlaybackInfo

Playback info with broadcast specific properties.

Link copied to clipboard
interface Offline

Playback info with some extra information for offline content. The extra information is needed to determine how the offline content was stored and how it can be retrieved, but also to actually being able to play that content. We currently have three different ways to store offline content, not all information is necessary at all times, therefore they come with default values that needs to be filled differently in each different scenario.

Link copied to clipboard
data class Track(val trackId: Int, val audioQuality: AudioQuality, val assetPresentation: AssetPresentation, val audioMode: AudioMode, val bitDepth: Int?, val sampleRate: Int?, val manifestHash: String, val streamingSessionId: String, val manifestMimeType: ManifestMimeType, val manifest: String, val licenseSecurityToken: String? = null, val albumReplayGain: Float, val albumPeakAmplitude: Float, val trackReplayGain: Float, val trackPeakAmplitude: Float, val offlineRevalidateAt: Long, val offlineValidUntil: Long) : PlaybackInfo

Playback info with track specific properties.

Link copied to clipboard
data class UC(val id: String, val url: String, val streamingSessionId: String, val manifestMimeType: ManifestMimeType, val manifest: String, val licenseSecurityToken: String?, val albumReplayGain: Float, val albumPeakAmplitude: Float, val trackReplayGain: Float, val trackPeakAmplitude: Float, val offlineRevalidateAt: Long, val offlineValidUntil: Long) : PlaybackInfo

Playback info with UC specific properties.

Link copied to clipboard
data class Video(val videoId: Int, val videoQuality: VideoQuality, val assetPresentation: AssetPresentation, val streamType: StreamType, val manifestHash: String, val streamingSessionId: String, val manifestMimeType: ManifestMimeType, val manifest: String, val licenseSecurityToken: String? = null, val albumReplayGain: Float, val albumPeakAmplitude: Float, val trackReplayGain: Float, val trackPeakAmplitude: Float, val offlineRevalidateAt: Long, val offlineValidUntil: Long) : PlaybackInfo

Playback info with video specific properties.

Properties

Link copied to clipboard
Link copied to clipboard
abstract val albumReplayGain: Float
Link copied to clipboard

Token used to fetch DRM license if needed.

Link copied to clipboard
abstract val manifest: String

Base64 encoded manifest.

Link copied to clipboard

A mime type of the manifest.

Link copied to clipboard

Indicates the earliest time at which the client is allowed to revalidate an offlined media product.

Link copied to clipboard
abstract val offlineValidUntil: Long

Indicates how long an offline is valid for.

Link copied to clipboard

A uuid generated by the client for this streaming session.

Link copied to clipboard
Link copied to clipboard
abstract val trackReplayGain: Float