Files
pmomusic/pmoparadise/src
Claude befdd90149 Fix cover caching for all tracks in multi-track Radio Paradise blocks
This commit fixes two critical issues that prevented covers from being
cached for tracks beyond the first one in Radio Paradise blocks:

1. FlacCacheSink Phase 3 metadata loss:
   - When TrackBoundary for track N+1 was received during Phase 3
     of track N, the metadata was discarded
   - Main loop would then wait for a NEW TrackBoundary that never came
   - Solution: Store metadata in next_track_metadata variable and reuse
     it in next iteration
   - Added wait_for_first_audio_chunk() for when metadata is pre-loaded

2. RadioParadiseStreamSource not sending subsequent TrackBoundaries:
   - Code was only checking elapsed_ms >= song.elapsed in loop
   - Added debug logging to track TrackBoundary sending
   - Improved comments explaining first song special handling

Test results:
- Successfully cached covers for 4 consecutive tracks
- Verified with test showing "Successfully cached cover" for each track
- Cover cache directory contains 4 .webp files with complete markers

Files modified:
- pmoaudio-ext/src/sinks/flac_cache_sink.rs
- pmoparadise/src/radio_paradise_stream_source.rs
2025-11-09 10:29:23 +00:00
..