Skip to main content

## Module media

Source
Expand description

Canonical, provider-neutral media domain model.

This is the single source of truth for what a media item is across the whole app. Rust (repositories, player, downloads) uses these types directly; the frontend consumes the tauri-specta-generated projection in `src/lib/api/bindings.ts`. There is no second hand-written copy in either language, so the model cannot drift.

No provider (Jellyfin) vocabulary belongs in this file. Translation from a provider’s wire shape lives beside it in `from_jellyfin.rs` and is the only place provider terms touch the domain type.

Spec: docs/specs/frontend-domain-model.md

## Enums§

MediaKind
  The kind of a media item — provider-neutral classification.
StreamKind
  The kind of a media stream within an item (audio track, video track, subtitle, …) — provider-neutral, replacing the stringly Jellyfin stream type.