A TV that can't play 4K never shows or plays 4K versions
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Domain
- backend-api-design, mobile
Research direction
Start by reading ADR 0003, docs/LOOK.md, and the existing collapseMovieVariants and MovieVariantGroup.primary paths mentioned in the issue; trace how device decoder limits affect playback and how Search is opened. Done means meeting the device-specific filtering, channel quality, fallback dialog, query-enabled Search, and 4K badge criteria, with screenshot coverage and strings in strings.xml. The player version switcher is explicitly later work.
Written by the indexing model from the issue text.
Description
This was generated by AI during triage.
Found while checking #128 and #180. The series that failed on the Fire TV Stick is about 23.8 Mbps HEVC, and the Stick's HEVC decoders both stop at 1920x1088, so a 4K title can't play on it.
The goal
On a TV that can't play 4K, the viewer never runs into 4K by accident. Settee behaves as if 4K versions don't exist, so there's nothing technical to understand or choose. On a TV that can play 4K, a badge shows which titles have a 4K version.
What your provider labels
Read from one provider's catalogue on the Stick, using names and category names only:
| Total | Labelled 4K | Labelled any other quality | Unlabelled | |
|---|---|---|---|---|
| Films | 29,653 | 1,414 (4.8%) | 1 | 95.2% |
| Series | 9,231 | 802 (8.7%) | 1 | 91.3% |
| Channels | 16,830 | 1,253 (7.4%) | about 3,000 HD | 59.6% |
- Only 4K is labelled on films and series, in the form
4K-NF - Extraction 2 (2023)and in their own 4K categories. An untagged title isn't known to be HD; its quality is simply unknown. - Most 4K titles have another version. After grouping versions of the same title, 1,410 films have a 4K version and only 234 have nothing else. For series it's 798 and 112.
- Series versions aren't grouped, unlike films (
collapseMovieVariantshandles films only). The title cleaner removes the tags, so 686 series appear twice with the same name and nothing to tell the covers apart. - Some labels are false. About 2,500 channels rank as 8K, mostly pay-per-view placeholder channels named
8K EXCLUSIVE. - Films may default to 4K. A comment says the best version of a grouped film "is what a row shows and plays by default" (
MovieVariantGroup.primary). That hasn't been traced through to playback.
What to build
On a TV that can't play 4K
Settee asks the device what it can decode, for example from the HEVC and H.264 decoders' maximum sizes. The answer belongs to that device and doesn't sync (compare ADR 0003).
- Versions: a 4K version is hidden whenever a non-4K version of the same title exists, and the non-4K version plays. For a grouped film, that means picking a version the device can play. For series, the 4K copy is hidden when a plain copy of the same name and year exists. Nothing is lost if a label is wrong, because the other version is still there.
- 4K-only titles: films and series labelled 4K with no other version are hidden too, with no setting to bring them back.
- Channels: never hidden, because some 8K or 4K labels are only branding. A channel starts on the best Quality the device can play.
- A dialog for anything that gets through: a 4K title can still be reached, for example from Continue Watching synced from a 4K TV. The dialog says, in plain words, that this TV can't play 4K. It offers to play the HD version if one exists. Otherwise it offers to open Search with the title already filled in, using the cleaned title so every version shows. That needs the Search route to accept a query, which it doesn't today.
- Unlabelled 4K: labels can't catch these. They fall back to the clear message in #180.
On a TV that can play 4K
- A 4K badge on covers (top right, at the 16 sp minimum), the Movies and Shows backdrop's metadata line, and the details hero. On a film's cover it means a 4K version is available.
- No badge for an unlabelled title, and none for channels, whose Qualities already appear on the player's Quality pill.
- Design and timing: specify the badge in
docs/LOOK.md, and build it with the redesigned screens rather than adding it to the current ones first.
Later, after the redesign
- A version switcher in the player for films and episodes, like live TV's Quality pill.
Acceptance criteria
- Settee knows whether the device can decode 4K, and that answer doesn't sync
- On a device that can't, no 4K version shows in Movies, Shows, Home rows or Search when another version exists, and the other version plays
- On that device, 4K-only films and series don't show
- On that device, no channel is hidden, and each starts on the best Quality the device can play
- Reaching a 4K title on that device shows a dialog that offers the HD version, or Search with the title filled in
- Search can be opened with a query
- On a 4K device, the 4K badge shows on covers, the backdrop and the details hero, as specified in
docs/LOOK.md - Each changed screen has screenshot coverage, including the dialog
- Message strings live in
strings.xml - After the redesign: a version switcher in the player for films and episodes
- Dominant language
- Kotlin
- Stars
- 0
- Forks
- 0
- Avg merge
- 2h 12m
- Merged PRs (30d)
- 77
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from neutraltone/settee
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
neutraltone/settee#157 ·
Maintainers usually reply within 1 day
-
bug needs-triage
Difficulty 4/5 3-5 days Newbie friendliness 45/100
neutraltone/settee#184 ·
Maintainers usually reply within 1 day
-
bug ready-for-human
Difficulty 5/5 Over a week Newbie friendliness 25/100
neutraltone/settee#180 · 3 comments ·
Maintainers usually reply within 1 day
-
Build Settee's lookOpenneeds-triage
Difficulty 5/5 Over a week Newbie friendliness 15/100
neutraltone/settee#172 ·
Maintainers usually reply within 1 day
-
needs-triage
Difficulty 4/5 3-5 days Newbie friendliness 15/100
neutraltone/settee#171 ·
Maintainers usually reply within 1 day
All issues in neutraltone/settee
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
thunderbird/thunderbird-android#11893 · 1 comment ·
Maintainers usually reply within 2 days
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Droid-Deck/DroidDeck#2198 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
world-federation-of-advertisers/cross-media-measurement#4846 ·
Maintainers usually reply within 1 day