Trait AudioDeviceEnumeratorProxyInterface 
Source pub trait AudioDeviceEnumeratorProxyInterface: Send + Sync {
    type GetDevicesResponseFut: Future<Output = Result<Vec<AudioDeviceInfo>, Error>> + Send;
    type GetDeviceGainResponseFut: Future<Output = Result<(u64, AudioGainInfo), Error>> + Send;
    // Required methods
    fn get_devices(&self) -> Self::GetDevicesResponseFut;
    fn get_device_gain(
        &self,
        device_token: u64,
    ) -> Self::GetDeviceGainResponseFut;
    fn set_device_gain(
        &self,
        device_token: u64,
        gain_info: &AudioGainInfo,
        valid_flags: AudioGainValidFlags,
    ) -> Result<(), Error>;
    fn add_device_by_channel(
        &self,
        device_name: &str,
        is_input: bool,
        channel: ClientEnd<StreamConfigMarker>,
    ) -> Result<(), Error>;
}