pub struct ObsReplayBufferOutputRef { /* private fields */ }Expand description
A reference to an OBS output.
This struct is used specifically for the replay buffer to manage saving the buffer to a file and configuring special settings, which are specific to the replay buffer
The output is associated with video and audio encoders that convert raw media to the required format before sending/storing.
Implementations§
Source§impl ObsReplayBufferOutputRef
impl ObsReplayBufferOutputRef
pub fn inner_output(&self) -> &ObsOutputRef
pub fn inner_output_mut(&mut self) -> &mut ObsOutputRef
pub fn into_inner_output(self) -> ObsOutputRef
Source§impl ObsReplayBufferOutputRef
impl ObsReplayBufferOutputRef
pub fn replay_signals(&self) -> &Arc<ObsReplayOutputSignals> ⓘ
Sourcepub fn save_buffer(&self) -> Result<Box<Path>, ObsError>
pub fn save_buffer(&self) -> Result<Box<Path>, ObsError>
Saves the current replay buffer content to disk.
§Implementation Details
This method:
- Accesses the OBS procedure handler for the output
- Calls the “save” procedure to trigger saving the replay
- Calls the “get_last_replay” procedure to retrieve the saved file path
- Extracts the path string from the calldata and returns it
§Returns
Ok(Box<Path>)- The path to the saved replay fileErr(ObsError)- Various errors that might occur during the saving process:- Failure to get procedure handler
- Failure to call “save” procedure
- Failure to call “get_last_replay” procedure
- Failure to extract the path from calldata
Trait Implementations§
Source§impl Clone for ObsReplayBufferOutputRef
impl Clone for ObsReplayBufferOutputRef
Source§fn clone(&self) -> ObsReplayBufferOutputRef
fn clone(&self) -> ObsReplayBufferOutputRef
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 ObsReplayBufferOutputRef
impl Debug for ObsReplayBufferOutputRef
Source§impl ObsObjectTrait for ObsReplayBufferOutputRef
impl ObsObjectTrait for ObsReplayBufferOutputRef
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 create_updater<'a, T: ObsObjectUpdater<'a, ToUpdate = Self> + Send + Sync>(
&'a mut self,
) -> Result<T, ObsError>
fn create_updater<'a, T: ObsObjectUpdater<'a, 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 ObsReplayBufferOutputRef
impl ObsOutputTrait for ObsReplayBufferOutputRef
fn signals(&self) -> &Arc<ObsOutputSignals> ⓘ
Source§fn attached_video_encoder(
&self,
) -> Result<Option<Arc<ObsVideoEncoder>>, ObsError>
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>
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>
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>
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>
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>
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>
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>
fn get_current_service(&self) -> Result<Option<Arc<ObsServiceRef>>, ObsError>
👎Deprecated:
Use attached_service
Source§fn current_composition(&self) -> Result<ObsOutputComposition, ObsError>
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>
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>
fn apply_composition( &self, composition: ObsOutputComposition, ) -> Result<(), ObsError>
Replaces the complete managed output wiring in one actor command. Read more
Source§fn clear_video_encoder(&self) -> Result<(), ObsError>
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>
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>
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>
fn create_and_set_video_encoder( &self, info: VideoEncoderInfo, ) -> Result<Arc<ObsVideoEncoder>, ObsError>
Creates and attaches a new video encoder to this output. Read more
Source§fn set_video_encoder(
&self,
encoder: Arc<ObsVideoEncoder>,
) -> Result<(), ObsError>
fn set_video_encoder( &self, encoder: Arc<ObsVideoEncoder>, ) -> Result<(), ObsError>
Attaches an existing video encoder to this output. Read more
Source§fn create_and_set_audio_encoder(
&self,
info: AudioEncoderInfo,
mixer_idx: usize,
) -> Result<Arc<ObsAudioEncoder>, ObsError>
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>
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. 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>
Auto Trait Implementations§
impl !RefUnwindSafe for ObsReplayBufferOutputRef
impl !UnwindSafe for ObsReplayBufferOutputRef
impl Freeze for ObsReplayBufferOutputRef
impl Send for ObsReplayBufferOutputRef
impl Sync for ObsReplayBufferOutputRef
impl Unpin for ObsReplayBufferOutputRef
impl UnsafeUnpin for ObsReplayBufferOutputRef
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