rsmediainfo 0.1.0

Rust wrapper for MediaInfo library
//! Minimal example that parses a media file from a path on disk and prints
//! the audio and video tracks as a structured data dictionary.
//!
//! Run with:
//!
//! ```text
//! cargo run --example parse_path -- tests/data/sample.mp4
//! ```

use rsmediainfo::MediaInfo;
use std::env;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut args = env::args().skip(1);
    let path = args.next().ok_or("usage: parse_path <media_path>")?;

    let mi = MediaInfo::parse_media_info_path(path)?;

    for track in mi.tracks() {
        match track.track_type() {
            "Audio" | "Video" => {
                let data = track.to_data();
                println!("{} track:", track.track_type());
                println!("{data:#?}");
            }
            _ => {}
        }
    }

    Ok(())
}