Skip to main content

gstreamer_vulkan/
vulkan_utils.rs

1use glib::prelude::*;
2use glib::translate::*;
3
4use crate::VulkanDevice;
5use crate::VulkanDisplay;
6use crate::VulkanInstance;
7use crate::ffi;
8
9#[doc(alias = "gst_vulkan_handle_context_query")]
10pub fn context_query(
11    element: &impl IsA<gst::Element>,
12    query: &gst::Query,
13    display: Option<&impl IsA<VulkanDisplay>>,
14    instance: Option<&impl IsA<VulkanInstance>>,
15    device: Option<&impl IsA<VulkanDevice>>,
16) -> bool {
17    assert_initialized_main_thread!();
18    unsafe {
19        from_glib(ffi::gst_vulkan_handle_context_query(
20            element.as_ref().to_glib_none().0,
21            query.to_glib_none().0,
22            display.map(|p| p.as_ref()).to_glib_none().0,
23            instance.map(|p| p.as_ref()).to_glib_none().0,
24            device.map(|p| p.as_ref()).to_glib_none().0,
25        ))
26    }
27}