Files
Android-247-Radio/chat-summaries/2026-03-09_brainstorm-and-plan-summary.md

30 lines
1.5 KiB
Markdown
Raw Normal View History

# Brainstorm & Implementation Plan — Android 24/7 Radio
**Date:** 2026-03-09
## Task Description
Brainstormed and designed a personal-use Android radio streaming app from an IDEA.md spec. Produced a full design document and a 15-task implementation plan.
## Key Decisions
- **Custom raw audio pipeline** (Approach B) over ExoPlayer, for absolute minimum latency (~26ms per MP3 frame vs ExoPlayer's ~1-2s floor)
- **Pipeline:** OkHttp → IcyParser → Mp3FrameSync → MediaCodec → AudioTrack, single-threaded
- **Kotlin + Jetpack Compose + Material 3**, targeting API 28 (Android 9) minimum
- **Room DB** with future-proofed schema (MetadataSnapshot, ListeningSession, ConnectionSpan tables for future recording/clips)
- **PLS/M3U import/export** with `#EXTIMG` support for station default artwork
- **Album art fallback chain:** MusicBrainz → ICY StreamUrl → EXTIMG → Station favicon → Placeholder
- **Dual timers** on Now Playing: session time (never resets) + connection time (resets on reconnect)
- **Latency indicator** estimated from ring buffer + AudioTrack write/play head delta
## Changes Made
- `docs/plans/2026-03-09-android-247-radio-design.md` — Full design document (6 sections)
- `docs/plans/2026-03-09-android-247-radio-implementation.md` — 15-task implementation plan with TDD steps
- Initialized git repository with 2 commits
## Follow-Up Items
- Execute the implementation plan (15 tasks, starting with project scaffolding)
- Execution options: subagent-driven (this session) or parallel session with executing-plans skill