pub enum PipelineError {
Decode(DecodeError),
Filter(FilterError),
Encode(EncodeError),
NoInput,
NoOutput,
SecondaryInputWithoutFilter,
Cancelled,
Io(Error),
FrameNotAvailable,
TimelineRenderFailed {
reason: String,
},
ClipNotFound {
path: String,
},
}Expand description
Errors that can occur while building or running a pipeline.
§Error Categories
- Downstream errors:
Decode,Filter,Encode— propagated from the underlying crates via#[from] - Configuration errors:
NoInput,NoOutput,SecondaryInputWithoutFilter— returned byPipelineBuilder::build - Runtime control:
Cancelled— returned byPipeline::runwhen the progress callback returnsfalse - Availability:
FrameNotAvailable— no frame at position
Variants§
Decode(DecodeError)
A decoding step failed.
Wraps ff_decode::DecodeError and is produced automatically via #[from]
when a decode operation inside the pipeline returns an error.
Filter(FilterError)
A filter graph step failed.
Wraps ff_filter::FilterError and is produced automatically via #[from]
when the filter graph inside the pipeline returns an error.
Encode(EncodeError)
An encoding step failed.
Wraps ff_encode::EncodeError and is produced automatically via #[from]
when an encode operation inside the pipeline returns an error.
NoInput
No input path was provided to the builder.
At least one call to PipelineBuilder::input
is required before PipelineBuilder::build.
NoOutput
No output path and config were provided to the builder.
A call to PipelineBuilder::output is
required before PipelineBuilder::build.
SecondaryInputWithoutFilter
secondary_input() was called but no filter graph was provided.
A secondary input only makes sense when a multi-slot filter is set via
PipelineBuilder::filter.
Cancelled
The pipeline was cancelled by the progress callback.
Returned by Pipeline::run when the
ProgressCallback returns false.
Io(Error)
An I/O error (e.g. creating the output directory for thumbnails).
FrameNotAvailable
No frame was available at the requested position.
Returned by thumbnail and seek-and-decode operations when the decoder
reports Ok(None) — the position is past the end of the stream or no
decodable frame exists at that point.
TimelineRenderFailed
A Timeline::render() call failed for a structural reason not covered
by a nested variant (e.g. PipelineError::Encode or PipelineError::Filter).
ClipNotFound
A clip’s source file could not be found on disk.
Returned by TimelineBuilder::build() and
Timeline::render() when Clip.source does not exist.
Trait Implementations§
Source§impl Debug for PipelineError
impl Debug for PipelineError
Source§impl Display for PipelineError
impl Display for PipelineError
Source§impl Error for PipelineError
impl Error for PipelineError
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()
Source§impl From<DecodeError> for PipelineError
impl From<DecodeError> for PipelineError
Source§fn from(source: DecodeError) -> Self
fn from(source: DecodeError) -> Self
Source§impl From<EncodeError> for PipelineError
impl From<EncodeError> for PipelineError
Source§fn from(source: EncodeError) -> Self
fn from(source: EncodeError) -> Self
Source§impl From<Error> for PipelineError
impl From<Error> for PipelineError
Source§impl From<FilterError> for PipelineError
impl From<FilterError> for PipelineError
Source§fn from(source: FilterError) -> Self
fn from(source: FilterError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for PipelineError
impl !UnwindSafe for PipelineError
impl Freeze for PipelineError
impl Send for PipelineError
impl Sync for PipelineError
impl Unpin for PipelineError
impl UnsafeUnpin for PipelineError
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more