#[non_exhaustive]pub enum PacketSinkError {
Show 23 variants
UnsupportedOption(&'static str),
StreamCopyUnsupported,
UnsupportedStream {
kind: &'static str,
},
EncoderNotWhitelisted {
kind: &'static str,
encoder: String,
allowed: &'static str,
},
NoStreams,
MissingExtradata {
stream_index: usize,
},
InvalidExtradata {
stream_index: usize,
reason: String,
},
InvalidTimeBase {
stream_index: usize,
num: i32,
den: i32,
},
PacketTimeBaseMismatch {
stream_index: usize,
packet_num: i32,
packet_den: i32,
stream_num: i32,
stream_den: i32,
},
MissingTimestamp {
stream_index: usize,
which: &'static str,
},
NonMonotonicDts {
stream_index: usize,
prev: i64,
current: i64,
},
DuplicatePts {
stream_index: usize,
pts: i64,
},
PtsBeforeDts {
stream_index: usize,
pts: i64,
dts: i64,
},
TimestampOverflow {
stream_index: usize,
},
MissingDuration {
stream_index: usize,
},
MalformedPacket {
stream_index: usize,
reason: String,
},
PhaseViolation {
stream_index: usize,
},
ConfigChange {
stream_index: usize,
what: String,
},
InBandParameterSets {
stream_index: usize,
},
StreamInfoCallbackFailed {
error: PacketCallbackError,
},
PacketCallbackFailed {
stream_index: usize,
error: PacketCallbackError,
},
ChannelDisconnected,
JobFailed {
message: String,
},
}Expand description
Errors specific to packet-sink outputs (Output::new_by_packet_sink).
The strict tier fails fast: configuration problems surface from build()
or from the job before any sink callback runs; per-packet violations
stop the job with the offending packet never delivered. Clone is
deliberate — for delivery-path errors the same value is recorded as the
job error and handed to the sink’s on_delivery_error callback.
JobFailed is the exception: it is synthesized for
that callback only, while first-error-wins may leave the job result owned
by a sibling worker’s error.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnsupportedOption(&'static str)
A builder option the packet sink cannot honor was set: either a container-only option (no container is written, so it could never take effect) or a pipeline feature outside the strict tier’s delivery contract (filters, bitstream filters, subtitle codecs — rejected as policy, not for lack of a container).
StreamCopyUnsupported
A stream was configured as copy; packet sinks require encoded
streams.
UnsupportedStream
The output mapped a stream the strict tier cannot deliver (non-H.264 video, non-AAC audio, or a non-audio/video kind).
EncoderNotWhitelisted
The configured encoder is outside the strict-tier v1 whitelist.
NoStreams
No stream was mapped to the packet-sink output.
MissingExtradata
An encoder finalized without the out-of-band codec configuration the
strict tier delivers via on_stream_info.
InvalidExtradata
The encoder’s codec configuration failed strict-tier validation.
InvalidTimeBase
A stream’s time base is not a positive rational.
PacketTimeBaseMismatch
A packet was stamped in a time base other than its stream’s.
MissingTimestamp
A packet carries no pts or dts (AV_NOPTS_VALUE).
NonMonotonicDts
A packet’s dts did not strictly increase within its stream.
DuplicatePts
A packet’s pts collided with a still-pending pts on the same stream.
PtsBeforeDts
A packet’s pts is earlier than its dts.
TimestampOverflow
Rescaling a timestamp onto the shared time origin overflowed.
MissingDuration
A packet has no positive duration and none could be derived from the stream configuration (frame rate / codec frame size).
MalformedPacket
The packet payload failed bitstream validation.
PhaseViolation
Internal sequencing violation: a packet surfaced outside the delivery phase.
ConfigChange
The stream configuration changed after on_stream_info delivered it.
InBandParameterSets
An H.264 access unit carried in-band SPS/PPS parameter sets.
StreamInfoCallbackFailed
The sink’s on_stream_info callback rejected the configuration.
Fields
error: PacketCallbackErrorPacketCallbackFailed
The sink’s on_packet callback returned an error.
ChannelDisconnected
The channel adapter’s receiver was dropped, cancelling delivery and the job.
JobFailed
The job failed outside this sink’s delivery path; handed to
on_delivery_error only, while wait() keeps the original error.
Trait Implementations§
Source§impl Clone for PacketSinkError
impl Clone for PacketSinkError
Source§fn clone(&self) -> PacketSinkError
fn clone(&self) -> PacketSinkError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PacketSinkError
impl Debug for PacketSinkError
Source§impl Display for PacketSinkError
impl Display for PacketSinkError
Source§impl Error for PacketSinkError
impl Error for PacketSinkError
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()