Déplacer cache registry dans les crates individuelles (pattern singleton)
Au lieu d'avoir un cache_registry centralisé dans pmoupnp qui créait des dépendances circulaires, chaque crate a maintenant son propre singleton global : - pmoaudiocache : register_audio_cache() + get_audio_cache() - pmocovers : register_cover_cache() + get_cover_cache() Changes: - Add singleton pattern to pmoaudiocache/src/lib.rs - Add singleton pattern to pmocovers/src/lib.rs - Add once_cell dependency to both crates - Update pmoplaylist to use pmoaudiocache::get_audio_cache() as fallback - Update pmoupnp/upnp_server.rs to use register_* functions - Update pmoupnp/lib.rs to reexport only get_* (not register_*) - Remove pmoupnp/src/cache_registry.rs (no longer needed) pmoupnp réexporte get_audio_cache() et get_cover_cache() pour compatibilité avec le code existant (pmosource, etc.).
This commit is contained in:
@@ -312,8 +312,8 @@ pub(crate) fn audio_cache() -> Result<Arc<pmoaudiocache::Cache>> {
|
||||
.get()
|
||||
.cloned()
|
||||
.or_else(|| {
|
||||
// Fallback: essayer pmoupnp si disponible
|
||||
pmoupnp::get_audio_cache()
|
||||
// Fallback: essayer le registre global de pmoaudiocache
|
||||
pmoaudiocache::get_audio_cache()
|
||||
})
|
||||
.ok_or_else(|| crate::Error::ManagerNotInitialized)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user