pub trait ObsOutputTrait: ObsOutputTraitSealed + ObsObjectTrait<*mut obs_output_t> {
Show 14 methods
// Required methods
fn signals(&self) -> &Arc<ObsOutputSignals>;
fn video_encoder(&self) -> &Arc<RwLock<Option<Arc<ObsVideoEncoder>>>>;
fn audio_encoders(
&self,
) -> &Arc<RwLock<HashMap<usize, Arc<ObsAudioEncoder>>>>;
// Provided methods
fn get_current_video_encoder(
&self,
) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError> { ... }
fn create_and_set_video_encoder(
&mut self,
info: VideoEncoderInfo,
) -> Result<Arc<ObsVideoEncoder>, ObsError> { ... }
fn set_video_encoder(
&mut self,
encoder: Arc<ObsVideoEncoder>,
) -> Result<(), ObsError> { ... }
fn create_and_set_audio_encoder(
&mut self,
info: AudioEncoderInfo,
mixer_idx: usize,
) -> Result<Arc<ObsAudioEncoder>, ObsError> { ... }
fn set_audio_encoder(
&mut self,
encoder: Arc<ObsAudioEncoder>,
mixer_idx: usize,
) -> Result<(), ObsError> { ... }
fn start(&self) -> Result<(), ObsError> { ... }
fn set_paused(&self, should_pause: bool) -> Result<(), ObsError> { ... }
fn pause(&self) -> Result<(), ObsError> { ... }
fn unpause(&self) -> Result<(), ObsError> { ... }
fn stop(&mut self) -> Result<(), ObsError> { ... }
fn is_active(&self) -> Result<bool, ObsError> { ... }
}Required Methods§
fn signals(&self) -> &Arc<ObsOutputSignals>
fn video_encoder(&self) -> &Arc<RwLock<Option<Arc<ObsVideoEncoder>>>>
fn audio_encoders(&self) -> &Arc<RwLock<HashMap<usize, Arc<ObsAudioEncoder>>>>
Provided Methods§
Sourcefn get_current_video_encoder(
&self,
) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError>
fn get_current_video_encoder( &self, ) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError>
Returns the current video encoder attached to this output, if any.
Sourcefn create_and_set_video_encoder(
&mut self,
info: VideoEncoderInfo,
) -> Result<Arc<ObsVideoEncoder>, ObsError>
fn create_and_set_video_encoder( &mut self, info: VideoEncoderInfo, ) -> Result<Arc<ObsVideoEncoder>, ObsError>
Creates and attaches a new video encoder to this output.
Fails if the output is active.
Sourcefn set_video_encoder(
&mut self,
encoder: Arc<ObsVideoEncoder>,
) -> Result<(), ObsError>
fn set_video_encoder( &mut self, encoder: Arc<ObsVideoEncoder>, ) -> Result<(), ObsError>
Attaches an existing video encoder to this output.
Fails if the output is active.
Sourcefn create_and_set_audio_encoder(
&mut self,
info: AudioEncoderInfo,
mixer_idx: usize,
) -> Result<Arc<ObsAudioEncoder>, ObsError>
fn create_and_set_audio_encoder( &mut self, info: AudioEncoderInfo, mixer_idx: usize, ) -> Result<Arc<ObsAudioEncoder>, ObsError>
Creates and attaches a new audio encoder for the given mixer index. Fails if output active.
Sourcefn set_audio_encoder(
&mut self,
encoder: Arc<ObsAudioEncoder>,
mixer_idx: usize,
) -> Result<(), ObsError>
fn set_audio_encoder( &mut self, encoder: Arc<ObsAudioEncoder>, mixer_idx: usize, ) -> Result<(), ObsError>
Attaches an existing audio encoder to this output at the mixer index.
Fails if the output is active.
Sourcefn start(&self) -> Result<(), ObsError>
fn start(&self) -> Result<(), ObsError>
Starts the output, wiring encoders to global contexts and invoking obs_output_start. Returns an error with last OBS message when start fails.
fn set_paused(&self, should_pause: bool) -> Result<(), ObsError>
Sourcefn pause(&self) -> Result<(), ObsError>
fn pause(&self) -> Result<(), ObsError>
Pauses or resumes the output and waits for the pause/unpause signal.