Add project idea and design document

Design doc covers: custom raw audio pipeline (OkHttp → IcyParser →
Mp3FrameSync → MediaCodec → AudioTrack), foreground service with
aggressive reconnection, Room DB with future-proofed schema, Compose UI,
and ICY metadata with album art fallback chain.

Made-with: Cursor
This commit is contained in:
cottongin
2026-03-10 00:18:05 -04:00
commit c98f0f32fc
2 changed files with 307 additions and 0 deletions

11
IDEA.md Normal file
View File

@@ -0,0 +1,11 @@
# Android 24/7 Radio
A simple Android application, targeting Android 9.0, which can:
1) Manage playlists of Internet radio stations (mp3/shoutcast/icecast).
2) Playback of stations.
3) A "Stay Connected" mode which stays connected to the radio station no matter what, reconnecting when disconnected (not timing out), and running in a foreground service so Android doesn't kill it.
a) with a button to manually cancel/disconnect.
4) A "as live as possible" mode which eliminates as many buffers and delays as possible, raw unfiltered bytes from the stream directly decoded (mp3) into audio playback, realizing that cellular connections are unreliabe (this is OK, if we drop packets or hear brief drops that is fine.).
As stated above, assume that the streams will be mp3 and primarily icecast/shoutcast-compliant, meaning we can look for metadata and show album art and things like this.