Skip to content

[Feature] Added a info button to show stream infomation#111

Open
anilabhadatta wants to merge 8 commits into
NuvioMedia:Devfrom
anilabhadatta:Dev_Info_button
Open

[Feature] Added a info button to show stream infomation#111
anilabhadatta wants to merge 8 commits into
NuvioMedia:Devfrom
anilabhadatta:Dev_Info_button

Conversation

@anilabhadatta

@anilabhadatta anilabhadatta commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR introduces a comprehensive, real-time diagnostic stream information panel to the Nuvio Desktop media player, using a dynamic JSON telemetry payload.

PR type

  • Reproducible bug fix
  • UI glitch/bug fix
  • Behavior bug/regression fix
  • Small maintenance only, with no UI or behavior change
  • Docs accuracy fix
  • Translation/localization only
  • Approved larger or directional change

Why

1. Unified Telemetry Bridge & Stream Diagnostics Panel:

  • Implementation: Unified, JSON-driven mediaInfoJson bridge across both Windows (player_bridge.cpp) and macOS (player_bridge.mm). This payloads real-time diagnostic data including videoCodec, videoDecoder, hwdecCurrent, audioCodec, and bitrates directly to the controls.js WebView.

2. Intelligent Media Labelling & False Positive Fixes:

  • Added intelligent filename and stream title parsing to accurately classify "Quality" formats such as Remux (Lossless), Blu-ray, WEB-DL, and HDTV.
  • Fixed a bug where standard HDR10 content was falsely flagged as Dolby Vision because libmpv occasionally returned placeholder text ("none", "unknown", "0", "false") for the dv_profile property instead of an empty string. The C++ and JS layers now rigorously filter out these placeholders.

3. UX Refinements:

  • Added an "Info" (i) button to toggle the diagnostic panel.
  • Implemented UX consistency: the stream information panel now automatically collapses when the player controls lose focus or auto-hide due to inactivity.

Desktop scope

This PR modifies the desktop native player bridges, player UI logic, and shared player states. Mobile codebase is unaffected.

  • Modified player_bridge.cpp (Windows) and player_bridge.mm (macOS) to output JSON telemetry.
  • Modified NativePlayerController.kt and KMP Player models to remove legacy HdrPlaybackFormat and videoHdrFormat references.
  • Modified controls.js and controls.html to consume JSON telemetry, render the diagnostic panel, and implement the auto-hide functionality.

Issue or approval

Feature Request: Stream Telemetry / Diagnostics Overlay Refactor.

#41 : People are unable to know if the current stream is playing through Dolby Vision HDR format

UI / behavior impact

  • No UI change
  • No behavior change
  • UI changed only to fix a documented glitch/bug
  • Behavior changed only to fix a documented bug/regression
  • UI change has explicit maintainer approval
  • Behavior change has explicit maintainer approval

Policy check

  • I have read and understood CONTRIBUTING.md.
  • This PR is small, focused, and limited to one problem.
  • This PR is not cosmetic-only.
  • Any UI change fixes a linked glitch/bug and includes visual proof, or this PR has no UI change.
  • Any behavior change fixes a linked bug/regression or has explicit approval, or this PR has no behavior change.
  • This PR does not bundle unrelated refactors, cleanups, formatting, or drive-by changes.
  • This PR does not add dependencies, architecture changes, migrations, or product-direction changes without explicit approval.
  • I listed the testing performed below.

Scope boundaries

None.

Testing

Manually verified:

  1. Played various test media, including HDR10, Dolby Vision (8), and Remux videos.
  2. Verified the Information panel correctly dynamically hides empty/unavailable fields.
  3. Verified HDR10 video displays correctly as "HDR10" without falsely showing "Dolby Vision" or populating the "DV Profile" row.
  4. Toggled the player controls (mouse idle, click video) and verified the stream diagnostic panel successfully auto-closes with the rest of the UI chrome.
  5. Successfully compiled the Nuvio Desktop app without any unresolved imports or compilation regressions.
  6. Tested on Mac & Windows

Screenshots / Video

image image image image Screenshot 2026-06-21 at 12 59 50 PM

Breaking changes

None.

Linked issues

Feature Request: Stream Telemetry / Diagnostics Overlay Refactor.

#41 : People are unable to know if the current stream is playing through Dolby Vision HDR format

Note:
The previous pull request closed due to branch rename:
#86

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.

1 participant