push-olqqrzkrmmrn #144

Merged
eric merged 20 commits from push-olqqrzkrmmrn into main 2026-09-30 19:27:56 +02:00
Owner
No description provided.
eric added 20 commits 2026-09-30 19:26:53 +02:00
Introduces logic for dynamic renderer rejoining and playback state handling. Sets up the MultiroomAdapter and API endpoints for multiroom functionality. Also implements client connection and group management for direct FLAC sinks.
Introduces a full calibration mechanism using WebSockets to measure room latency, detect chirps, and calculate required delays for audio synchronization. This includes the CalibrationHub, session management logic, and client-side measurement interfaces.
Introduces a comprehensive calibration system for room alignment, new audio nodes (DelayNode, PaceNode), and refined logic for audio playback and delay persistence.

This includes implementing the CalibrationHub, defining the DelayStore trait for persistence, updating branch management for delay injection, and adding API endpoints for calibration management.
This change implements a robust calibration system featuring median-based base latency calculation, persistent fine adjustments, and new API endpoints for trimming. It also updates playback logic to ensure delays are applied correctly and handles session termination based on measurement stability.
This change introduces the ShiftNode mechanism for managing delay, alongside fine-tuning controls and robust logging. It expands the node API with new components, implements noise generation, and updates timing logic to ensure accuracy and handle flux interruptions gracefully.
This update introduces core functionality for latency estimation, detection logic, and session state management. It refactors the calibration module to include session planning, injection timing, and latency calculation, while adding comprehensive unit and simulation tests to validate timing constraints, alignment status transitions, and state persistence.
This commit introduces new diagnostic probing mechanisms for performance monitoring, updates latency calculation logic, and modifies the handling of delay nodes to improve session integrity and performance analysis.
Introduces clarification for ShiftNode interruption handling, robust calibration injection logic, and enhanced sink diagnostics. Adds necessary testing for real-time constraints and stream behavior, alongside documentation for renderer flow and sink implementation.
Introduces native support for volume and seek transport commands. Implements the JNI interface for volume control, updates the transport parsing logic, and modifies the event dispatch system to handle volume changes and errors.

This change adds support for volume adjustments and seeking within the player transport. It defines the native commands for volume control, implements the JNI functions to retrieve player status and volume, and updates the service layer to map volume settings to native commands. Event handling is updated to correctly process volume changes and errors.
Adds support for FLAC audio segments, including new timing nodes like FlacDelayNode and FlacPacerNode. Updates pipeline logic to handle FLAC frames by applying delays or skipping pacing, and modifies sinks to ignore FLAC audio when PCM encoding is expected.
Introduces a new pacing strategy using a shared clock and refactors the audio pipeline to handle FLAC encoding and frame discarding.

This change introduces new types for converter, delay, pacer, and FLAC sink nodes, alongside implementing mechanisms for session completion, clock resetting, and discarding pending operations to ensure synchronization and reliable playback state across branches.
This change introduces logic for robust playback restarts across multiroom environments, enforces critical session management ordering, and refines client handling in the direct FLAC frame sink to ensure correct header and frame sequencing.
This commit introduces core logic for calibration, session setup, and injection timing. It includes new methods for managing content clock restarts, hub reservation, asynchronous session handling, and precise timing calculations for content injection. Encoder restart logic is also updated to ensure proper input clearing upon session reset.
This update introduces new state management for room latencies, ensuring that delays are constant within a session and are only adjusted between sessions. It also refines session flow, enforcing sequential chirp detection and adding tests to validate that live updates do not alter stored delays.
Refactor the system to introduce a comprehensive calibration mechanism supporting multi-room measurements, including chirp generation, band detection, and session management.

This change introduces the core components for latency calibration, including chirp generation, frequency band detection, and detector logic to ensure accurate measurement correlation across different audio lanes. It also implements session management for recording room delays and injection logic for precise timing verification. Finally, WebSocket handling is updated to support multi-branch measurement and dynamic room state management.

Addresses a known latency mismatch issue between calibration signals and playback paths.
This change introduces instrumentation to monitor the physical renderer's playback position and internal clock state during playback and stop operations. It also corrects logic related to seeking and stopping to ensure the renderer's internal clock is properly reset.
This commit introduces significant updates to the core calibration system, focusing on improving synchronization, refining measurement calculation, and implementing robust session lifecycle management.

Key changes include:
*   Synchronization logic updated to ensure inter-branch consistency and removal of delay nodes.
*   Calibration measurements are refined using median values and new thresholds for stability.
*   New data models for session tracking, pair measurements, and final alignment reporting are implemented.
*   Comprehensive testing suites are added to validate session failure modes, trimming functionality, and measurement integrity.
This change introduces logging logic to capture playback position, renderer state, and elapsed time for both play and stop operations to aid in diagnostics.
This update introduces core functionality for stream state management, including mechanisms to reset device clocks, purge pending data, and restart encoders during stream transitions. It also refines the calibration process by adding volume balancing, amplitude measurement, and session synchronization logic.
Implement volume calibration and device lifecycle monitoring
All checks were successful
Release / create-release (push) Successful in 12s
Release / apk (push) Successful in 5m14s
f43f1b450e
Refactor volume control to handle unheard rooms, enforce volume constraints, and manage paired adjustments. Additionally, introduced logging for device online/offline status and enhanced diagnostic tracking for playback position and renderer timing issues.
eric merged commit 5698b7146a into main 2026-09-30 19:27:56 +02:00
eric deleted branch push-olqqrzkrmmrn 2026-09-30 19:28:01 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eric/pmomusic!144
No description provided.