Skip to main content

ObsOutputTrait

Trait ObsOutputTrait 

Source
pub trait ObsOutputTrait: ObsOutputTraitSealed + ObsObjectTrait<Native = *mut obs_output_t> {
Show 25 methods // Required method fn signals(&self) -> &Arc<ObsOutputSignals> โ“˜; // Provided methods fn attached_video_encoder( &self, ) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError> { ... } fn attached_audio_encoder( &self, mixer_idx: usize, ) -> Result<Option<Arc<ObsAudioEncoder>>, ObsError> { ... } fn attached_audio_encoders( &self, ) -> Result<HashMap<usize, Arc<ObsAudioEncoder>>, ObsError> { ... } fn attached_service(&self) -> Result<Option<Arc<ObsServiceRef>>, ObsError> { ... } fn get_current_video_encoder( &self, ) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError> { ... } fn get_current_audio_encoder( &self, mixer_idx: usize, ) -> Result<Option<Arc<ObsAudioEncoder>>, ObsError> { ... } fn get_current_audio_encoders( &self, ) -> Result<HashMap<usize, Arc<ObsAudioEncoder>>, ObsError> { ... } fn get_current_service( &self, ) -> Result<Option<Arc<ObsServiceRef>>, ObsError> { ... } fn current_composition(&self) -> Result<ObsOutputComposition, ObsError> { ... } fn set_service(&self, service: Arc<ObsServiceRef>) -> Result<(), ObsError> { ... } fn apply_composition( &self, composition: ObsOutputComposition, ) -> Result<(), ObsError> { ... } fn clear_video_encoder(&self) -> Result<(), ObsError> { ... } fn clear_audio_encoder(&self, mixer_idx: usize) -> Result<(), ObsError> { ... } fn clear_service(&self) -> Result<(), ObsError> { ... } fn create_and_set_video_encoder( &self, info: VideoEncoderInfo, ) -> Result<Arc<ObsVideoEncoder>, ObsError> { ... } fn set_video_encoder( &self, encoder: Arc<ObsVideoEncoder>, ) -> Result<(), ObsError> { ... } fn create_and_set_audio_encoder( &self, info: AudioEncoderInfo, mixer_idx: usize, ) -> Result<Arc<ObsAudioEncoder>, ObsError> { ... } fn set_audio_encoder( &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(&self) -> Result<(), ObsError> { ... } fn is_active(&self) -> Result<bool, ObsError> { ... }
}

Required Methodsยง

Provided Methodsยง

Source

fn attached_video_encoder( &self, ) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError>

Returns the video encoder currently attached to this output, if any.

Source

fn attached_audio_encoder( &self, mixer_idx: usize, ) -> Result<Option<Arc<ObsAudioEncoder>>, ObsError>

Returns the audio encoder attached at the requested mixer index, if any.

Source

fn attached_audio_encoders( &self, ) -> Result<HashMap<usize, Arc<ObsAudioEncoder>>, ObsError>

Returns a snapshot of all managed audio encoder attachments keyed by mixer index.

Source

fn attached_service(&self) -> Result<Option<Arc<ObsServiceRef>>, ObsError>

Returns the streaming service attached to this output, if any.

Source

fn get_current_video_encoder( &self, ) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError>

๐Ÿ‘ŽDeprecated:

Use attached_video_encoder

Source

fn get_current_audio_encoder( &self, mixer_idx: usize, ) -> Result<Option<Arc<ObsAudioEncoder>>, ObsError>

๐Ÿ‘ŽDeprecated:

Use attached_audio_encoder

Source

fn get_current_audio_encoders( &self, ) -> Result<HashMap<usize, Arc<ObsAudioEncoder>>, ObsError>

๐Ÿ‘ŽDeprecated:

Use attached_audio_encoders

Source

fn get_current_service(&self) -> Result<Option<Arc<ObsServiceRef>>, ObsError>

๐Ÿ‘ŽDeprecated:

Use attached_service

Source

fn current_composition(&self) -> Result<ObsOutputComposition, ObsError>

Returns an owned, coherent snapshot of the currently managed encoder/service wiring.

Source

fn set_service(&self, service: Arc<ObsServiceRef>) -> Result<(), ObsError>

Attaches a streaming service to this output. Fails while the output is active.

Source

fn apply_composition( &self, composition: ObsOutputComposition, ) -> Result<(), ObsError>

Replaces the complete managed output wiring in one actor command.

This is the preferred API when constructing an output from discovered capabilities: it validates all runtime affinities before touching libobs, detaches omitted components, and updates the Rust-side ownership graph only after the native calls complete.

Source

fn clear_video_encoder(&self) -> Result<(), ObsError>

Detaches the current video encoder while the output is inactive.

Source

fn clear_audio_encoder(&self, mixer_idx: usize) -> Result<(), ObsError>

Detaches the audio encoder at mixer_idx while the output is inactive.

Source

fn clear_service(&self) -> Result<(), ObsError>

Detaches the current streaming service while the output is inactive.

Source

fn create_and_set_video_encoder( &self, info: VideoEncoderInfo, ) -> Result<Arc<ObsVideoEncoder>, ObsError>

Creates and attaches a new video encoder to this output.

Fails if the output is active.

Source

fn set_video_encoder( &self, encoder: Arc<ObsVideoEncoder>, ) -> Result<(), ObsError>

Attaches an existing video encoder to this output.

Fails if the output is active.

Source

fn create_and_set_audio_encoder( &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.

Source

fn set_audio_encoder( &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.

Source

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.

Source

fn set_paused(&self, should_pause: bool) -> Result<(), ObsError>

Source

fn pause(&self) -> Result<(), ObsError>

Pauses or resumes the output and waits for the pause/unpause signal.

Source

fn unpause(&self) -> Result<(), ObsError>

Source

fn stop(&self) -> Result<(), ObsError>

Stops the output and waits for stop and deactivate signals.

Source

fn is_active(&self) -> Result<bool, ObsError>

Returns whether the output is currently active.

Dyn Compatibilityยง

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementorsยง