Stream Probe introduces track-type classification and file extension display for media segments in this update. The overlay timeline now shows color-coded badges and URI-derived extensions alongside every segment entry.
TL;DR
Debugging interleaved audio and video segments used to mean staring at download timing patterns and guessing. Now each segment row carries a color-coded badge (Video, Audio, Text) and a file extension like .ts or .m4s, pulled directly from the segment URI. Available on both Android and iOS.
What's New
- Track-type classification on Android: Uses Media3's
SegmentTrackTypeto classify each downloaded segment as Video, Audio, or Text - File extension extraction on both platforms: Parsed from segment URIs on Android and iOS, so
.ts,.m4s,.aac, and similar extensions appear in the overlay automatically - Color-coded track-type badges in the overlay UI: Each segment row now shows a badge that visually separates audio chunks from video chunks at a glance
- Automated local XCFramework rebuilds for iOS: The iOS app build now triggers local XCFramework rebuilds automatically, cutting manual steps from the Kotlin Multiplatform dev loop
- Overlay formatter refactor: Formatters split into smaller, focused components for easier maintenance going forward
How to Use
No config changes needed. Open the Stream Probe overlay while a stream is playing and the segment timeline will show track-type badges and file extensions next to each segment entry. Interleaved audio and video chunks that previously looked identical are now visually distinct.
FAQ
Why do segment download times look irregular in HLS streams?
Interleaved audio and video segments download separately and at different sizes, which makes timing look inconsistent even on a healthy connection. The new badges make it easy to see which type is which.
Which platforms support track-type classification?
Android uses Media3's SegmentTrackType for classification. iOS derives the file extension from the segment URI. Both platforms show the extension in the overlay.
Is iOS 18 required for file extension display?
No. File extension extraction is URI-based and works independently of AVMetrics, so it is not tied to iOS 18.
Does the XCFramework automation affect release builds?
The automated rebuild targets local development only. It removes a manual step from the KMP workflow without changing how release artifacts are produced.