av_data/timeinfo.rs
1//! Time info definitions for frames and packets.
2
3use crate::rational::Rational64;
4use std::any::Any;
5use std::sync::Arc;
6
7/// Timestamp information for frames and packets.
8#[derive(Debug, Clone, Default)]
9pub struct TimeInfo {
10 /// Presentation timestamp.
11 pub pts: Option<i64>,
12 /// Decode timestamp.
13 pub dts: Option<i64>,
14 /// Duration (in timebase units).
15 pub duration: Option<u64>,
16 /// Timebase numerator/denominator (i.e 1/75th of a second).
17 ///
18 /// Its value does not vary among frames/packets, since it is
19 /// computed and defined at stream level.
20 pub timebase: Option<Rational64>,
21 /// Timebase user private data.
22 pub user_private: Option<Arc<dyn Any + Send + Sync>>,
23}