Skip to content

Add stats for nerds - #924

Open
iminsandiego wants to merge 2 commits into
iBicha:mainfrom
iminsandiego:feature/stats-for-nerds
Open

Add stats for nerds #924
iminsandiego wants to merge 2 commits into
iBicha:mainfrom
iminsandiego:feature/stats-for-nerds

Conversation

@iminsandiego

Copy link
Copy Markdown

Adds a focused Stats for Nerds overlay to VideoPlayerDev, addressing #803.

The overlay is opened from a new button in the player bar and displays:

  • Video ID
  • Playback state
  • Position / duration
  • Viewport
  • Current resolution and frame rate, when available
  • Video / audio codecs
  • Bitrate
  • Container

Behavior

  • Stats are off by default.
  • The selection applies only to the current video and is not stored as an app preference.
  • The button remains available in the fullscreen player bar.
  • The overlay remains visible when the regular player controls auto-hide.
  • It hides in picture-in-picture and returns when fullscreen is restored.
  • Starting another video resets the overlay to off.

Implementation

Following the recommendation in #803, the overlay is implemented as a separate StatsForNerds SceneGraph component that observes the required Video fields.

Frequently changing position and duration fields are observed only while the fullscreen overlay is visible. Transient decoder information is cached so Roku fields that are exposed only briefly remain available without performing hidden label/layout updates.

Dropped frames are not included because I could not identify a reliable Roku Video field for that measurement.

Testing

  • On-device VOD Stats for Nerds E2E
  • On-device live-video Stats for Nerds E2E

Tested on a Roku Ultra with:

  • 4K AV1/EAC3 DASH playback
  • Live AV1/AAC DASH playback
  • Player chrome auto-hide
  • Toggle on/off
  • Playback-value updates
  • PiP hide and fullscreen restoration
  • Per-video reset behavior

Screenshot

stats-for-nerds-pr

@iBicha

iBicha commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Thanks for opening the PR!

StatsForNerdsTests
 |-diagnostics
 - |--does not carry stale stream diagnostics into new content : FAIL (16ms)
 |   |--Failed at: StatsForNerds.spec.bs:120
 |   |--Error Message: expected """" to equal ""1920 x 1080 @30fps""

 Total: 203   Passed: 202   Failed: 1
 RESULT: Fail

Can you perhaps run a review/sanity check on the PR before I dive into the review? Thanks!

@iminsandiego

Copy link
Copy Markdown
Author

Thanks for catching this. I missed running that suite before my push. I reproduced the failure and fixed it. Full Roku suite: 370/370 passed

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