pub struct VulkanEncodeFrameAccess<'a> { /* private fields */ }Expand description
One encoder-pool frame held open for a native GPU write.
Unlike a VulkanFrameLease, an encoder-input frame has one owner, so it is borrowed directly.
The guard stays on the thread that began it, which holds the frame and queue mutexes.
Implementations§
Source§impl<'a> VulkanEncodeFrameAccess<'a>
impl<'a> VulkanEncodeFrameAccess<'a>
Sourcepub fn retain_frame(&self) -> Result<AVFrame, BridgeError>
pub fn retain_frame(&self) -> Result<AVFrame, BridgeError>
Retains the frame’s buffers and hardware pool beyond this access guard.
§Errors
Returns an allocation error if FFmpeg cannot create the reference.
Sourcepub fn begin(frame: &'a mut AVFrame) -> Result<Self, BridgeError>
pub fn begin(frame: &'a mut AVFrame) -> Result<Self, BridgeError>
Opens one handoff on an encoder-pool frame.
§Errors
Returns an error when the frame is not a usable Vulkan frame.
Sourcepub const fn access(&self) -> &VulkanFrameAccess
pub const fn access(&self) -> &VulkanFrameAccess
The frame’s state while its FFmpeg locks are held.
Sourcepub const unsafe fn access_mut(&mut self) -> &mut VulkanFrameAccess
pub const unsafe fn access_mut(&mut self) -> &mut VulkanFrameAccess
The record written back on Self::commit, checked as in
VulkanFrameAccessGuard::access_mut.
§Safety
Trait Implementations§
Source§impl Drop for VulkanEncodeFrameAccess<'_>
Available on Linux and crate feature hwdevice only.
impl Drop for VulkanEncodeFrameAccess<'_>
Available on Linux and crate feature
hwdevice only.Auto Trait Implementations§
impl<'a> !Send for VulkanEncodeFrameAccess<'a>
impl<'a> !Sync for VulkanEncodeFrameAccess<'a>
impl<'a> !UnwindSafe for VulkanEncodeFrameAccess<'a>
impl<'a> Freeze for VulkanEncodeFrameAccess<'a>
impl<'a> RefUnwindSafe for VulkanEncodeFrameAccess<'a>
impl<'a> Unpin for VulkanEncodeFrameAccess<'a>
impl<'a> UnsafeUnpin for VulkanEncodeFrameAccess<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more