rosbag 0.1.0

Utilities for reading ROS bag files.
Documentation

Utilities for reading ROS bag files.

Example

use rosbag::{RecordsIterator, Record};

let mut bag = RecordsIterator::new(path).unwrap();
let header = match bag.next() {
    Some(Ok(Record::BagHeader(bh))) => bh,
    _ => panic!("Failed to acquire bag header record"),
};
// get first chunk and iterate over messages in it
for record in &mut bag {
    let record = record.unwrap();
    match record {
        Record::Chunk(chunk) => {
            for msg in chunk.iter_msgs() {
                let msg = msg.unwrap();
                println!("{}", msg.time)
            }
            break;
        },
        _ => (),
    }
}
// jump to index records
bag.seek(header.index_pos).unwrap();
for record in bag {
    let record = record.unwrap();
    println!("{:?}", record);
}