//! Platform-owned voice processing backend.

use super::{AudioProcessor, FRAME_SAMPLES};

/// Marker backend for the platform VoiceProcessingIO path.
/// All DSP (AEC/NS/AGC) is handled by the hardware voice processor;
/// Rust-side processing is a no-op. `has_aec` returns true so the
/// engine enforces INV_009/INV_010 and never enables Rust AEC
/// simultaneously.
pub struct PlatformVoiceProcessor;

impl AudioProcessor for PlatformVoiceProcessor {
    fn process_capture(&mut self, _frame: &mut [f32; FRAME_SAMPLES]) {}

    fn process_render(&mut self, _frame: &[f32; FRAME_SAMPLES]) {}

    fn has_aec(&self) -> bool {
        true
    }
}
