docs(player): allocate UR-074/DR-162 for the streaming bitrate cap
🏗️ Build and Test JellyTau / Run Tests (push) Failing after 5m10s
🏗️ Build and Test JellyTau / Android Compile Check (push) Skipped
Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 5m27s
Traceability Validation / Check Requirement Traces (push) Successful in 16s
🏗️ Build and Test JellyTau / Run Tests (push) Failing after 5m10s
🏗️ Build and Test JellyTau / Android Compile Check (push) Skipped
Publish Documentation / Build & publish docs to gitea-pages (push) Successful in 5m27s
Traceability Validation / Check Requirement Traces (push) Successful in 16s
The feature shipped tagged against DR-160, which a parallel session had claimed for picture-in-picture in the meantime. Renumbered to DR-162 across the Rust and frontend TRACES comments (the PiP tags in VideoPlayer.svelte, pictureInPicture.ts and nativeVideo.ts keep DR-160) and regenerated bindings.ts. Adds the requirement rows the tags point at: UR-074 for the user need, and DR-162 covering why the cap has to reach the PlaybackInfo negotiation and not only the transcode URL, why the ceiling is process-wide, and why the Settings default persists while the in-player override does not. Notes that this gives UR-070 its resume-at-the-same-point mechanism while the server-offered rendition list that requirement also asks for stays proposed. UT-156/157 record what the tests pin. docs/specs/streaming-bitrate-cap.md carries the layer assignment — the step definitions, the video/audio split, the resolution pairing and the reload decision are all Rust; the frontend holds a serde token and the labels it was handed. TRACES: UR-074 | DR-162 | UT-156, UT-157
This commit is contained in:
@@ -68,7 +68,7 @@
|
||||
|
||||
// Bandwidth ceilings offered by the streaming-quality picker, as
|
||||
// [variant, label, detail] — the numbers behind each step are Jellyfin
|
||||
// encoding vocabulary, so Rust serves the list. TRACES: UR-074 | DR-160
|
||||
// encoding vocabulary, so Rust serves the list. TRACES: UR-074 | DR-162
|
||||
let streamingQualities = $state<[StreamingQuality, string, string][]>([]);
|
||||
|
||||
// Download/caching behaviour, incl. the WiFi-only gate (UR-053).
|
||||
@@ -340,7 +340,7 @@
|
||||
persistVideo();
|
||||
}
|
||||
|
||||
/** TRACES: UR-074 | DR-160 */
|
||||
/** TRACES: UR-074 | DR-162 */
|
||||
function handleStreamingQualityChange(quality: StreamingQuality) {
|
||||
videoSettings.streamingQuality = quality;
|
||||
persistVideo();
|
||||
@@ -698,7 +698,7 @@
|
||||
|
||||
<!-- Streaming quality: the bandwidth ceiling every video stream is
|
||||
opened against. The steps and their labels come from Rust.
|
||||
TRACES: UR-074 | DR-160 -->
|
||||
TRACES: UR-074 | DR-162 -->
|
||||
<div class="bg-[var(--color-surface)] rounded-lg p-6 mt-4">
|
||||
<h3 class="text-xl font-semibold text-white">Streaming Quality</h3>
|
||||
<p class="text-sm text-gray-400 mt-1 mb-4">
|
||||
|
||||
Reference in New Issue
Block a user