Function guarded

Source
fn guarded(pool: &mut DecoderPool, f: impl FnOnce(&mut DecoderPool)) -> bool
Expand description

Run one decode+compose/mix under catch_unwind: a panicking decoder must not kill the render or audio thread for the rest of the session (the UI would freeze on the last frame with no error). On a panic the decoders are dropped so the next call starts clean. False = the call panicked and its output is garbage.