diff --git a/backends/gstreamer/src/player.rs b/backends/gstreamer/src/player.rs index 218af738..618b408d 100644 --- a/backends/gstreamer/src/player.rs +++ b/backends/gstreamer/src/player.rs @@ -119,6 +119,11 @@ impl PlayerInner { Ok(()) } + pub fn set_mute(&mut self, val: bool) -> Result<(), PlayerError> { + self.player.set_mute(val); + Ok(()) + } + pub fn set_rate(&mut self, rate: f64) -> Result<(), PlayerError> { // This method may be called before the player setup is done, so we safe the rate value // and set it once the player is ready and after getting the media info @@ -706,6 +711,7 @@ impl Player for GStreamerPlayer { inner_player_proxy!(stop, ()); inner_player_proxy!(end_of_stream, ()); inner_player_proxy!(set_input_size, size, u64); + inner_player_proxy!(set_mute, val, bool); inner_player_proxy!(set_rate, rate, f64); inner_player_proxy!(set_stream_type, type_, StreamType); inner_player_proxy!(push_data, data, Vec); diff --git a/player/src/lib.rs b/player/src/lib.rs index 23dfb580..6960b617 100644 --- a/player/src/lib.rs +++ b/player/src/lib.rs @@ -71,6 +71,7 @@ pub trait Player: Send { fn pause(&self) -> Result<(), PlayerError>; fn stop(&self) -> Result<(), PlayerError>; fn seek(&self, time: f64) -> Result<(), PlayerError>; + fn set_mute(&self, val: bool) -> Result<(), PlayerError>; fn set_volume(&self, value: f64) -> Result<(), PlayerError>; fn set_input_size(&self, size: u64) -> Result<(), PlayerError>; fn set_rate(&self, rate: f64) -> Result<(), PlayerError>; @@ -100,6 +101,10 @@ impl Player for DummyPlayer { Ok(()) } + fn set_mute(&self, _: bool) -> Result<(), PlayerError> { + Ok(()) + } + fn set_volume(&self, _: f64) -> Result<(), PlayerError> { Ok(()) }