1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
use crate::data::rational::Rational64; use crate::stream::Stream; #[derive(Debug, Clone)] pub struct GlobalInfo { pub duration: Option<u64>, pub timebase: Option<Rational64>, pub streams: Vec<Stream>, } impl GlobalInfo { pub fn add_stream(&mut self, mut st: Stream) -> usize { let idx = self.streams.len(); if st.id < 0 { st.id = st.index as isize; } st.index = idx; self.streams.push(st); idx } }