diff --git a/docs/requirements.md b/docs/requirements.md index 5a5d498d..688b4b25 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -16,7 +16,7 @@ For a narrative overview of the system design, see | UR-003 | Play videos | High | Done | | UR-004 | Play audio uninterrupted | High | Done | | UR-005 | Control media playback (pause, play, skip, scrub) | High | Done | -| UR-006 | Control media when device is on lock screen or via BLE headsets | Medium | Done | +| UR-006 | Control media when device is on lock screen or via BLE headsets | Medium | Done (Android); **not implemented on Linux** — see IR-005 | | UR-007 | Navigate media in library | High | Done | | UR-008 | Search media across libraries | High | Done | | UR-009 | Connect to Jellyfin to access media | High | Done | @@ -101,7 +101,7 @@ External system integrations and platform-specific implementations. | IR-002 | Build scripts for Android and Linux | Build | UR-001 | Done | | IR-003 | Integration of libmpv for Linux playback | Playback | UR-003, UR-004 | Done | | IR-004 | Integration of ExoPlayer for Android playback | Playback | UR-003, UR-004 | In Progress (basic playback works, audio settings missing) | -| IR-005 | MPRIS D-Bus integration for Linux lockscreen/media controls | Platform | UR-006 | Planned | +| IR-005 | MPRIS D-Bus integration for Linux lockscreen/media controls | Platform | UR-006 | Planned — genuinely absent: no `mpris`/`souvlaki`/`zbus`/`dbus` code or dependency in the project (`zbus` appears in `Cargo.lock` only transitively, via `tauri-plugin-opener`), and no `navigator.mediaSession` use in the frontend. `player::update_lockscreen_metadata` is a no-op off Android. UR-006 is therefore Android-only | | IR-006 | Android MediaSession integration for lockscreen controls | Platform | UR-006 | Done | | IR-007 | Bluetooth AVRCP integration via system media session | Platform | UR-006 | Planned | | IR-008 | Android audio focus handling (pause on call) | Platform | UR-004, UR-006 | Done | @@ -115,8 +115,8 @@ External system integrations and platform-specific implementations. | IR-015 | Jellyfin API client for playback progress reporting | API | UR-019, UR-025 | Done | | IR-016 | Jellyfin API client for subtitle/audio track info | API | UR-020, UR-021 | Done | | IR-017 | Jellyfin API client for transcoding parameters | API | UR-022 | Planned | -| IR-018 | libmpv subtitle rendering and selection | Playback | UR-020 | Planned | -| IR-019 | libmpv audio track selection | Playback | UR-021 | Planned | +| IR-018 | Subtitle rendering and selection in the **video** playback backends: ExoPlayer sideloads each track as a `MediaItem.SubtitleConfiguration` and selects by text-track-group position (Android), and the WebKitGTK HTML5 `