MCPcopy Create free account
hub / github.com/RustCV/RustCV / copy_from_linear_buffer

Method copy_from_linear_buffer

rustcv-backend-msmf/src/stream.rs:428–442  ·  view source on GitHub ↗

Copies frame data from a linear/contiguous buffer.

(
        &mut self,
        buffer: &windows::Win32::Media::MediaFoundation::IMFMediaBuffer,
    )

Source from the content-addressed store, hash-verified

426
427 /// Copies frame data from a linear/contiguous buffer.
428 unsafe fn copy_from_linear_buffer(
429 &mut self,
430 buffer: &windows::Win32::Media::MediaFoundation::IMFMediaBuffer,
431 ) -> Result<()> {
432 let (mut ptr, mut len) = (std::ptr::null_mut(), 0);
433 buffer
434 .Lock(&mut ptr, None, Some(&mut len))
435 .map_err(win_err)?;
436
437 let copy_len = (len as usize).min(self.linear_buffer.len());
438 std::ptr::copy_nonoverlapping(ptr, self.linear_buffer.as_mut_ptr(), copy_len);
439
440 let _ = buffer.Unlock();
441 Ok(())
442 }
443
444 /// Returns a clone of the source reader for control interfaces.
445 pub fn get_reader(&self) -> SendableSourceReader {

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected