From 6cd711cfdf09de803cd52b55911d7413da316657 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Tue, 9 Jun 2020 11:24:30 +0200 Subject: [PATCH] subclass: clean up subclassing prelude/re-exports Use re-export pattern from glib. Fix #255 --- examples/src/bin/rtsp-server-subclass.rs | 2 +- gstreamer-audio/src/subclass/mod.rs | 8 +++--- gstreamer-base/src/subclass/mod.rs | 12 ++++---- gstreamer-rtsp-server/src/subclass/mod.rs | 10 ++++--- gstreamer-video/src/subclass/mod.rs | 4 +-- gstreamer/src/subclass/mod.rs | 35 ++++++++++++----------- gstreamer/src/subclass/plugin_1_12.rs | 8 +++--- gstreamer/src/subclass/plugin_1_14.rs | 8 +++--- 8 files changed, 47 insertions(+), 40 deletions(-) diff --git a/examples/src/bin/rtsp-server-subclass.rs b/examples/src/bin/rtsp-server-subclass.rs index 199050c74..04dd5e99a 100644 --- a/examples/src/bin/rtsp-server-subclass.rs +++ b/examples/src/bin/rtsp-server-subclass.rs @@ -249,7 +249,7 @@ mod media { &self, media: &gst_rtsp_server::RTSPMedia, sdp: &mut gst_sdp::SDPMessageRef, - info: &gst_rtsp_server::subclass::rtsp_media::SDPInfo, + info: &gst_rtsp_server::subclass::SDPInfo, ) -> Result<(), gst::LoggableError> { self.parent_setup_sdp(media, sdp, info)?; diff --git a/gstreamer-audio/src/subclass/mod.rs b/gstreamer-audio/src/subclass/mod.rs index 1cbb83a23..f7a480d72 100644 --- a/gstreamer-audio/src/subclass/mod.rs +++ b/gstreamer-audio/src/subclass/mod.rs @@ -7,10 +7,10 @@ // except according to those terms. #![allow(clippy::cast_ptr_alignment)] -pub mod audio_decoder; -pub mod audio_encoder; -pub mod audio_sink; -pub mod audio_src; +mod audio_decoder; +mod audio_encoder; +mod audio_sink; +mod audio_src; pub mod prelude { pub use super::audio_decoder::{AudioDecoderImpl, AudioDecoderImplExt}; diff --git a/gstreamer-base/src/subclass/mod.rs b/gstreamer-base/src/subclass/mod.rs index 37c765edf..41b522d63 100644 --- a/gstreamer-base/src/subclass/mod.rs +++ b/gstreamer-base/src/subclass/mod.rs @@ -8,18 +8,20 @@ // except according to those terms. #![allow(clippy::cast_ptr_alignment)] -pub mod base_parse; -pub mod base_sink; +mod base_parse; +mod base_sink; +// Public to namespace CreateSuccess pub mod base_src; +// Public to namespace GenerateOutputSuccess and PrepareOutputBufferSuccess, pub mod base_transform; -pub mod push_src; +mod push_src; pub use self::base_transform::BaseTransformMode; #[cfg(any(feature = "v1_14", feature = "dox"))] -pub mod aggregator; +mod aggregator; #[cfg(any(feature = "v1_14", feature = "dox"))] -pub mod aggregator_pad; +mod aggregator_pad; pub mod prelude { #[cfg(any(feature = "v1_14", feature = "dox"))] diff --git a/gstreamer-rtsp-server/src/subclass/mod.rs b/gstreamer-rtsp-server/src/subclass/mod.rs index 48ffcf1f8..dd7f12736 100644 --- a/gstreamer-rtsp-server/src/subclass/mod.rs +++ b/gstreamer-rtsp-server/src/subclass/mod.rs @@ -7,10 +7,12 @@ // except according to those terms. #![allow(clippy::cast_ptr_alignment)] -pub mod rtsp_client; -pub mod rtsp_media; -pub mod rtsp_media_factory; -pub mod rtsp_server; +mod rtsp_client; +mod rtsp_media; +mod rtsp_media_factory; +mod rtsp_server; + +pub use self::rtsp_media::SDPInfo; pub mod prelude { pub use super::rtsp_client::{RTSPClientImpl, RTSPClientImplExt}; diff --git a/gstreamer-video/src/subclass/mod.rs b/gstreamer-video/src/subclass/mod.rs index 099b1bf1a..afd70a6ad 100644 --- a/gstreamer-video/src/subclass/mod.rs +++ b/gstreamer-video/src/subclass/mod.rs @@ -7,8 +7,8 @@ // except according to those terms. #![allow(clippy::cast_ptr_alignment)] -pub mod video_decoder; -pub mod video_encoder; +mod video_decoder; +mod video_encoder; pub mod prelude { pub use super::video_decoder::{VideoDecoderImpl, VideoDecoderImplExt}; diff --git a/gstreamer/src/subclass/mod.rs b/gstreamer/src/subclass/mod.rs index 58376727c..f7e3a131b 100644 --- a/gstreamer/src/subclass/mod.rs +++ b/gstreamer/src/subclass/mod.rs @@ -9,34 +9,37 @@ #![allow(clippy::cast_ptr_alignment)] #[macro_use] -pub mod error; +mod error; #[cfg(any(feature = "v1_14"))] #[macro_use] #[path = "plugin_1_14.rs"] -pub mod plugin; +mod plugin; #[cfg(not(any(feature = "v1_14")))] #[macro_use] #[path = "plugin_1_12.rs"] -pub mod plugin; +mod plugin; -pub mod bin; -pub mod child_proxy; -pub mod element; -pub mod ghost_pad; -pub mod pad; -pub mod pipeline; +mod bin; +mod child_proxy; +mod element; +mod ghost_pad; +mod pad; +mod pipeline; -pub mod device; -pub mod device_provider; +mod device; +mod device_provider; -pub mod clock; -pub mod system_clock; +mod clock; +mod system_clock; -pub mod preset; -pub mod tag_setter; -pub mod uri_handler; +mod preset; +mod tag_setter; +mod uri_handler; + +pub use self::error::FlowError; +pub use self::plugin::{MAJOR_VERSION, MINOR_VERSION}; pub mod prelude { pub use super::bin::{BinImpl, BinImplExt}; diff --git a/gstreamer/src/subclass/plugin_1_12.rs b/gstreamer/src/subclass/plugin_1_12.rs index de804a9ff..e9a2d7301 100644 --- a/gstreamer/src/subclass/plugin_1_12.rs +++ b/gstreamer/src/subclass/plugin_1_12.rs @@ -31,8 +31,8 @@ macro_rules! gst_plugin_define( #[no_mangle] #[allow(non_upper_case_globals)] pub static gst_plugin_desc: GstPluginDesc = GstPluginDesc($crate::gst_sys::GstPluginDesc { - major_version: $crate::subclass::plugin::MAJOR_VERSION, - minor_version: $crate::subclass::plugin::MINOR_VERSION, + major_version: $crate::subclass::MAJOR_VERSION, + minor_version: $crate::subclass::MINOR_VERSION, name: concat!(stringify!($name), "\0") as *const str as *const _, description: concat!($description, "\0") as *const str as *const _, plugin_init: Some(plugin_init_trampoline), @@ -49,8 +49,8 @@ macro_rules! gst_plugin_define( unsafe { $crate::glib::glib_result_from_gboolean!( $crate::gst_sys::gst_plugin_register_static( - $crate::subclass::plugin::MAJOR_VERSION, - $crate::subclass::plugin::MINOR_VERSION, + $crate::subclass::MAJOR_VERSION, + $crate::subclass::MINOR_VERSION, concat!(stringify!($name), "\0") as *const str as *const _, concat!($description, "\0") as *const str as _, Some(plugin_init_trampoline), diff --git a/gstreamer/src/subclass/plugin_1_14.rs b/gstreamer/src/subclass/plugin_1_14.rs index d2b53cf97..4bede8d6d 100644 --- a/gstreamer/src/subclass/plugin_1_14.rs +++ b/gstreamer/src/subclass/plugin_1_14.rs @@ -29,8 +29,8 @@ macro_rules! gst_plugin_define( unsafe impl Sync for GstPluginDesc {} static GST_PLUGIN_DESC: GstPluginDesc = GstPluginDesc($crate::gst_sys::GstPluginDesc { - major_version: $crate::subclass::plugin::MAJOR_VERSION, - minor_version: $crate::subclass::plugin::MINOR_VERSION, + major_version: $crate::subclass::MAJOR_VERSION, + minor_version: $crate::subclass::MINOR_VERSION, name: concat!(stringify!($name), "\0") as *const str as *const _, description: concat!($description, "\0") as *const str as *const _, plugin_init: Some(plugin_init_trampoline), @@ -47,8 +47,8 @@ macro_rules! gst_plugin_define( unsafe { $crate::glib::glib_result_from_gboolean!( $crate::gst_sys::gst_plugin_register_static( - $crate::subclass::plugin::MAJOR_VERSION, - $crate::subclass::plugin::MINOR_VERSION, + $crate::subclass::MAJOR_VERSION, + $crate::subclass::MINOR_VERSION, concat!(stringify!($name), "\0") as *const str as *const _, concat!($description, "\0") as *const str as _, Some(plugin_init_trampoline),