gstreamer_player/
player_video_overlay_video_renderer.rs1use std::ptr;
4
5use glib::{prelude::*, translate::*};
6use libc::uintptr_t;
7
8use crate::{PlayerVideoOverlayVideoRenderer, ffi};
9
10impl PlayerVideoOverlayVideoRenderer {
11 pub unsafe fn new(window_handle: uintptr_t) -> PlayerVideoOverlayVideoRenderer {
14 unsafe {
15 assert_initialized_main_thread!();
16
17 from_glib_full(
18 ffi::gst_player_video_overlay_video_renderer_new(window_handle as *mut _) as *mut _,
19 )
20 }
21 }
22
23 pub unsafe fn with_handle_and_sink<P: IsA<gst::Element>>(
24 window_handle: uintptr_t,
25 video_sink: &P,
26 ) -> PlayerVideoOverlayVideoRenderer {
27 unsafe {
28 skip_assert_initialized!();
29
30 from_glib_full(ffi::gst_player_video_overlay_video_renderer_new_with_sink(
31 window_handle as *mut _,
32 video_sink.as_ref().to_glib_none().0,
33 ) as *mut _)
34 }
35 }
36
37 #[doc(alias = "gst_player_video_overlay_video_renderer_new_with_sink")]
42 pub fn with_sink<P: IsA<gst::Element>>(video_sink: &P) -> PlayerVideoOverlayVideoRenderer {
43 skip_assert_initialized!();
44
45 unsafe {
46 from_glib_full(ffi::gst_player_video_overlay_video_renderer_new_with_sink(
47 ptr::null_mut(),
48 video_sink.as_ref().to_glib_none().0,
49 ) as *mut _)
50 }
51 }
52
53 #[doc(alias = "get_window_handle")]
59 pub unsafe fn window_handle(&self) -> uintptr_t {
60 unsafe {
61 ffi::gst_player_video_overlay_video_renderer_get_window_handle(self.to_glib_none().0)
62 as uintptr_t
63 }
64 }
65
66 pub unsafe fn set_window_handle(&self, window_handle: uintptr_t) {
71 unsafe {
72 ffi::gst_player_video_overlay_video_renderer_set_window_handle(
73 self.to_glib_none().0,
74 window_handle as *mut _,
75 )
76 }
77 }
78}