Move DeviceTrait implementation to wasapi::device
This commit is contained in:
parent
f57e7c74e4
commit
37e7b5b63b
|
@ -68,6 +68,8 @@ use super::winapi::um::mmdeviceapi::{
|
||||||
IMMEndpoint,
|
IMMEndpoint,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use crate::traits::DeviceTrait;
|
||||||
|
|
||||||
pub type SupportedInputFormats = std::vec::IntoIter<SupportedFormat>;
|
pub type SupportedInputFormats = std::vec::IntoIter<SupportedFormat>;
|
||||||
pub type SupportedOutputFormats = std::vec::IntoIter<SupportedFormat>;
|
pub type SupportedOutputFormats = std::vec::IntoIter<SupportedFormat>;
|
||||||
|
|
||||||
|
@ -87,6 +89,31 @@ pub struct Device {
|
||||||
future_audio_client: Arc<Mutex<Option<IAudioClientWrapper>>>, // TODO: add NonZero around the ptr
|
future_audio_client: Arc<Mutex<Option<IAudioClientWrapper>>>, // TODO: add NonZero around the ptr
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl DeviceTrait for Device {
|
||||||
|
type SupportedInputFormats = SupportedInputFormats;
|
||||||
|
type SupportedOutputFormats = SupportedOutputFormats;
|
||||||
|
|
||||||
|
fn name(&self) -> Result<String, DeviceNameError> {
|
||||||
|
Device::name(self)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn supported_input_formats(&self) -> Result<Self::SupportedInputFormats, SupportedFormatsError> {
|
||||||
|
Device::supported_input_formats(self)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn supported_output_formats(&self) -> Result<Self::SupportedOutputFormats, SupportedFormatsError> {
|
||||||
|
Device::supported_output_formats(self)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn default_input_format(&self) -> Result<Format, DefaultFormatError> {
|
||||||
|
Device::default_input_format(self)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn default_output_format(&self) -> Result<Format, DefaultFormatError> {
|
||||||
|
Device::default_output_format(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct Endpoint {
|
struct Endpoint {
|
||||||
endpoint: *mut IMMEndpoint,
|
endpoint: *mut IMMEndpoint,
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ use StreamDataResult;
|
||||||
use SupportedFormatsError;
|
use SupportedFormatsError;
|
||||||
use self::winapi::um::winnt::HRESULT;
|
use self::winapi::um::winnt::HRESULT;
|
||||||
use std::io::Error as IoError;
|
use std::io::Error as IoError;
|
||||||
use traits::{DeviceTrait, EventLoopTrait, HostTrait, StreamIdTrait};
|
use traits::{EventLoopTrait, HostTrait, StreamIdTrait};
|
||||||
pub use self::device::{Device, Devices, SupportedInputFormats, SupportedOutputFormats, default_input_device, default_output_device};
|
pub use self::device::{Device, Devices, SupportedInputFormats, SupportedOutputFormats, default_input_device, default_output_device};
|
||||||
pub use self::stream::{EventLoop, StreamId};
|
pub use self::stream::{EventLoop, StreamId};
|
||||||
|
|
||||||
|
@ -61,31 +61,6 @@ impl HostTrait for Host {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DeviceTrait for Device {
|
|
||||||
type SupportedInputFormats = SupportedInputFormats;
|
|
||||||
type SupportedOutputFormats = SupportedOutputFormats;
|
|
||||||
|
|
||||||
fn name(&self) -> Result<String, DeviceNameError> {
|
|
||||||
Device::name(self)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn supported_input_formats(&self) -> Result<Self::SupportedInputFormats, SupportedFormatsError> {
|
|
||||||
Device::supported_input_formats(self)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn supported_output_formats(&self) -> Result<Self::SupportedOutputFormats, SupportedFormatsError> {
|
|
||||||
Device::supported_output_formats(self)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn default_input_format(&self) -> Result<Format, DefaultFormatError> {
|
|
||||||
Device::default_input_format(self)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn default_output_format(&self) -> Result<Format, DefaultFormatError> {
|
|
||||||
Device::default_output_format(self)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl EventLoopTrait for EventLoop {
|
impl EventLoopTrait for EventLoop {
|
||||||
type Device = Device;
|
type Device = Device;
|
||||||
type StreamId = StreamId;
|
type StreamId = StreamId;
|
||||||
|
|
Loading…
Reference in New Issue