Crate rosbag [−] [src]
Utilities for reading ROS bag files.
Example
ⓘThis example is not tested
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); }
Modules
msg_iter |
Iterators over content of |
record_types |
Collection of record types. |
Structs
RecordsIterator |
Low-level iterator over records extracted from ROS bag file. |
Enums
Error |
The error type for ROS bag file reading and parsing. |
Record |
Enum with all possible record variants |
Type Definitions
Result |
A specialized Result type for ROS bag file reading and parsing. |