78 lines
2.3 KiB
Rust
78 lines
2.3 KiB
Rust
//! # RenderingControl Service - Service de contrôle du rendu audio UPnP
|
|
//!
|
|
//! Ce module implémente le service RenderingControl:1 selon la spécification UPnP AV.
|
|
//! Le service RenderingControl permet de contrôler les paramètres de rendu audio
|
|
//! (volume, mute, etc.) sur un MediaRenderer.
|
|
//!
|
|
//! ## Fonctionnalités
|
|
//!
|
|
//! Le service RenderingControl permet :
|
|
//! - **Contrôle du volume** : GetVolume, SetVolume
|
|
//! - **Contrôle du mute** : GetMute, SetMute
|
|
//! - Support multi-canal (Master, LF, RF)
|
|
//!
|
|
//! ## Conformité UPnP
|
|
//!
|
|
//! Cette implémentation suit la spécification **UPnP RenderingControl:1 Service Template**.
|
|
//! Toutes les actions obligatoires (Required) sont implémentées :
|
|
//!
|
|
//! - ✅ GetVolume
|
|
//! - ✅ SetVolume
|
|
//! - ✅ GetMute
|
|
//! - ✅ SetMute
|
|
//!
|
|
//! ## Variables d'état
|
|
//!
|
|
//! Le service expose les variables d'état conformes à la spécification :
|
|
//!
|
|
//! ### Contrôle audio
|
|
//! - [`VOLUME`] : Niveau de volume (0-100)
|
|
//! - [`MUTE`] : État mute (true/false)
|
|
//!
|
|
//! ### Arguments
|
|
//! - [`A_ARG_TYPE_INSTANCE_ID`] : ID d'instance
|
|
//! - [`A_ARG_TYPE_CHANNEL`] : Canal audio (Master, LF, RF)
|
|
//!
|
|
//! ## Examples
|
|
//!
|
|
//! ```rust
|
|
//! use pmoupnp::mediarenderer::renderingcontrol::RENDERINGCONTROL;
|
|
//!
|
|
//! // Accéder au service
|
|
//! let service = &*RENDERINGCONTROL;
|
|
//! println!("Service: {}", service.name());
|
|
//! println!("Type: {}", service.service_type());
|
|
//! ```
|
|
//!
|
|
//! ## Références
|
|
//!
|
|
//! - [UPnP RenderingControl:1 Service Template](https://upnp.org/specs/av/UPnP-av-RenderingControl-v1-Service.pdf)
|
|
//! - [UPnP AV Architecture](https://upnp.org/specs/av/)
|
|
|
|
use pmoupnp::define_service;
|
|
|
|
pub mod actions;
|
|
pub mod variables;
|
|
|
|
use actions::{GETMUTE, GETVOLUME, SETMUTE, SETVOLUME};
|
|
use variables::{A_ARG_TYPE_CHANNEL, A_ARG_TYPE_INSTANCE_ID, MUTE, VOLUME};
|
|
|
|
// Service RenderingControl:1 conforme à la spécification UPnP AV pour MediaRenderer audio
|
|
// Voir la documentation du module pour plus de détails
|
|
define_service! {
|
|
pub static RENDERINGCONTROL = "RenderingControl" {
|
|
variables: [
|
|
A_ARG_TYPE_CHANNEL,
|
|
A_ARG_TYPE_INSTANCE_ID,
|
|
MUTE,
|
|
VOLUME,
|
|
],
|
|
actions: [
|
|
GETMUTE,
|
|
GETVOLUME,
|
|
SETMUTE,
|
|
SETVOLUME,
|
|
]
|
|
}
|
|
}
|