Quiblo wiki

Code reference · Core

:core:media

Playback, behind an interface. The only module that knows ExoPlayer exists.

dev.quiblo.core.media

Feature code never touches Media3. That seam buys two things: the phone and the television drive the same engine with completely different controls, and DRM — if it is ever added — is a change inside this module and nowhere else.

interfacePlayerController

Prepare, play, pause, seek, attach a surface, and report state.

classMedia3PlayerController

The Media3/ExoPlayer implementation.

data classPlayableItem

What to play: a URL, a title, whether it is live, and where to start.

isLive changes three behaviours — no seeking, no duration, no resume point — and in each case the control is absent rather than present and inert.

data classPlaybackState

Status, position, duration, seekability, video aspect ratio and tracks.

enumPlaybackStatus / PlaybackError

Idle, buffering, playing, ended — and the reasons playback can fail.

data classTrackOption

A selectable subtitle or audio track.