Don't implement Copy for VideoRectangle and pass by reference to center_video_rectangle()

This commit is contained in:
Sebastian Dröge 2018-01-03 17:36:44 +02:00
parent 98290bcc55
commit 4297f8f5c5

View file

@ -7,8 +7,9 @@
// except according to those terms. // except according to those terms.
use ffi; use ffi;
use glib::translate::ToGlib;
#[derive(Clone, Copy, Debug, Eq, PartialEq, Hash)] #[derive(Clone, Debug, Eq, PartialEq, Hash)]
pub struct VideoRectangle { pub struct VideoRectangle {
pub x: i32, pub x: i32,
pub y: i32, pub y: i32,
@ -23,8 +24,8 @@ impl VideoRectangle {
} }
pub fn center_video_rectangle( pub fn center_video_rectangle(
src: VideoRectangle, src: &VideoRectangle,
dst: VideoRectangle, dst: &VideoRectangle,
scale: bool, scale: bool,
) -> VideoRectangle { ) -> VideoRectangle {
let mut result = ffi::GstVideoRectangle { let mut result = ffi::GstVideoRectangle {
@ -46,7 +47,7 @@ pub fn center_video_rectangle(
h: dst.h, h: dst.h,
}; };
unsafe { unsafe {
ffi::gst_video_sink_center_rect(src_rect, dst_rect, &mut result, scale as i32); ffi::gst_video_sink_center_rect(src_rect, dst_rect, &mut result, scale.to_glib());
} }
VideoRectangle::new(result.x, result.y, result.w, result.h) VideoRectangle::new(result.x, result.y, result.w, result.h)
} }