pub enum ObsError {
Show 51 variants
Failure,
InvalidDll,
MutexFailure,
ThreadFailure,
ResetAudioFailure,
ResetVideoFailure(ObsResetVideoStatus),
ResetVideoFailureGraphicsModule,
ResetVideoFailureOutputActive,
NullPointer(Option<String>),
OutputAlreadyActive,
OutputStartFailure(Option<String>),
OutputStopFailure(Option<String>),
OutputPauseFailure(Option<String>),
OutputNotFound,
SourceNotFound,
SourceNotAvailable(String),
InvalidOperation(String),
StringConversionError,
DisplayCreationError(String),
OutputSaveBufferFailure(String),
InvocationError(String),
JsonParseError,
NoSenderError,
NoAvailableEncoders,
LockError(String),
Unexpected(String),
EncoderActive,
PlatformInitError(String),
IoError(String),
SignalDataError(String),
EnumConversionError(String),
PropertyTypeMismatch {
expected: String,
},
PropertyNotFound {
name: String,
},
PropertyValueTypeMismatch {
name: String,
expected: String,
actual: String,
},
PropertyValueOutOfRange {
name: String,
value: String,
min: String,
max: String,
},
PropertyValueNotAllowed {
name: String,
value: String,
},
PropertyValueUnsupported {
name: String,
property_type: String,
},
RuntimeChannelError(String),
RuntimeQueueFull {
capacity: usize,
},
RuntimePanicked,
RuntimeMismatch,
CapabilityKindMismatch {
id: String,
expected: String,
actual: String,
},
OutputPipelineMissingComponent {
output_id: String,
component: String,
},
OutputPipelineUnexpectedComponent {
output_id: String,
component: String,
},
OutputPipelineUnsupportedCodec {
output_id: String,
media: String,
codec: String,
},
OutputPipelineUnsupportedProtocol {
output_id: String,
protocol: String,
},
NoCompatibleOutputGraph {
summary: String,
},
AudioMixerIndexOutOfBounds {
index: usize,
max: usize,
},
RuntimeReentrantBlocking,
RuntimeOutsideThread,
FilterAlreadyApplied,
}Expand description
Error type for OBS function calls.
Variants§
Failure
The obs_startup function failed on libobs.
InvalidDll
This error is emitted if a dummy DLL was loaded instead of the real libobs DLL. Make sure you bootstrap properly with libobs-bootstrapper
MutexFailure
Failed to lock mutex describing whether there is a thread using libobs or not. Report to crate maintainer.
ThreadFailure
Some or no thread is already using libobs. This is a bug!
ResetAudioFailure
Unable to initialize/reset the OBS audio subsystem.
ResetVideoFailure(ObsResetVideoStatus)
Unable to reset video.
ResetVideoFailureGraphicsModule
Unable to reset video because the program attempted to change the graphics module. This is a bug!
ResetVideoFailureOutputActive
Unable to reset video because some outputs were still active.
NullPointer(Option<String>)
The function returned a null pointer, often indicating an error with creating the object of the requested pointer.
OutputAlreadyActive
OutputStartFailure(Option<String>)
OutputStopFailure(Option<String>)
OutputPauseFailure(Option<String>)
OutputNotFound
SourceNotFound
SourceNotAvailable(String)
InvalidOperation(String)
StringConversionError
Error converting a string between Rust and OBS
DisplayCreationError(String)
Native error from the Windows API when creating a display
OutputSaveBufferFailure(String)
InvocationError(String)
The obs thread couldn’t be called
JsonParseError
NoSenderError
Couldn’t get the sender of the signal
NoAvailableEncoders
LockError(String)
Error locking a mutex or RwLock. You should probably restart the application to avoid memory leaks.
Unexpected(String)
EncoderActive
Encoder is still active, stop the attached output before proceeding
PlatformInitError(String)
Error during platform-specific initialization
IoError(String)
Error reading/writing to a file
SignalDataError(String)
Failed to get data from signal calldata
EnumConversionError(String)
Failed to convert an enum from a code
PropertyTypeMismatch
The caller requested metadata using the wrong OBS property category.
PropertyNotFound
A runtime-discovered settings schema does not contain the requested property.
PropertyValueTypeMismatch
A generic property value has the wrong scalar category for the discovered property.
PropertyValueOutOfRange
A numeric generic property value is outside the range reported by libobs.
PropertyValueNotAllowed
A generic value is correctly typed but not accepted by the discovered property metadata.
PropertyValueUnsupported
The discovered property category is structural/action-oriented and cannot be represented by a scalar setting value.
RuntimeChannelError(String)
Failed to send/receive on a runtime channel
RuntimeQueueFull
The bounded OBS actor queue is full.
RuntimePanicked
The OBS actor panicked while executing a command or cleanup task.
RuntimeMismatch
An object from a different OBS runtime/context was passed to this operation.
CapabilityKindMismatch
A discovered OBS type was used with an incompatible typed creation operation.
OutputPipelineMissingComponent
A required encoder/service was omitted from a high-level output pipeline.
OutputPipelineUnexpectedComponent
A component was supplied to an output that does not accept that component category.
OutputPipelineUnsupportedCodec
An encoder codec is incompatible with the selected output type.
OutputPipelineUnsupportedProtocol
A service protocol is incompatible with the selected output type.
NoCompatibleOutputGraph
No runtime-discovered output/encoder combination satisfies a high-level request.
AudioMixerIndexOutOfBounds
An audio encoder mixer index exceeded libobs’s supported mixer range.
RuntimeReentrantBlocking
A blocking operation was requested recursively from the OBS actor thread.
RuntimeOutsideThread
Attempted to call a OBS runtime function from outside the OBS thread. This error should NEVER occur. If you are not using the runtime manually or have the “enable_runtime” feature enabled then please report this to the crate maintainer as this indicates a bug in the crate.
FilterAlreadyApplied
A filter was already applied to a source
Trait Implementations§
impl Eq for ObsError
Source§impl Error for ObsError
impl Error for ObsError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()