pub trait EncodeProgressCallback: Send {
// Required method
fn on_progress(&mut self, progress: &EncodeProgress);
// Provided method
fn should_cancel(&self) -> bool { ... }
}Expand description
EncodeProgress callback trait for monitoring encoding progress.
Implement this trait to receive real-time encoding progress updates and optionally support encoding cancellation.
§Examples
ⓘ
use ff_encode::{EncodeProgress, EncodeProgressCallback};
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
struct MyEncodeProgressHandler {
cancelled: Arc<AtomicBool>,
}
impl EncodeProgressCallback for MyEncodeProgressHandler {
fn on_progress(&mut self, progress: &EncodeProgress) {
println!("Encoded {} frames at {:.1} fps",
progress.frames_encoded,
progress.current_fps
);
}
fn should_cancel(&self) -> bool {
self.cancelled.load(Ordering::Relaxed)
}
}Required Methods§
Sourcefn on_progress(&mut self, progress: &EncodeProgress)
fn on_progress(&mut self, progress: &EncodeProgress)
Called when encoding progress is updated.
This method is called periodically during encoding to report progress. The frequency of calls depends on the encoding speed and frame rate.
§Arguments
progress- Current encoding progress information
Provided Methods§
Sourcefn should_cancel(&self) -> bool
fn should_cancel(&self) -> bool
Implementors§
impl<F> EncodeProgressCallback for F
Implement EncodeProgressCallback for closures.
This allows using simple closures as progress callbacks without needing to define a custom struct implementing the trait.