Skip to main content

MediaStreamClassifier

Trait MediaStreamClassifier 

Source
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§

Source

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.

Source

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§

Source

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>

Source§

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>

Delegates stream classification to the boxed classifier.

Source§

fn classify_content(&self, content: &[u8]) -> MimeResult<MediaStreamType>

Classifies an in-memory media payload. Read more

Implementations on Foreign Types§

Source§

impl MediaStreamClassifier for Box<dyn MediaStreamClassifier>

Source§

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>

Delegates stream classification to the boxed classifier.

Source§

impl MediaStreamClassifier for Arc<dyn MediaStreamClassifier>

Source§

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>

Delegates stream classification to the shared classifier.

Implementors§