From abb79e6a41929547d570c324c3cdcc8f9d531f98 Mon Sep 17 00:00:00 2001 From: Lucas Fantacuci Date: Mon, 3 Dec 2018 10:19:58 -0200 Subject: [PATCH] Adding a behavior to the Player trait to set the volume Implementing the set_volume from Player Trait into the DummyPlayer Adding set_volume to the GSTREAMER player --- backends/gstreamer/src/player.rs | 6 ++++++ player/src/lib.rs | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backends/gstreamer/src/player.rs b/backends/gstreamer/src/player.rs index 44d6493f..b7e52aac 100644 --- a/backends/gstreamer/src/player.rs +++ b/backends/gstreamer/src/player.rs @@ -202,6 +202,11 @@ impl PlayerInner { Ok(()) } + pub fn set_volume(&mut self, value: f64) -> Result<(), BackendError> { + self.player.set_volume(value); + Ok(()) + } + pub fn push_data(&mut self, data: Vec) -> Result<(), BackendError> { if let Some(ref mut appsrc) = self.appsrc { let buffer = @@ -550,4 +555,5 @@ impl Player for GStreamerPlayer { inner_player_proxy!(set_stream_type, type_, StreamType); inner_player_proxy!(push_data, data, Vec); inner_player_proxy!(seek, time, f64); + inner_player_proxy!(set_volume, value, f64); } diff --git a/player/src/lib.rs b/player/src/lib.rs index 8a5b995f..68263851 100644 --- a/player/src/lib.rs +++ b/player/src/lib.rs @@ -55,7 +55,7 @@ pub trait Player: Send { fn pause(&self) -> Result<(), Self::Error>; fn stop(&self) -> Result<(), Self::Error>; fn seek(&self, time: f64) -> Result<(), Self::Error>; - + fn set_volume(&self, value: f64) -> Result<(), Self::Error>; fn set_input_size(&self, size: u64) -> Result<(), Self::Error>; fn set_stream_type(&self, type_: StreamType) -> Result<(), Self::Error>; fn push_data(&self, data: Vec) -> Result<(), Self::Error>; @@ -86,6 +86,10 @@ impl Player for DummyPlayer { Ok(()) } + fn set_volume(&self, _: f64) -> Result<(), ()> { + Ok(()) + } + fn set_input_size(&self, _: u64) -> Result<(), ()> { Ok(()) }