From d4317c6445c52952d41a983d92f88b8710fbcc28 Mon Sep 17 00:00:00 2001 From: Philippe Normand Date: Mon, 4 Jun 2018 18:20:35 +0100 Subject: [PATCH] GstPlayer: Expose PlayerVisualization name and description The name is the identifier of the visualization that has to be passed to gstreamer_player::Player::set_visualization(). Fixes #111 --- gstreamer-player/src/lib.rs | 2 +- gstreamer-player/src/player_visualization.rs | 30 ++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gstreamer-player/src/player_visualization.rs diff --git a/gstreamer-player/src/lib.rs b/gstreamer-player/src/lib.rs index 027b87ee3..ded0610d7 100644 --- a/gstreamer-player/src/lib.rs +++ b/gstreamer-player/src/lib.rs @@ -52,7 +52,7 @@ pub use config::*; mod player_video_info; mod player_video_overlay_video_renderer; -mod player_g_main_context_signal_dispatcher; +mod player_visualization; // Re-export all the traits in a prelude module, so that applications // can always "use gst::prelude::*" without getting conflicts diff --git a/gstreamer-player/src/player_visualization.rs b/gstreamer-player/src/player_visualization.rs new file mode 100644 index 000000000..548039486 --- /dev/null +++ b/gstreamer-player/src/player_visualization.rs @@ -0,0 +1,30 @@ +// Copyright (C) 2018 Philippe Normand +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +use glib::translate::*; +use std::ffi::CStr; + +use PlayerVisualization; + +impl PlayerVisualization { + pub fn name(&self) -> &str { + unsafe { + CStr::from_ptr((*self.to_glib_none().0).name) + .to_str() + .unwrap() + } + } + + pub fn description(&self) -> &str { + unsafe { + CStr::from_ptr((*self.to_glib_none().0).description) + .to_str() + .unwrap() + } + } +}