libobs_wrapper\encoders/traits.rs
1use libobs::obs_encoder;
2
3use crate::{data::object::ObsObjectTrait, run_with_obs, utils::ObsError};
4
5pub trait ObsEncoderTrait: ObsObjectTrait<*mut obs_encoder> {
6 fn is_active(&self) -> Result<bool, ObsError> {
7 let encoder_ptr = self.as_ptr();
8
9 run_with_obs!(self.runtime(), (encoder_ptr), move || {
10 // Safety: The pointer is valid because we are using a smart pointer
11 unsafe { libobs::obs_encoder_active(encoder_ptr.get_ptr()) }
12 })
13 }
14}