Struct lofty::Probe[][src]

pub struct Probe<R: Read> { /* fields omitted */ }
Expand description

A format agnostic reader

This provides a way to determine the FileType of a reader, for when a concrete type is not known.

Usage

When reading from a path, the FileType will be inferred from the path, rather than the open file.

use lofty::FileType;

let probe = Probe::open("tests/files/assets/a.mp3")?;

// Inferred from the `mp3` extension
assert_eq!(probe.file_type(), Some(FileType::MP3));

When a path isn’t available, or is unreliable, content-based detection is also possible.

use lofty::FileType;

// Our same path probe with a guessed file type
let probe = Probe::open("tests/files/assets/a.mp3")?.guess_file_type()?;

// Inferred from the file's content
assert_eq!(probe.file_type(), Some(FileType::MP3));

Or with another reader

use lofty::FileType;
use std::io::Cursor;

static MAC_HEADER: &[u8; 3] = b"MAC";

let probe = Probe::new(Cursor::new(MAC_HEADER)).guess_file_type()?;

// Inferred from the MAC header
assert_eq!(probe.file_type(), Some(FileType::APE));

Implementations

Create a new Probe

Create a new Probe with a specified FileType

Returns the current FileType

Set the FileType with which to read the file

Extract the reader

Opens a file for reading

This will initially guess the FileType from the path, but this can be overwritten with Probe::guess_file_type or Probe::set_file_type

Errors
  • path does not exist

Attempts to get the FileType based on the data in the reader

On success, the file type will be replaced

Errors

All errors that occur within this function are std::io::Error. If an error does occur, there is likely an issue with the provided reader, and the entire Probe should be discarded.

Attempts to extract a TaggedFile from the reader

If read_properties is false, the properties will be zeroed out.

Errors

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.