Show decoder-observed audio source details - #1269
Open
danielcamposramos wants to merge 1 commit into
Open
danielcamposramos wants to merge 1 commit into
danielcamposramos wants to merge 1 commit into
Conversation
Retain useful ICY headers without requiring in-band metadata, parse Icecast audio info defensively, normalize bitrate units, and keep metadata stripping gated by a real interval. Merge ExoPlayer's observed codec/rate/channel tuple into service state and render it in a compact optional player row with English and pt-BR resources. Enable the declared JUnit 5/Vintage suite through JUnit Platform and add regression coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
icy-metaint;ice-audio-infotokens defensively;the existing stream info;
AAC-LC · 44.1 kHz · stereoin the full player;Platform instead of silently executing zero tests.
This addresses the placement concern in #349 without adding information to the
already crowded station list: the row is limited to the full player and becomes
GONEwhen no decoder/source details are known.Layer boundary
The displayed values describe the compressed source format consumed by the
player. They intentionally do not claim the format or bit depth of Android's
final mixer/HAL/device output.
Tests
testFreeDebugUnitTest: 11 tests, 0 failures, 0 skippedlintFreeDebug: passassembleFreeDebug: passgit diff --check: passCurrent master references two dependency coordinates that were unavailable
during local verification. A Gradle init script substituted their resolvable
coordinates and set a local min-SDK override for the verification build only;
no dependency or min-SDK change is included in this pull request.
Provenance
The device experiment and contribution were developed collaboratively by
Daniel Campos Ramos with Codex CLI / GPT-SOL and Claude CLI / Opus 4.8.
The live experiment showed why source observability is preferable to a
misleading "24-bit" application switch: source decode and final Android output
are separate layers.