gstreamer-vulkan 0.25.2

Rust bindings for GStreamer Vulkan library
Documentation
use crate::VulkanFullScreenQuad;

use crate::traits::VulkanFullScreenQuadExt;

use glib::prelude::*;
use glib::translate::*;

mod sealed {
    pub trait Sealed {}
    impl<T: super::IsA<super::VulkanFullScreenQuad>> Sealed for T {}
}

pub trait VulkanFullScreenQuadExtManual:
    sealed::Sealed + IsA<VulkanFullScreenQuad> + 'static
{
    fn draw_into_output(&self, outbuf: &mut gst::BufferRef) -> Result<(), glib::Error> {
        let out = unsafe { gst::Buffer::from_glib_borrow(outbuf.as_ptr()) };
        self.set_output_buffer(Some(&out))?;
        let ret = self.draw();
        self.set_output_buffer(None)?;
        ret
    }
}
impl<O: IsA<VulkanFullScreenQuad>> VulkanFullScreenQuadExtManual for O {}