decklink 0.1.0

Blackmagic Decklink NDI bindings for rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::sdk;
use std::ptr::null_mut;
use std::rc::Rc;
use std::sync::atomic::AtomicBool;

pub struct DecklinkOutputDevicePtr {
    pub(crate) dev: *mut crate::sdk::cdecklink_output_t,
    pub video_active: Rc<AtomicBool>,
    pub audio_active: Rc<AtomicBool>,
}
impl Drop for DecklinkOutputDevicePtr {
    fn drop(&mut self) {
        if !self.dev.is_null() {
            unsafe { sdk::cdecklink_output_release(self.dev) };
            self.dev = null_mut();
        }
    }
}