joren 70810bd4b1 feat: qbz-1 streaming, gapless prefetch, accurate scrobbling, Range-seek
Port proven playback architecture from qbqt fork:
- Bounded VecDeque buffer with condvar backpressure (4MB cap)
- decrypt_and_extract_frames for clean FLAC frame extraction from ISOBMFF
- Cancel+restart seeking with sub-segment sample skipping
- start_prefetch / QueueNext for gapless transitions with pre-started downloads
- track_transitioned signaling for scrobbler during gapless playback
- Range-request HTTP seeking for non-segmented (MP3) tracks
- OnceLock HTTP client singleton with cancel-aware chunked downloads
- Accumulated listening time scrobbling (prevents false scrobbles from seeking)
- Array-format Last.fm scrobble params (artist[0], track[0], etc.)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 20:12:23 +02:00
2026-03-24 00:41:04 +01:00
2026-03-24 00:41:04 +01:00
2026-03-23 23:34:23 +01:00
2026-03-24 00:39:45 +01:00
2026-03-24 00:41:04 +01:00
Description
No description provided
Readme 29 MiB
Languages
C++ 65.5%
Rust 31.5%
C 1.6%
CMake 1.4%