#[non_exhaustive]pub enum Error {
BufferTooShort {
need: usize,
have: usize,
what: &'static str,
},
BadStartCode(u32),
BadTimestampMarker(&'static str),
BadTimestampPrefix(&'static str),
OptionalFieldsTooLarge(usize),
FieldOverflow(FieldOverflow),
ForbiddenPtsDtsFlags,
}Expand description
A PES parse error.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
BufferTooShort
Input shorter than required.
Fields
BadStartCode(u32)
packet_start_code_prefix was not 0x000001.
BadTimestampMarker(&'static str)
A required marker_bit was not 1 in a PTS/DTS field.
BadTimestampPrefix(&'static str)
The PTS/DTS leading 4-bit prefix did not match the expected 0010/0011/0001.
OptionalFieldsTooLarge(usize)
optional_fields exceeds the 255-byte PES_header_data_length limit
(an 8-bit field) — cannot be serialized.
FieldOverflow(FieldOverflow)
A length or count field’s value does not fit its wire field
(see broadcast_common::len, #1129).
ForbiddenPtsDtsFlags
PTS_DTS_flags on the wire was 01 (ISO/IEC 13818-1 Table 2-21
reserves this combination — only 00/10/11 are defined), or a
PesHeader had dts.is_some() with pts.is_none() (the same
forbidden combination, one layer up, that serialize_into refuses
to write silently as PTS_DTS_flags=00).
Trait Implementations§
impl Eq for Error
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<FieldOverflow> for Error
impl From<FieldOverflow> for Error
Source§fn from(source: FieldOverflow) -> Self
fn from(source: FieldOverflow) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
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