nouveau mediarenderer
This commit is contained in:
@@ -31,6 +31,6 @@ default = ["pmosource/server"]
|
||||
# Feature pour activer l'API REST de gestion des sources
|
||||
api = ["dep:axum", "dep:utoipa", "pmosource/server"]
|
||||
# Feature pour activer le support Qobuz configuré
|
||||
qobuz = ["api", "dep:pmoqobuz", "dep:pmoconfig", "pmoqobuz/cache"]
|
||||
qobuz = ["api", "dep:pmoqobuz", "dep:pmoconfig", "pmoqobuz/server"]
|
||||
# Feature pour activer le support Radio Paradise
|
||||
paradise = ["api", "dep:pmoparadise"]
|
||||
paradise = ["api", "dep:pmoparadise", "pmoparadise/server"]
|
||||
|
||||
@@ -128,13 +128,9 @@ impl SourcesExt for Server {
|
||||
.await
|
||||
.map_err(|e| SourceInitError::QobuzError(format!("Failed to create client: {}", e)))?;
|
||||
|
||||
// Récupérer l'URL de base du serveur depuis la config
|
||||
let config = pmoconfig::get_config();
|
||||
let port = config.get_http_port();
|
||||
let base_url = format!("http://localhost:{}", port);
|
||||
|
||||
// Créer la source
|
||||
let source = QobuzSource::new(client, &base_url);
|
||||
// Créer la source depuis le registry
|
||||
let source = QobuzSource::from_registry(client)
|
||||
.map_err(|e| SourceInitError::QobuzError(format!("Failed to create source: {}", e)))?;
|
||||
|
||||
// Enregistrer la source
|
||||
self.register_music_source(Arc::new(source)).await;
|
||||
@@ -155,13 +151,9 @@ impl SourcesExt for Server {
|
||||
.await
|
||||
.map_err(|e| SourceInitError::QobuzError(format!("Failed to authenticate: {}", e)))?;
|
||||
|
||||
// Récupérer l'URL de base du serveur depuis la config
|
||||
let config = pmoconfig::get_config();
|
||||
let port = config.get_http_port();
|
||||
let base_url = format!("http://localhost:{}", port);
|
||||
|
||||
// Créer la source
|
||||
let source = QobuzSource::new(client, &base_url);
|
||||
// Créer la source depuis le registry
|
||||
let source = QobuzSource::from_registry(client)
|
||||
.map_err(|e| SourceInitError::QobuzError(format!("Failed to create source: {}", e)))?;
|
||||
|
||||
// Enregistrer la source
|
||||
self.register_music_source(Arc::new(source)).await;
|
||||
@@ -182,13 +174,9 @@ impl SourcesExt for Server {
|
||||
.await
|
||||
.map_err(|e| SourceInitError::ParadiseError(format!("Failed to create client: {}", e)))?;
|
||||
|
||||
// Récupérer l'URL de base du serveur depuis la config
|
||||
let config = pmoconfig::get_config();
|
||||
let port = config.get_http_port();
|
||||
let base_url = format!("http://localhost:{}", port);
|
||||
|
||||
// Créer la source avec capacité FIFO par défaut
|
||||
let source = RadioParadiseSource::new_default(client, &base_url);
|
||||
// Créer la source depuis le registry avec capacité FIFO par défaut
|
||||
let source = RadioParadiseSource::from_registry_default(client)
|
||||
.map_err(|e| SourceInitError::ParadiseError(format!("Failed to create source: {}", e)))?;
|
||||
|
||||
// Enregistrer la source
|
||||
self.register_music_source(Arc::new(source)).await;
|
||||
|
||||
@@ -97,13 +97,19 @@ async fn register_qobuz(Json(creds): Json<QobuzCredentials>) -> impl IntoRespons
|
||||
}
|
||||
};
|
||||
|
||||
// Récupérer l'URL de base du serveur depuis la config
|
||||
let config = pmoconfig::get_config();
|
||||
let port = config.get_http_port();
|
||||
let base_url = format!("http://localhost:{}", port);
|
||||
|
||||
// Créer et enregistrer la source
|
||||
let source = Arc::new(QobuzSource::new(client, &base_url));
|
||||
// Créer et enregistrer la source depuis le registry
|
||||
let source = match QobuzSource::from_registry(client) {
|
||||
Ok(s) => Arc::new(s),
|
||||
Err(e) => {
|
||||
return (
|
||||
StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Json(ErrorResponse {
|
||||
error: format!("Failed to create source: {}", e),
|
||||
}),
|
||||
)
|
||||
.into_response();
|
||||
}
|
||||
};
|
||||
let source_id = source.as_ref().id().to_string();
|
||||
|
||||
register_source(source).await;
|
||||
@@ -150,16 +156,33 @@ async fn register_paradise(Json(params): Json<ParadiseParams>) -> impl IntoRespo
|
||||
}
|
||||
};
|
||||
|
||||
// Récupérer l'URL de base du serveur depuis la config
|
||||
let config = pmoconfig::get_config();
|
||||
let port = config.get_http_port();
|
||||
let base_url = format!("http://localhost:{}", port);
|
||||
|
||||
// Créer et enregistrer la source
|
||||
// Créer et enregistrer la source depuis le registry
|
||||
let source = if let Some(capacity) = params.fifo_capacity {
|
||||
Arc::new(RadioParadiseSource::new(client, &base_url, capacity))
|
||||
match RadioParadiseSource::from_registry(client, capacity) {
|
||||
Ok(s) => Arc::new(s),
|
||||
Err(e) => {
|
||||
return (
|
||||
StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Json(ErrorResponse {
|
||||
error: format!("Failed to create source: {}", e),
|
||||
}),
|
||||
)
|
||||
.into_response();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Arc::new(RadioParadiseSource::new_default(client, &base_url))
|
||||
match RadioParadiseSource::from_registry_default(client) {
|
||||
Ok(s) => Arc::new(s),
|
||||
Err(e) => {
|
||||
return (
|
||||
StatusCode::INTERNAL_SERVER_ERROR,
|
||||
Json(ErrorResponse {
|
||||
error: format!("Failed to create source: {}", e),
|
||||
}),
|
||||
)
|
||||
.into_response();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let source_id = source.as_ref().id().to_string();
|
||||
|
||||
Reference in New Issue
Block a user