1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use glib::translate::*;
use gst;
use gst::prelude::*;
use gst_video_sys;
use libc::uintptr_t;
use VideoOverlay;
use glib::IsA;
pub trait VideoOverlayExtManual: 'static {
unsafe fn set_window_handle(&self, handle: uintptr_t);
unsafe fn got_window_handle(&self, handle: uintptr_t);
}
impl<O: IsA<VideoOverlay>> VideoOverlayExtManual for O {
unsafe fn set_window_handle(&self, handle: uintptr_t) {
gst_video_sys::gst_video_overlay_set_window_handle(self.as_ref().to_glib_none().0, handle)
}
unsafe fn got_window_handle(&self, handle: uintptr_t) {
gst_video_sys::gst_video_overlay_got_window_handle(self.as_ref().to_glib_none().0, handle)
}
}
pub fn is_video_overlay_prepare_window_handle_message(msg: &gst::MessageRef) -> bool {
unsafe {
from_glib(
gst_video_sys::gst_is_video_overlay_prepare_window_handle_message(msg.as_mut_ptr()),
)
}
}