pub struct ObsOutputRef { /* private fields */ }Expand description
A reference to an OBS output.
This struct represents an output in OBS, which is responsible for outputting encoded audio and video data to a destination such as:
- A file (recording)
- A streaming service (RTMP, etc.)
- A replay buffer
The output is associated with video and audio encoders that convert raw media to the required format before sending/storing.
If encoders are attached to this struct, they are stored internally, so they will not get removed As of right now, there is no way to remove the encoders again, rather you’ll need to replace them with another encoder or drop this struct and recreate a output.
Trait Implementations§
Source§impl Clone for ObsOutputRef
impl Clone for ObsOutputRef
Source§fn clone(&self) -> ObsOutputRef
fn clone(&self) -> ObsOutputRef
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ObsOutputRef
impl Debug for ObsOutputRef
Source§impl ObsObjectTrait<*mut obs_output> for ObsOutputRef
impl ObsObjectTrait<*mut obs_output> for ObsOutputRef
fn name(&self) -> ObsString
fn id(&self) -> ObsString
fn runtime(&self) -> &ObsRuntime
fn settings(&self) -> Result<ImmutableObsData, ObsError>
fn hotkey_data(&self) -> Result<ImmutableObsData, ObsError>
Source§fn update_settings(&self, settings: ObsData) -> Result<(), ObsError>
fn update_settings(&self, settings: ObsData) -> Result<(), ObsError>
Updates the settings of this output. Fails if active.
Source§fn as_ptr(&self) -> SmartPointerSendable<*mut obs_output>
fn as_ptr(&self) -> SmartPointerSendable<*mut obs_output>
Creates a new reference to the drop guard.
This is useful if you are using the underlying raw pointer, make sure to store it along the drop guard
Source§fn create_updater<'a, T: ObsObjectUpdater<'a, K, ToUpdate = Self> + Send + Sync>(
&'a mut self,
) -> Result<T, ObsError>
fn create_updater<'a, T: ObsObjectUpdater<'a, K, ToUpdate = Self> + Send + Sync>( &'a mut self, ) -> Result<T, ObsError>
Updates the object with the current settings.
For examples please take a look at the Github repository.
Source§impl ObsOutputTrait for ObsOutputRef
impl ObsOutputTrait for ObsOutputRef
fn signals(&self) -> &Arc<ObsOutputSignals>
fn video_encoder(&self) -> &Arc<RwLock<Option<Arc<ObsVideoEncoder>>>>
fn audio_encoders(&self) -> &Arc<RwLock<HashMap<usize, Arc<ObsAudioEncoder>>>>
Source§fn 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.
Source§fn 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. Read more
Source§fn 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. Read more
Source§fn 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.
Source§fn 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. Read more
Source§fn 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>
Source§fn pause(&self) -> Result<(), ObsError>
fn pause(&self) -> Result<(), ObsError>
Pauses or resumes the output and waits for the pause/unpause signal.
fn unpause(&self) -> Result<(), ObsError>
Source§impl ObsPropertyObject for ObsOutputRef
impl ObsPropertyObject for ObsOutputRef
Source§fn get_properties(&self) -> Result<HashMap<String, ObsProperty>, ObsError>
fn get_properties(&self) -> Result<HashMap<String, ObsProperty>, ObsError>
Returns the properties of the object
fn get_properties_by_source_id<T: Into<ObsString> + Sync + Send>( id: T, runtime: &ObsRuntime, ) -> Result<HashMap<String, ObsProperty>, ObsError>
Source§impl ObsPropertyObjectPrivate for ObsOutputRef
impl ObsPropertyObjectPrivate for ObsOutputRef
fn get_properties_raw( &self, ) -> Result<SmartPointerSendable<*mut obs_properties_t>, ObsError>
fn get_properties_by_id_raw<T: Into<ObsString> + Sync + Send>( id: T, runtime: ObsRuntime, ) -> Result<SmartPointerSendable<*mut obs_properties_t>, ObsError>
Auto Trait Implementations§
impl Freeze for ObsOutputRef
impl !RefUnwindSafe for ObsOutputRef
impl Send for ObsOutputRef
impl Sync for ObsOutputRef
impl Unpin for ObsOutputRef
impl !UnwindSafe for ObsOutputRef
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more