StreamProbe introduces a built-in debug overlay in this update, giving developers real-time visibility into HLS manifest details and active video variants directly on screen.
TL;DR
A new debug overlay panel lets you inspect HLS stream data — including active track info and variant details — without adding your own logging or external tooling. The overlay is managed through a new OverlayManager and integrates directly with the player via PlayerInterceptor.
What's New
- OverlayManager: New component that controls the lifecycle and rendering of the debug panel
- Custom debug views: On-screen UI components that display live HLS manifest and variant data
- Data models: Introduced dedicated models for HLS manifests, active tracks, and variant info to structure the captured stream data cleanly
- PlayerInterceptor updates: Now captures active stream variant data and pipes it to the overlay
- Unit tests: Added test coverage for the new variant tracking logic
How to Use
Attach the overlay to your player setup and the OverlayManager will handle the rest. The debug panel will display the current HLS manifest and active variant info in real-time during playback. This is intended for debug builds — make sure to gate it behind a debug flag in production.
// Example: enabling the debug overlay
val overlayManager = OverlayManager(context)
overlayManager.attach(playerView)
FAQ
Does this overlay appear in production builds?
No — you control when OverlayManager is initialized. Wrap it in a BuildConfig.DEBUG check to keep it out of production builds.
What HLS data does the overlay show?
It displays the parsed HLS manifest details and the currently active video variant, including track resolution and bitrate info captured by PlayerInterceptor.
Does this add overhead to playback performance?
The overlay is lightweight and only processes variant data that PlayerInterceptor is already intercepting. It's designed for debug use, so production impact is zero when not initialized.
Are there unit tests I can reference for the tracking logic?
Yes — unit tests for the variant tracking logic were added alongside this feature and can be used as a reference for how the data models are expected to behave.