Clean up wasdapi mod
This commit is contained in:
parent
d12d9f479b
commit
125bebd733
|
@ -1,20 +1,12 @@
|
||||||
extern crate winapi;
|
extern crate winapi;
|
||||||
|
|
||||||
use BackendSpecificError;
|
use BackendSpecificError;
|
||||||
use BuildStreamError;
|
|
||||||
use DefaultFormatError;
|
|
||||||
use DeviceNameError;
|
|
||||||
use DevicesError;
|
use DevicesError;
|
||||||
use Format;
|
|
||||||
use PlayStreamError;
|
|
||||||
use PauseStreamError;
|
|
||||||
use StreamDataResult;
|
|
||||||
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::{EventLoopTrait, HostTrait, StreamIdTrait};
|
use traits::{HostTrait};
|
||||||
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::{StreamId};
|
||||||
|
|
||||||
mod com;
|
mod com;
|
||||||
mod device;
|
mod device;
|
||||||
|
@ -37,7 +29,6 @@ impl Host {
|
||||||
impl HostTrait for Host {
|
impl HostTrait for Host {
|
||||||
type Devices = Devices;
|
type Devices = Devices;
|
||||||
type Device = Device;
|
type Device = Device;
|
||||||
type EventLoop = EventLoop;
|
|
||||||
|
|
||||||
fn is_available() -> bool {
|
fn is_available() -> bool {
|
||||||
// Assume WASAPI is always available on windows.
|
// Assume WASAPI is always available on windows.
|
||||||
|
@ -55,53 +46,7 @@ impl HostTrait for Host {
|
||||||
fn default_output_device(&self) -> Option<Self::Device> {
|
fn default_output_device(&self) -> Option<Self::Device> {
|
||||||
default_output_device()
|
default_output_device()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn event_loop(&self) -> Self::EventLoop {
|
|
||||||
EventLoop::new()
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
impl EventLoopTrait for EventLoop {
|
|
||||||
type Device = Device;
|
|
||||||
type StreamId = StreamId;
|
|
||||||
|
|
||||||
fn build_input_stream(
|
|
||||||
&self,
|
|
||||||
device: &Self::Device,
|
|
||||||
format: &Format,
|
|
||||||
) -> Result<Self::StreamId, BuildStreamError> {
|
|
||||||
EventLoop::build_input_stream(self, device, format)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn build_output_stream(
|
|
||||||
&self,
|
|
||||||
device: &Self::Device,
|
|
||||||
format: &Format,
|
|
||||||
) -> Result<Self::StreamId, BuildStreamError> {
|
|
||||||
EventLoop::build_output_stream(self, device, format)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn play_stream(&self, stream: Self::StreamId) -> Result<(), PlayStreamError> {
|
|
||||||
EventLoop::play_stream(self, stream)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn pause_stream(&self, stream: Self::StreamId) -> Result<(), PauseStreamError> {
|
|
||||||
EventLoop::pause_stream(self, stream)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn destroy_stream(&self, stream: Self::StreamId) {
|
|
||||||
EventLoop::destroy_stream(self, stream)
|
|
||||||
}
|
|
||||||
|
|
||||||
fn run<F>(&self, callback: F) -> !
|
|
||||||
where
|
|
||||||
F: FnMut(Self::StreamId, StreamDataResult) + Send,
|
|
||||||
{
|
|
||||||
EventLoop::run(self, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl StreamIdTrait for StreamId {}
|
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn check_result(result: HRESULT) -> Result<(), IoError> {
|
fn check_result(result: HRESULT) -> Result<(), IoError> {
|
||||||
|
|
Loading…
Reference in New Issue