Refactor WebRenderer to use server-side streaming with OGG-FLAC sink
This commit refactors the WebRenderer to use a server-side streaming architecture with OGG-FLAC sink instead of the previous WebSocket-based approach. The changes include: - Replaced WebSocket communication with HTTP streaming using DirectOggFlacSink - Implemented a new pipeline architecture with dedicated handlers for UPnP commands - Added new modules for registration, registry, and streaming - Updated the renderer to work with a pipeline control system - Removed old WebSocket session management - Added support for HTTP streaming with gapless playback - Updated dependencies and features for the new architecture The WebRenderer now acts as a MediaRenderer UPnP device that serves audio streams via HTTP endpoints, with commands relayed to the audio pipeline through a new control system.
This commit is contained in:
@@ -550,8 +550,8 @@ impl MusicRenderer {
|
||||
.map(|prev| !playback_state_equal(prev, &raw_state))
|
||||
.unwrap_or(true);
|
||||
|
||||
// Emit event only for non-transient states to reduce noise
|
||||
if changed && !matches!(raw_state, PlaybackState::Transitioning) {
|
||||
// Emit event for all state changes including Transitioning
|
||||
if changed {
|
||||
let state_clone = raw_state.clone();
|
||||
drop(watched);
|
||||
self.emit_event(RendererEvent::StateChanged {
|
||||
|
||||
Reference in New Issue
Block a user