Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
data class AndroidMediaSourceRequest(val mediaItem: MediaItem, val requestHeaders: Map<String, String>)
Link copied to clipboard
data class AudioMode(val interruptionMode: InterruptionMode = InterruptionMode.DoNotMix, val playsInSilentMode: Boolean = true)

Configures how the media player interacts with the system audio session.

DefaultVideoPlayerState
Link copied to clipboard
open class DefaultVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()) : VideoPlayerState
open class DefaultVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: ERROR CLASS: Symbol not found for CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()) : <ERROR CLASS> ERROR CLASS: Symbol not found for VideoPlayerState
open class DefaultVideoPlayerState(playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()) : VideoPlayerState

Represents the state and behavior of a video player. This class provides properties and methods to control video playback, manage the playback state, and interact with platform-specific implementations.

open class DefaultVideoPlayerState(playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()) : VideoPlayerState

Implementation of VideoPlayerState for WebAssembly. Manages the state of a video player including playback controls, media information, and error handling.

Link copied to clipboard

Selects the JVM desktop playback backend.

Link copied to clipboard
data class ExternalMediaToolStatus(val available: Boolean, val path: String? = null, val detail: String? = null)

Status for an optional media tool used by JVM fallbacks.

Link copied to clipboard

Manages fullscreen functionality for the video player

Link copied to clipboard
data class Hdr10PlusDistributionPercentile(val percentage: Int, val percentileMaxRgb: Int)
Link copied to clipboard
data class Hdr10PlusMetadata(val timestampUs: Long, val applicationIdentifier: Int, val applicationVersion: Int, val targetedSystemDisplayMaximumLuminance: Int, val targetedSystemDisplayActualPeakLuminance: Hdr10PlusPeakLuminanceGrid?, val masteringDisplayActualPeakLuminance: Hdr10PlusPeakLuminanceGrid?, val windows: List<Hdr10PlusWindowMetadata>)

One SMPTE ST 2094-40 metadata unit associated with a decoded frame timestamp.

Link copied to clipboard

Parser for HDR10+ User Data Registered ITU-T T.35 payloads carrying SMPTE ST 2094-40.

Link copied to clipboard
class Hdr10PlusMetadataTimeline(capacity: Int = DEFAULT_TIMELINE_CAPACITY)

Bounded timestamp index used by streaming bridges to attach dynamic metadata to decoded frames.

Link copied to clipboard
sealed interface Hdr10PlusParseResult
Link copied to clipboard
data class Hdr10PlusPeakLuminanceGrid(val rows: Int, val columns: Int, val values: List<Int>)
Link copied to clipboard
data class Hdr10PlusToneMapping(val kneePointX: Int, val kneePointY: Int, val bezierCurveAnchors: List<Int>)
Link copied to clipboard
data class Hdr10PlusWindowGeometry(val upperLeftX: Int, val upperLeftY: Int, val lowerRightX: Int, val lowerRightY: Int, val ellipseCenterX: Int, val ellipseCenterY: Int, val rotationAngle: Int, val internalEllipseSemiMajorAxis: Int, val externalEllipseSemiMajorAxis: Int, val externalEllipseSemiMinorAxis: Int, val overlapProcessOption: Int)
Link copied to clipboard
data class Hdr10PlusWindowMetadata(val geometry: Hdr10PlusWindowGeometry? = null, val maxScl: List<Int>, val averageMaxRgb: Int, val distributionPercentiles: List<Hdr10PlusDistributionPercentile>, val fractionBrightPixels: Int, val toneMapping: Hdr10PlusToneMapping? = null, val colorSaturationWeight: Int? = null)
Link copied to clipboard

Reference color implementation used by platform renderers and CPU/GPU conformance tests.

Link copied to clipboard
data class ICtCpColor(val intensity: Double, val tritan: Double, val protan: Double)
Link copied to clipboard

Controls how the media player interacts with other apps' audio.

Link copied to clipboard

Process-wide policy for AVAudioSession ownership.

Link copied to clipboard
data class JvmMediaToolAvailability(val vlc: ExternalMediaToolStatus, val libVlc: ExternalMediaToolStatus, val kMediaBridge: ExternalMediaToolStatus, val kMediaBridgeProbe: ExternalMediaToolStatus, val kMediaBridgeSubtitleBurnIn: ExternalMediaToolStatus, val kMediaBridgeHdrToSdrToneMapping: ExternalMediaToolStatus, val libass: ExternalMediaToolStatus)

