AndroidOutputBackend

The Android output half: AndroidMonotonicClock paired with AudioTrackSinkFactory, and null for video.

The pairing is the contract, not a convenience: AudioTimestamp.nanoTime reports on the System.nanoTime (CLOCK_MONOTONIC) base, the sink anchors the master clock to deadlines computed from it, and this object is what stops a caller assembling that sink with a clock on any other base.

Video is null for the reason the SPI KDoc gives for windowing systems: a renderer needs a Surface and only the application knows which one. The application builds an AndroidSurfaceVideoRenderer over its own Surface and attaches it through the player facade, exactly like the Apple samples attach theirs.

Properties

Link copied to clipboard
open override val audioSink: AudioSinkFactory
Link copied to clipboard
open override val clock: MonotonicClock
Link copied to clipboard

StaticLayout does the line breaking, bidi and shaping; see the rasteriser's own KDoc.

Functions

Link copied to clipboard

This backend with a context its audio can ask about the route, so it can say how many channels the output carries, which io.github.yuroyami.kiteplayer.AudioConfig.matchOutputChannels needs (#466). Everything else is this backend's own.