Repository navigation
KitePlayer 0.0.23
ASS and SSA subtitles are drawn by libass. HTTP and HTTPS links play with no setup.
Usage
/** Native views, no Compose. */
implementation("io.github.yuroyami:kiteplayer:0.0.23")
/** Compose. Everything above, plus both Compose video paths. */
implementation("io.github.yuroyami:kiteplayer-compose:0.0.23")kiteplayer-compose
├── kiteplayer also kiteplayer-mobile
│ ├── kiteplayer-core
│ │ └── kiteplayer-rt native targets only
│ ├── kiteplayer-ffmpeg KiteFFmpeg 0.2.0
│ │ └── kiteplayer-subtitles
│ ├── kiteplayer-output
│ ├── kiteplayer-view-bindings
│ │ └── kiteplayer-view
│ ├── kiteplayer-network HTTP and HTTPS
│ └── kiteplayer-libass ASS and SSA
├── kiteplayer-compose-ui
│ ├── kiteplayer-compose-interop
│ └── kiteplayer-compose-video
└── kiteplayer-phone deprecated
Changelog
- ASS and SSA subtitles render through libass on every platform, redrawn each video frame. Attached fonts load;
SubtitleConfig.fontsadds yours.SubtitleConfig.typesetting = falsekeeps the old styling. - HTTP and HTTPS work with no setup.
NetworkConfig.autoResolve = falseturns that off. Per-item headers reach the transport. - New artifacts:
kiteplayer,kiteplayer-view-bindings,kiteplayer-network,kiteplayer-libass. - Breaking:
kiteplayer-compose-uino longer includes the player factory or network. Usekiteplayer-compose, or addkiteplayerbeside it. - Breaking:
SubtitleConfig,PlayerSnapshotandNetworkConfiggained fields. Positionalcopy()calls need a recompile. - Breaking:
AndroidPlayerViewRendererFactory.createtakes a third callback,onScaleMode. - Web: libass is a separate module (
kiteass.mjsandkiteass.wasm) in thewebzip attached to the wasmJs artifact. Browsers have no system fonts; supply your own. - Fixed: fill and stretch on the Android view looked like fit; headers on the automatic transport (#49); credentials shown in diagnostics for a URL with no path (#115); a sleep timer replaced during its fade (#121); quadratic time on bad SRT and WebVTT durations (#120).
Dependencies
- Kotlin 2.4.10, Compose Multiplatform 1.12.0-rc01
- Android Gradle Plugin 9.2.1, Gradle 9.6.0, JDK 21
- Android min SDK 26
- KiteFFmpeg 0.2.0, with FFmpeg n8.1.2 and dav1d 1.5.4 inside
- Ktor 3.5.2 inside
kiteplayer-network, libass 0.17.4 insidekiteplayer-libass