Snapshot of optional JVM media helper availability.

Link copied to clipboard
Link copied to clipboard
data class LinearRgb(val red: Double, val green: Double, val blue: Double)
Link copied to clipboard
data class MacOsMediaToolAvailability(val vlc: ExternalMediaToolStatus, val libVlc: ExternalMediaToolStatus, val ffmpeg: ExternalMediaToolStatus, val ffmpegWithSubtitlesFilter: ExternalMediaToolStatus, val ffprobe: ExternalMediaToolStatus, val libass: ExternalMediaToolStatus)

Snapshot of optional media helper availability.

Link copied to clipboard
Link copied to clipboard

Common audio and video codecs that can be checked against the current platform backend.

Link copied to clipboard
data class MediaCodecSupport(val audioCodecs: Set<MediaCodec>, val videoCodecs: Set<MediaCodec>)

Immutable snapshot of codecs reported as supported by the current platform backend.

Link copied to clipboard

Media track type handled by a MediaCodec.

Link copied to clipboard

Queries preflight media support for the current platform backend.

Link copied to clipboard

Immutable preflight snapshot of player capabilities and codec support for the current platform.

Link copied to clipboard
class RenderableVideoPlayerState : VideoPlayerState

A library-issued handle for a default VideoPlayerState accepted by the strict VideoPlayerSurface overload.

Link copied to clipboard
Link copied to clipboard
data class VideoPlaybackOptions(val dynamicRangePolicy: DynamicRangePolicy = DynamicRangePolicy.AUTO, val dolbyVisionPolicy: DolbyVisionPolicy = DolbyVisionPolicy.AUTO, val desktopVideoBackend: DesktopVideoBackend = DesktopVideoBackend.AUTO, val extensions: List<VideoPipelineExtension> = emptyList(), val projection: VideoProjectionSettings = VideoProjectionSettings(), val projectionView: VideoProjectionViewSettings = VideoProjectionViewSettings(), val projectionViewControlMode: VideoProjectionViewControlMode = VideoProjectionViewControlMode.AUTO, val projectionTextureCrop: VideoTextureCrop = VideoTextureCrop(), val projectionDetectionMode: VideoProjectionDetectionMode = VideoProjectionDetectionMode.AUTO, val webPlaybackEngine: WebPlaybackEngine = WebPlaybackEngine.MOVI, val webDrmConfiguration: WebDrmConfiguration? = null)
Link copied to clipboard
data class VideoProjectionDetection(val projection: VideoProjectionSettings, val tokens: Set<String>, val confidence: VideoProjectionDetectionConfidence)
Link copied to clipboard
data class VideoProjectionDetectionInput(val title: String, val url: String = "", val labels: List<String> = emptyList(), val metadata: List<String> = emptyList(), val videoSizes: List<VideoProjectionVideoSize> = emptyList())
Link copied to clipboard

Controls whether the player should infer 3D/VR projection metadata from source names and media dimensions.

Link copied to clipboard
data class VideoProjectionPreset(val id: String, val label: String, val projection: VideoProjectionSettings)
Link copied to clipboard
data class VideoProjectionVideoSize(val width: Int, val height: Int)
Link copied to clipboard
class WebDrmConfiguration(val licenseUrl: String, licenseRequestHeaders: Map<String, String> = emptyMap())

Runtime-only DRM configuration for the WebAssembly player.

Link copied to clipboard

Browser dependency configuration for externally hosted media components.

Link copied to clipboard

Selects the playback engine used by the WebAssembly target.

Properties

Functions

Link copied to clipboard
fun AutoPipEffect(playerState: VideoPlayerState)
Link copied to clipboard
fun createRenderableVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()): RenderableVideoPlayerState

Creates a default platform-backed state accepted by the strict surface overload.

Link copied to clipboard
actual fun createVideoPlayerState(audioMode: AudioMode, cacheConfig: CacheConfig, playbackOptions: VideoPlaybackOptions): VideoPlayerState

Creates the default platform-specific video player state.

expect fun createVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()): VideoPlayerState

Creates the default platform-specific video player state.

