mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-12-23 08:36:31 +00:00
gstreamer: Add support for subclassing gst::SystemClock
This commit is contained in:
parent
bacf4998ce
commit
6abb0d3506
2 changed files with 28 additions and 0 deletions
|
@ -32,6 +32,7 @@ pub mod device;
|
|||
pub mod device_provider;
|
||||
|
||||
pub mod clock;
|
||||
pub mod system_clock;
|
||||
|
||||
pub mod preset;
|
||||
pub mod tag_setter;
|
||||
|
@ -50,6 +51,7 @@ pub mod prelude {
|
|||
pub use super::pad::{PadImpl, PadImplExt};
|
||||
pub use super::pipeline::PipelineImpl;
|
||||
pub use super::preset::PresetImpl;
|
||||
pub use super::system_clock::SystemClockImpl;
|
||||
pub use super::tag_setter::TagSetterImpl;
|
||||
pub use super::uri_handler::URIHandlerImpl;
|
||||
pub use super::PanicPoison;
|
||||
|
|
26
gstreamer/src/subclass/system_clock.rs
Normal file
26
gstreamer/src/subclass/system_clock.rs
Normal file
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2019 Sebastian Dröge <sebastian@centricular.com>
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
use gst_sys;
|
||||
|
||||
use super::prelude::*;
|
||||
use glib::subclass::prelude::*;
|
||||
|
||||
use SystemClockClass;
|
||||
|
||||
pub trait SystemClockImpl: ClockImpl + Send + Sync + 'static {}
|
||||
|
||||
unsafe impl<T: ObjectSubclass + SystemClockImpl> IsSubclassable<T> for SystemClockClass {
|
||||
fn override_vfuncs(&mut self) {
|
||||
<::ClockClass as IsSubclassable<T>>::override_vfuncs(self);
|
||||
unsafe {
|
||||
let _klass = &mut *(self as *mut Self as *mut gst_sys::GstSystemClockClass);
|
||||
// Nothing to do here
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue