diff --git a/.travis.yml b/.travis.yml index 6a47a4a..2c5384a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,6 @@ script: - cargo build --no-default-features --features "with-syntex facebook" - cargo build --no-default-features --features "with-syntex portaudio-backend" - cargo build --no-default-features --features "with-syntex pulseaudio-backend" - - cargo build --no-default-features --features "with-syntex stdout-backend" - cargo build --no-default-features --features "with-syntex alsa-backend" - cargo build --no-default-features --features "with-syntex" --target armv7-unknown-linux-gnueabihf diff --git a/Cargo.toml b/Cargo.toml index a43bb67..22a658a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -71,7 +71,6 @@ nightly = ["serde_macros"] with-tremor = ["tremor"] facebook = ["hyper/ssl", "openssl"] -stdout-backend = [] alsa-backend = ["alsa"] portaudio-backend = ["portaudio"] pulseaudio-backend= ["libpulse-sys"] diff --git a/src/audio_backend/mod.rs b/src/audio_backend/mod.rs index 3cf0092..bcb3e55 100644 --- a/src/audio_backend/mod.rs +++ b/src/audio_backend/mod.rs @@ -54,11 +54,6 @@ fn mk_sink(device: Option<&str>) -> Box { Box::new(S::open(device)) } -#[cfg(feature = "stdout-backend")] -mod stdout; -#[cfg(feature = "stdout-backend")] -use self::stdout::StdoutSink; - #[cfg(feature = "alsa-backend")] mod alsa; #[cfg(feature = "alsa-backend")] @@ -74,19 +69,20 @@ mod pulseaudio; #[cfg(feature = "pulseaudio-backend")] use self::pulseaudio::PulseAudioSink; +mod pipe; +use self::pipe::StdoutSink; declare_backends! { pub const BACKENDS : &'static [ (&'static str, &'static (Fn(Option<&str>) -> Box + Sync + Send + 'static)) ] = &[ - #[cfg(feature = "stdout-backend")] - ("stdout", &mk_sink::), #[cfg(feature = "alsa-backend")] ("alsa", &mk_sink::), #[cfg(feature = "portaudio-backend")] ("portaudio", &mk_sink::), #[cfg(feature = "pulseaudio-backend")] ("pulseaudio", &mk_sink::), + ("pipe", &mk_sink::), ]; } diff --git a/src/audio_backend/stdout.rs b/src/audio_backend/stdout.rs deleted file mode 100644 index 2584731..0000000 --- a/src/audio_backend/stdout.rs +++ /dev/null @@ -1,33 +0,0 @@ -use super::{Open, Sink}; -use std::io::{self, Write}; -use std::slice; -use std::mem; - - -pub struct StdoutSink;//Option, String); - -impl Open for StdoutSink { - fn open(_: Option<&str>) -> StdoutSink { - StdoutSink - } -} - -impl Sink for StdoutSink { - fn start(&mut self) -> io::Result<()> { - Ok(()) - } - - fn stop(&mut self) -> io::Result<()> { - Ok(()) - } - - fn write(&mut self, data: &[i16]) -> io::Result<()> { -// http://stackoverflow.com/questions/30838358/writing-vecu16-to-a-file - let slice_u8: &[u8] = unsafe { slice::from_raw_parts(data.as_ptr() as *const u8, data.len() * mem::size_of::()) }; - try!(io::stdout().write_all(slice_u8)); - try!(io::stdout().flush()); - - Ok(()) - } -} -