diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d62bc86..d8d74743 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,17 @@ generated trace matrix lives in [docs/traceability.md](docs/traceability.md). For how long each fixed defect had been shipping before it was found, see [docs/defect-windows.md](docs/defect-windows.md). +## Unreleased + +### 🐛 Fixes + +- **Subtitles sit on the picture instead of on a black bar.** Every line arrived + in an opaque box, which is what Android hands back when no captioning + preferences have been set. The box is gone; the text keeps its own outline so + it stays readable over a bright scene. If you *have* set up captions in + Android's accessibility settings, your colours, typeface and edges are still + used — only the background is cleared. (UR-020 → DR-261) + ## v0.11.2 ### 🐛 Fixes diff --git a/docs/requirements.md b/docs/requirements.md index d502a8b1..7df7d907 100644 --- a/docs/requirements.md +++ b/docs/requirements.md @@ -454,6 +454,7 @@ Internal architecture, components, and application logic. | DR-258 | An audio-track change is honoured by **re-opening the stream** when the stream cannot carry the track. Jellyfin builds a transcode around one `AudioStreamIndex`, so the alternate tracks are not in it — but the native path only ever called `setAudioTrack(n)`, which indexes ExoPlayer's audio track *groups*. On Android that is the common case, since any source whose default audio codec the device cannot decode is transcoded: ExoPlayer held one audio track while the menu listed every track in the file, so every selection warned `Invalid audio track index` and was dropped, leaving the default track playing with nothing in the UI saying so. `determine_audio_track_switch_strategy` now decides by whether the stream in front of the engine carries the track at all — a direct play still selects in place, a transcode is re-negotiated at the chosen index and resumed. Where it resumes is the player's answer, not the UI's: the native path has no `