Skip to content

feat(player): quality ladder, trickplay scrub previews, Stats for nerds, androidtv header - #26

Merged
JonahMMay merged 4 commits into
mainfrom
cursor/android-player-parity-e10e
Aug 28, 2026
Merged

feat(player): quality ladder, trickplay scrub previews, Stats for nerds, androidtv header#26
JonahMMay merged 4 commits into
mainfrom
cursor/android-player-parity-e10e

Conversation

@JonahMMay

Copy link
Copy Markdown

Problem

Android phone/TV lacked web/SmartTV-parity quality ladder selection and trickplay scrub previews. Stats labeling was inconsistent with SmartTV’s “Stats for nerds”. Android TV sent android-tv so the server did not classify it as a TV for artwork rungs.

Approach

  • Shared QualityLadder client; phone + TV HUD quality pickers; session restart via V3 preference + settings store
  • TrickplayInfo + tile resolver; phone progress bar + TV scrub overlay via Coil crop
  • Stats for nerds labels on phone/TV overlays
  • TV device platform header → androidtv

Testing

  • Unit tests added for trickplay tile math and quality ladder parsing (commonTest)
  • Full Android compile not run here (no SDK)

AI Disclosure

  • Tool(s): Cursor Cloud Agent
  • Model(s): Composer
  • Involvement: Implemented shared + phone + TV player parity
  • Adversarial review: Noted V3 quality preference maps dense ladder rungs to resolution buckets; exact targetBitrateKbps on V3 replan is a follow-up

Checklist

  • I ran an adversarial AI review of the diff and summarized findings above.
  • I ran the repo verify commands (needs Android SDK/CI).
Open in Web Open in Cursor 

cursoragent and others added 2 commits July 31, 2026 01:01
…idtv header

Add shared QualityLadder client (GET /playback/quality-ladder + fallback) and
wire Auto/Original/rung menus into phone QualitySelector and TV HUD Video pane.
Parse FileVersion.trickplay and show sprite-tile scrub previews on phone and TV.
Rename playback stats entry to "Stats for nerds" with session/method/position.
Align Android TV device platform header to androidtv (no hyphen).

Co-authored-by: Jonah May <JonahMMay@users.noreply.github.com>
Ensure preferredQuality and playbackQualityIntent use toV3QualityPreference
so high-bitrate ladder rungs replan correctly on TV.

Co-authored-by: Jonah May <JonahMMay@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c826fde3-768e-4fb0-a2e0-a3879e9ff551


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Extend commonTest coverage for QualityLadder parsing/fallback/options/
targets, Trickplay tile math, and PlaybackApi.getQualityLadder so
:shared:koverVerify clears the 95% line floor.

Co-authored-by: Jonah May <JonahMMay@users.noreply.github.com>
@JonahMMay
JonahMMay marked this pull request as ready for review August 28, 2026 00:50
Resolve conflicts keeping PR player features (quality ladder, trickplay
scrub previews, stats for nerds, transcode APIs) while integrating main's
tabletop pane height, marker bands, and recovery start params.

Co-authored-by: Jonah May <JonahMMay@users.noreply.github.com>
@JonahMMay
JonahMMay merged commit 4922619 into main Aug 28, 2026
1 of 3 checks passed
@JonahMMay
JonahMMay deleted the cursor/android-player-parity-e10e branch August 28, 2026 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants