#[derive(Debug, Clone, Default)]
pub struct DecoderStatsUpdate {
pub frames_decoded: u32,
pub key_frames_decoded: u32,
pub frames_rendered: u32,
pub frame_width: u32,
pub frame_height: u32,
pub qp_sum: u64,
pub total_decode_time: f64,
pub total_inter_frame_delay: f64,
pub total_squared_inter_frame_delay: f64,
pub decoder_implementation: String,
pub power_efficient_decoder: bool,
}
#[derive(Debug, Clone, Default)]
pub struct EncoderStatsUpdate {
pub frame_width: u32,
pub frame_height: u32,
pub frames_encoded: u32,
pub key_frames_encoded: u32,
pub qp_sum: u64,
pub total_encode_time: f64,
pub encoder_implementation: String,
pub power_efficient_encoder: bool,
pub scalability_mode: String,
}
#[derive(Debug, Clone, Default)]
pub struct AudioReceiverStatsUpdate {
pub total_samples_received: u64,
pub concealed_samples: u64,
pub silent_concealed_samples: u64,
pub concealment_events: u64,
pub inserted_samples_for_deceleration: u64,
pub removed_samples_for_acceleration: u64,
pub audio_level: f64,
pub total_audio_energy: f64,
pub total_samples_duration: f64,
pub jitter_buffer_delay: f64,
pub jitter_buffer_target_delay: f64,
pub jitter_buffer_emitted_count: u64,
}
#[derive(Debug, Clone, Default)]
pub struct AudioSourceStatsUpdate {
pub audio_level: f64,
pub total_audio_energy: f64,
pub total_samples_duration: f64,
pub echo_return_loss: f64,
pub echo_return_loss_enhancement: f64,
}
#[derive(Debug, Clone, Default)]
pub struct VideoSourceStatsUpdate {
pub width: u32,
pub height: u32,
pub frames: u32,
pub frames_per_second: f64,
}
#[derive(Debug, Clone, Default)]
pub struct AudioPlayoutStatsUpdate {
pub synthesized_samples_duration: f64,
pub synthesized_samples_events: u32,
pub total_samples_duration: f64,
pub total_playout_delay: f64,
pub total_samples_count: u64,
}