actual fun createVideoPlayerState(audioMode: AudioMode, cacheConfig: ERROR CLASS: Symbol not found for CacheConfig, playbackOptions: VideoPlaybackOptions): ERROR CLASS: Symbol not found for VideoPlayerState
actual fun createVideoPlayerState(audioMode: AudioMode, cacheConfig: CacheConfig, playbackOptions: VideoPlaybackOptions): VideoPlayerState

Creates the default platform-specific video player state.

actual fun createVideoPlayerState(audioMode: AudioMode, cacheConfig: CacheConfig, playbackOptions: VideoPlaybackOptions): VideoPlayerState

Creates the default platform-specific video player state.

Link copied to clipboard
fun defaultVideoPlayerBackend(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()): VideoPlayerBackend

Creates an injectable descriptor for the default platform backend.

Link copied to clipboard

Returns true when this codec is reported as supported by the current platform backend.

Link copied to clipboard
Link copied to clipboard
fun VideoProjectionSettings.nextVideoProjectionPreset(): VideoProjectionPreset
Link copied to clipboard
fun openFullscreenView(playerState: ERROR CLASS: Symbol not found for VideoPlayerState, renderSurface: (ERROR CLASS: Symbol not found for VideoPlayerState, ERROR CLASS: Symbol not found for Modifier, Boolean) -> Unit)

Opens a fullscreen view for the video player on iOS. This function is called when the user toggles fullscreen mode.

Link copied to clipboard
fun rememberRenderableVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions(), androidMediaSourceProvider: AndroidMediaSourceProvider): RenderableVideoPlayerState
fun rememberRenderableVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()): RenderableVideoPlayerState

Remembers a default platform-backed state accepted by the strict surface overload.

Link copied to clipboard
fun rememberVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions(), androidMediaSourceProvider: AndroidMediaSourceProvider): VideoPlayerState
fun rememberVideoPlayerState(audioMode: AudioMode = AudioMode(), cacheConfig: CacheConfig = CacheConfig(), playbackOptions: VideoPlaybackOptions = VideoPlaybackOptions()): VideoPlayerState

Creates and remembers the default platform player and disposes it with the composition.

Link copied to clipboard
actual fun VideoPlayerSurface(playerState: VideoPlayerState, modifier: Modifier, contentScale: ContentScale, overlay: () -> Unit)

Renders a video player surface that displays and controls video playback.

fun VideoPlayerSurface(playerState: RenderableVideoPlayerState, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, surfaceType: SurfaceType = SurfaceType.Auto, overlay: @Composable () -> Unit = {})
fun VideoPlayerSurface(playerState: VideoPlayerState, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, surfaceType: SurfaceType = SurfaceType.Auto, overlay: @Composable () -> Unit = {})
fun VideoPlayerSurface(playerState: RenderableVideoPlayerState, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, overlay: @Composable () -> Unit = {})

Type-safe overload for library-created player states. The legacy VideoPlayerState overload remains available for source and binary compatibility with the 1.x API.

expect fun VideoPlayerSurface(playerState: VideoPlayerState, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Fit, overlay: @Composable () -> Unit = {})

Renders a video player surface that displays and controls video playback.

actual fun VideoPlayerSurface(playerState: ERROR CLASS: Symbol not found for VideoPlayerState, modifier: ERROR CLASS: Symbol not found for Modifier, contentScale: ERROR CLASS: Symbol not found for ContentScale, overlay: () -> Unit)
actual fun VideoPlayerSurface(playerState: VideoPlayerState, modifier: Modifier, contentScale: ContentScale, overlay: () -> Unit)

Composable function for rendering a video player surface.

actual fun VideoPlayerSurface(playerState: VideoPlayerState, modifier: Modifier, contentScale: ContentScale, overlay: () -> Unit)

Renders a video player surface that displays and controls video playback.

Link copied to clipboard
fun VideoPlayerSurfaceImpl(playerState: ERROR CLASS: Symbol not found for VideoPlayerState, modifier: ERROR CLASS: Symbol not found for Modifier, contentScale: ERROR CLASS: Symbol not found for ContentScale, overlay: () -> Unit, isInFullscreenView: Boolean = false, pauseOnDispose: Boolean = true)
Link copied to clipboard
fun Modifier.videoRatioClip(videoRatio: Float?, contentScale: ContentScale = ContentScale.Fit): Modifier
Link copied to clipboard
fun VideoProjectionSettings.withProjectionTypeDefaults(projectionType: VideoProjectionType): VideoProjectionSettings