feat: Add play_and_cache example for Radio Paradise streaming and playback
Crée un nouvel exemple complet qui démontre l'utilisation de tout le pipeline: - Téléchargement d'un bloc Radio Paradise - Cache FLAC via FlacCacheSink - Playlist alimentée automatiquement - Lecture en temps réel via PlaylistSource et AudioSink Architecture à deux pipelines : Pipeline 1 (Download & Cache): RadioParadiseStreamSource → FlacCacheSink (avec playlist abonnée) Pipeline 2 (Playback): PlaylistSource (lit la playlist) → AudioSink (joue l'audio) Les deux pipelines s'exécutent en parallèle, permettant la lecture pendant le téléchargement. Modifications: - Ajout pmoaudio-ext avec feature playlist dans pmoparadise - Nouvelle feature "full" combinant pmoaudio + pmoaudio-ext - Logs détaillés à tous les niveaux (DEBUG) Usage: cargo run --example play_and_cache --features full -- <channel_id>
This commit is contained in:
@@ -51,6 +51,9 @@ symphonia = { version = "0.5", features = ["all"] }
|
||||
# Audio decoding - claxon for FLAC streaming
|
||||
claxon = "0.4"
|
||||
|
||||
# pmoaudio-ext with playlist support (optional for examples)
|
||||
pmoaudio-ext = { path = "../pmoaudio-ext", optional = true, features = ["playlist"] }
|
||||
|
||||
# Common music source traits
|
||||
pmosource = { path = "../pmosource" }
|
||||
|
||||
@@ -87,6 +90,8 @@ pmoconfig = ["dep:pmoconfig"]
|
||||
cache = []
|
||||
# Active le support pmoaudio node (RadioParadiseStreamSource)
|
||||
pmoaudio = ["dep:pmoaudio", "dep:pmoflac", "dep:pmometadata", "dep:futures-util"]
|
||||
# Active le support complet avec playlist (pour les exemples avancés)
|
||||
full = ["pmoaudio", "dep:pmoaudio-ext"]
|
||||
|
||||
[dev-dependencies]
|
||||
# Tests
|
||||
|
||||
Reference in New Issue
Block a user