pub trait MediaStreamClassifier:
Debug
+ Send
+ Sync {
// Required methods
fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>;
fn classify_reader(
&self,
reader: &mut dyn Read,
) -> MimeResult<MediaStreamType>;
// Provided method
fn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType> { ... }
}Expand description
Classifies a media source by the audio and video streams it contains.
Required Methods§
Sourcefn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
Classifies a local file.
§Parameters
file: Local media file.
§Returns
Media stream classification.
§Errors
Returns MimeError::Io when the file cannot be read, or another
MimeError when the classifier backend fails.
Sourcefn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
Classifies media bytes from a reader.
§Parameters
reader: Media stream to classify. The stream is consumed as needed by the classifier.
§Returns
Media stream classification.
§Errors
Returns MimeError::Io when the stream cannot be read, or another
MimeError when the classifier backend fails.
Provided Methods§
Sourcefn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType>
fn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType>
Classifies an in-memory media payload.
§Parameters
content: Media bytes to classify.
§Returns
Media stream classification.
§Errors
Returns MimeError::Io when a file-backed classifier cannot stage the
content.
Trait Implementations§
Source§impl MediaStreamClassifier for Box<dyn MediaStreamClassifier>
impl MediaStreamClassifier for Box<dyn MediaStreamClassifier>
Source§fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
Delegates file classification to the boxed classifier.
Source§fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
Delegates stream classification to the boxed classifier.
Source§fn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType>
fn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType>
Implementations on Foreign Types§
Source§impl MediaStreamClassifier for Box<dyn MediaStreamClassifier>
impl MediaStreamClassifier for Box<dyn MediaStreamClassifier>
Source§fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
Delegates file classification to the boxed classifier.
Source§fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
Delegates stream classification to the boxed classifier.
Source§impl MediaStreamClassifier for Arc<dyn MediaStreamClassifier>
impl MediaStreamClassifier for Arc<dyn MediaStreamClassifier>
Source§fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
fn classify_file(&self, file: &Path) -> MimeResult<MediaStreamType>
Delegates file classification to the shared classifier.
Source§fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
fn classify_reader(&self, reader: &mut dyn Read) -> MimeResult<MediaStreamType>
Delegates stream classification to the shared classifier.