Offline Tracks: encrypted cache and playback #15
Labels
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#16 Offline Tracks: caching Quality cap and cache management
SBDeveloper/medley
Reference
SBDeveloper/medley#15
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #13
What to build
A listener marks a Track offline. The host caches the Source's encoded byte stream in the private cache, encrypted at rest with a per-install key, and the Track plays with no network or Source login. Offline status shows on Track data and changes emit Core events. Removing an Offline Track frees its cache. Works for any Source.
Acceptance criteria
Blocked by
None (can start immediately)
Done in
b75fa5c: Core API (make_offline, remove_offline, offline_tracks), ChaCha20-encrypted cache with per-install key, playback from cache without the Source, Track.offline flag and OfflineChanged event, integration tests with the fake Source. UI is tracked in #31.