Files
pmomusic/pmomediarenderer/src/lib.rs
Eric Coissac e055133e4f ⬆️ version bump to v0.3.35 & refactor MediaRenderer stream URL handling
- Bump version to v0.3.35 in Cargo.toml, lockfile and `version.txt`
- Refactor MediaRenderer to accept dynamic stream URL base instead of hardcoded `/api/webrenderer` path
- Remove `PlayerStateReport`, moving it to pmoweb/renderer as local type for better encapsulation
- Update `register_or_reconnect` and device creation to accept renderer name, stream URL base via closure
- Replace `update_player_state` and `get_pending_command`, delegating state/command access directly via instance lookup
- Simplify device creation by using `Device::new_from_config` and removing manual model_name setting
2026-04-05 21:46:59 +02:00

33 lines
1.2 KiB
Rust

//! Module MediaRenderer UPnP.
//!
//! Ce module implémente un MediaRenderer UPnP audio-only conforme à la spécification
//! UPnP AV Architecture. Un MediaRenderer permet de recevoir et lire du contenu audio
//! depuis un serveur UPnP (MediaServer).
//!
//! # Architecture
//!
//! Le MediaRenderer est composé de trois services obligatoires :
//!
//! - **AVTransport** : Contrôle de la lecture (play, pause, stop, seek, etc.)
//! - **RenderingControl** : Contrôle du volume et du mute
//! - **ConnectionManager** : Gestion des connexions et des protocoles supportés
pub mod adapter;
pub mod avtransport;
pub mod connectionmanager;
pub mod error;
pub mod handlers;
pub mod messages;
pub mod pipeline;
pub mod registry;
pub mod renderingcontrol;
pub mod renderer;
pub mod state;
pub use error::MediaRendererError;
pub use handlers::*;
pub use messages::PlaybackState;
pub use pipeline::{PipelineControl, PipelineHandle, seconds_to_upnp_time, upnp_time_to_seconds, InstancePipeline};
pub use registry::{MediaRendererInstance, MediaRendererRegistry};
pub use state::{RendererState, SharedState};
pub use adapter::{DeviceAdapter, DeviceCommand, DevicePlaybackState, DeviceStateReport};