pub struct ProbeBudgetExhausted { /* private fields */ }Expand description
Payload for DemuxError::ProbeBudgetExhausted.
libavformat wanted more of the file than the probe budget allows.
§What this bounds
This is the only seat in the crate that reaches behind
libavformat: avformat_open_input and avformat_find_stream_info
build the attached picture, the extradata and the coded side data
out of the file themselves, so every budget measuring this crate’s
own copies necessarily arrives after those allocations happened.
A parser cannot allocate from bytes it was never handed, so the
input is bounded instead. What is not bounded is amplification
inside a parser — a container can describe, in a few bytes, a
structure whose in-memory form is far larger, and nothing outside
libavformat can observe that. Bounding the output of that is the
substrate’s own hardening territory; FFmpeg keeps max_streams,
max_index_size and max_picture_buffer for it, and this crate
sets the first.
Implementations§
Trait Implementations§
Source§impl Clone for ProbeBudgetExhausted
impl Clone for ProbeBudgetExhausted
Source§fn clone(&self) -> ProbeBudgetExhausted
fn clone(&self) -> ProbeBudgetExhausted
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ProbeBudgetExhausted
Source§impl Debug for ProbeBudgetExhausted
impl Debug for ProbeBudgetExhausted
Source§impl Display for ProbeBudgetExhausted
impl Display for ProbeBudgetExhausted
impl Eq for ProbeBudgetExhausted
Source§impl Error for ProbeBudgetExhausted
impl Error for ProbeBudgetExhausted
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()