Add documentation

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-27 13:23:58 +03:00
parent 84fb48f39d
commit b077388b74
24 changed files with 7157 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
// The desktop's playback engine (LINUX_PLAN.md §2.3): libmpv through JNA, video drawn offscreen and shown in Compose.
// The desktop's playback engine (docs/desktop.md): libmpv through JNA, video drawn offscreen and shown in Compose.
plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.compose)

View File

@@ -28,7 +28,7 @@ import kotlin.concurrent.thread
import kotlin.math.roundToInt
/**
* libmpv engine of the desktop (LINUX_PLAN.md §2.3). One mpv core per playback, without a window of its own
* libmpv engine of the desktop (docs/desktop.md). One mpv core per playback, without a window of its own
* (`vo=libmpv`): the picture comes out of [video] and is shown by [MpvVideoSurface].
*
* Commands go to mpv asynchronously, so the UI thread never waits on the core; mpv's events and observed properties are

View File

@@ -26,7 +26,7 @@ val mpvEngineModule = module {
/**
* mpv plays everything ffmpeg demuxes and decodes, in hardware where the GPU can (NVDEC, VAAPI), otherwise on the CPU,
* which a PC can afford. HDR and Dolby Vision are tone-mapped to SDR (the desktop has no HDR output, LINUX_PLAN.md §0).
* which a PC can afford. HDR and Dolby Vision are tone-mapped to SDR (the desktop has no HDR output, see docs/desktop.md).
*/
class MpvEngineProvider : EngineProvider {
override val id = ID

View File

@@ -21,7 +21,7 @@ import kotlin.math.min
import kotlin.math.roundToInt
/**
* mpv's picture, variant B of LINUX_PLAN.md §2.3: mpv draws in its own invisible OpenGL context (EGL pbuffer) on its
* mpv's picture, variant B of docs/desktop.md: mpv draws in its own invisible OpenGL context (EGL pbuffer) on its
* own thread, into an FBO; the frame is read back through a persistently mapped PBO into memory that Compose shows
* ([MpvVideoSurface]). mpv knows nothing about the window, so the window can be rebuilt freely.
*