gstreamer-rs/gstreamer-controller/src/control_point.rs
2020-09-30 16:28:51 +00:00

33 lines
851 B
Rust

use glib::translate::*;
use gst_controller_sys;
glib_wrapper! {
#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
pub struct ControlPoint(Boxed<gst_controller_sys::GstControlPoint>);
match fn {
copy => |ptr| gst_controller_sys::gst_control_point_copy(mut_override(ptr)),
free => |ptr| gst_controller_sys::gst_control_point_free(ptr),
get_type => || gst_controller_sys::gst_control_point_get_type(),
}
}
impl ControlPoint {
pub fn timestamp(&self) -> gst::ClockTime {
unsafe {
let ptr = self.to_glib_none().0;
from_glib((*ptr).timestamp)
}
}
pub fn value(&self) -> f64 {
unsafe {
let ptr = self.to_glib_none().0;
(*ptr).value
}
}
}
unsafe impl Send for ControlPoint {}
unsafe impl Sync for ControlPoint {}