Stream Probe introduces an orientation-aware debug overlay with filter chips for switching between Variants and Segments views in this update.
TL;DR
The debug overlay now has a dedicated filter system to toggle between Variants and Segments, replacing the old scattered toggles. It also handles portrait and landscape layouts correctly, and the underlying API separates player attachment from overlay display for cleaner lifecycle management.
What's New
- Filter chips added to the overlay for switching between Variants and Segments views. The old redundant manifest and segment toggles are consolidated here.
- Orientation-aware layout: the overlay now renders correctly in both portrait and landscape modes.
- SegmentTimelineAdapter and SegmentTimelineItemView: new components for displaying segment metrics in a timeline format.
- API refactor: player attachment is now decoupled from overlay display, giving you finer control over lifecycle events.
How to Use
Attach the player independently from showing the overlay:
// Attach player separately
streamProbe.attach(player: avPlayer)
// Show overlay when needed
streamProbe.showOverlay()
Filter chips appear automatically in the overlay toolbar. Tap Variants or Segments to switch views.
Breaking Changes
The API for attaching a player and displaying the overlay has been separated. If you previously used a single call to do both, you will need to update your integration to call attach and show independently.
Migration Guide
- Replace any combined attach-and-show calls with the new separate
attach(player:)andshowOverlay()methods. - Remove any manual toggles you added for switching between manifest and segment views. The filter chips handle this now.
FAQ
What happened to the old manifest and segment toggle buttons?
They have been consolidated into the new filter chip system in the overlay toolbar. Tap the Variants or Segments chip to switch views.
Does orientation support require any extra setup?
No. The overlay detects orientation automatically. No additional configuration is needed on your end.
Why was the player attachment API refactored?
Decoupling attachment from display gives you better control over the overlay lifecycle, especially in cases where you want to attach a player early but show the overlay conditionally (like only in debug builds).
Is the SegmentTimelineAdapter public API?
Yes. SegmentTimelineAdapter and SegmentTimelineItemView are exposed so you can reference segment metrics data if you need to build custom tooling on top of Stream Probe.