Zackriya-Solutions/meetily · error

Device not found or no compatible configuration available: {

Error message

Device not found or no compatible configuration available: {}

What it means

Terminal error of get_windows_device (windows.rs:256): for the requested DeviceType, neither any enumerated WASAPI device whose name matched base_name (exact or contains) yielded a usable config, nor did the final default-device fallback (default_output_config/default_input_config plus first supported config) succeed. Every path to a (device, SupportedStreamConfig) pair was exhausted.

Source

Thrown at frontend/src-tauri/src/audio/devices/platform/windows.rs:256

            // If we didn't find a matching device, try the default output device as fallback
            info!("No matching output device found, trying default output device");
            if let Some(default_device) = wasapi_host.default_output_device() {
                if let Ok(name) = default_device.name() {
                    info!("Using default output device: {}", name);
                    if let Ok(config) = default_device.default_output_config() {
                        return Ok((default_device, config));
                    } else if let Ok(supported_configs) = default_device.supported_output_configs() {
                        if let Some(config) = supported_configs.into_iter().next() {
                            return Ok((default_device, config.with_max_sample_rate()));
                        }
                    }
                }
            }
        }
    }

    Err(anyhow!("Device not found or no compatible configuration available: {}", audio_device.name))
}

View on GitHub (pinned to 0281737d87)

Solutions

  1. Restart Windows Audio (net stop Audiosrv && net start Audiosrv, or reboot) - restores endpoint enumeration after sleep/RDP corruption.
  2. Re-enumerate devices in the app (refresh the picker) and select the current output; verify in Windows Sound settings.
  3. For RDP, enable Remote Audio Playback in the client's local resources, or run locally with a physical endpoint attached.
  4. If a virtual cable is required for loopback, reinstall it and re-select.
  5. Mitigate in callers: catch this error and degrade to mic-only recording (system_device_name: None) instead of failing the whole start_recording.

Example fix

// caller: before - any device error fails recording outright
let (dev, cfg) = get_windows_device(&audio_device)?;

// caller: after - degrade to mic-only when the system-audio lookup exhausts all options
let (dev, cfg) = match get_windows_device(&audio_device) {
    Ok(found) => found,
    Err(e) if matches!(audio_device.device_type, DeviceType::Output) => {
        warn!("System device unavailable ({}); continuing mic-only", e);
        return Ok(None); // signal caller to skip system capture
    }
    Err(e) => return Err(e),
};
Defensive patterns

Strategy: fallback

Validate before calling

// Windows: confirm an audio endpoint exists at all before recording with system audio
fn any_output_endpoint() -> bool {
    cpal::host_from_id(cpal::HostId::Wasapi)
        .ok().and_then(|h| h.default_output_device()).is_some()
}

Try / catch

// Exhausted lookup on the system device -> continue mic-only instead of failing the meeting
match get_windows_device(&system_dev) {
    Ok(ok) => Ok(Some(ok)),
    Err(e) if e.to_string().contains("Device not found or no compatible configuration") => {
        warn!("System audio unavailable: {}", e);
        Ok(None) // record without system audio
    }
    Err(e) => Err(e),
}

Prevention

When it happens

Trigger: Output branch is the typical hitter: the requested loopback device no longer exists (unplugged USB/HDMI/VB-Cable) and the default output device also failed both default_output_config() and supported_output_configs() (no active audio endpoint at all - audio service stopped, RDP session without audio redirection); a name matched a device but every format negotiation branch warned and fell through; base_name extracted from a malformed stored name (no suffix), so the raw name compared against differing WASAPI endpoint names.

Common situations: RDP into the machine with audio redirection disabled ('no audio output device is installed' state); uninstalling the virtual cable used for system capture without refreshing the picker; Windows N editions missing media features affecting endpoint enumeration; audio endpoints corrupted after sleep/hibernate until the Audio service restarts.

Related errors


AI-assisted analysis of Zackriya-Solutions/meetily@0281737d87 (2026-08-16). Data as JSON: /api/errors/27e021ab3790cd58. Report an issue: GitHub.