Ajout de la fonctionnalité WebRenderer permettant à chaque navigateur connecté de devenir un MediaRenderer UPnP privé. - Création du crate pmowebrenderer avec l'architecture complète - Implémentation des handlers SOAP → WebSocket pour les services AVTransport, RenderingControl et ConnectionManager - Intégration avec le ControlPoint pour l'enregistrement dynamique des renderers - Gestion des sessions avec timeout et cleanup automatique - Support des commandes de transport (play, pause, stop, seek) et du contrôle du volume - Mise à jour des dépendances dans Cargo.toml et Cargo.lock - Documentation de l'architecture dans Blackboard/Architecture/webrenderer.md
25 lines
558 B
Rust
25 lines
558 B
Rust
//! Erreurs liées au WebRenderer
|
|
|
|
use thiserror::Error;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum WebRendererError {
|
|
#[error("Session not found: {0}")]
|
|
SessionNotFound(String),
|
|
|
|
#[error("Failed to send message to websocket: {0}")]
|
|
WebSocketSendError(String),
|
|
|
|
#[error("Invalid argument: {0}")]
|
|
InvalidArgument(String),
|
|
|
|
#[error("Failed to create device: {0}")]
|
|
DeviceCreationError(String),
|
|
|
|
#[error("Failed to register device: {0}")]
|
|
RegistrationError(String),
|
|
|
|
#[error("Server not available")]
|
|
ServerNotAvailable,
|
|
}
|