#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_7_1;
#[derive(PartialEq,Clone,Default,Debug)]
pub struct DiagnosticsPacket {
pub stream_id: ::std::string::String,
pub sender_id: ::std::string::String,
pub target_id: ::std::string::String,
pub timestamp_ms: u64,
pub media_type: ::protobuf::EnumOrUnknown<super::media_packet::media_packet::MediaType>,
pub video_metrics: ::protobuf::MessageField<VideoMetrics>,
pub audio_metrics: ::protobuf::MessageField<AudioMetrics>,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a DiagnosticsPacket {
fn default() -> &'a DiagnosticsPacket {
<DiagnosticsPacket as ::protobuf::Message>::default_instance()
}
}
impl DiagnosticsPacket {
pub fn new() -> DiagnosticsPacket {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(7);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"stream_id",
|m: &DiagnosticsPacket| { &m.stream_id },
|m: &mut DiagnosticsPacket| { &mut m.stream_id },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"sender_id",
|m: &DiagnosticsPacket| { &m.sender_id },
|m: &mut DiagnosticsPacket| { &mut m.sender_id },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"target_id",
|m: &DiagnosticsPacket| { &m.target_id },
|m: &mut DiagnosticsPacket| { &mut m.target_id },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"timestamp_ms",
|m: &DiagnosticsPacket| { &m.timestamp_ms },
|m: &mut DiagnosticsPacket| { &mut m.timestamp_ms },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"media_type",
|m: &DiagnosticsPacket| { &m.media_type },
|m: &mut DiagnosticsPacket| { &mut m.media_type },
));
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, VideoMetrics>(
"video_metrics",
|m: &DiagnosticsPacket| { &m.video_metrics },
|m: &mut DiagnosticsPacket| { &mut m.video_metrics },
));
fields.push(::protobuf::reflect::rt::v2::make_message_field_accessor::<_, AudioMetrics>(
"audio_metrics",
|m: &DiagnosticsPacket| { &m.audio_metrics },
|m: &mut DiagnosticsPacket| { &mut m.audio_metrics },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<DiagnosticsPacket>(
"DiagnosticsPacket",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for DiagnosticsPacket {
const NAME: &'static str = "DiagnosticsPacket";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
self.stream_id = is.read_string()?;
},
18 => {
self.sender_id = is.read_string()?;
},
26 => {
self.target_id = is.read_string()?;
},
32 => {
self.timestamp_ms = is.read_uint64()?;
},
40 => {
self.media_type = is.read_enum_or_unknown()?;
},
50 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.video_metrics)?;
},
58 => {
::protobuf::rt::read_singular_message_into_field(is, &mut self.audio_metrics)?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if !self.stream_id.is_empty() {
my_size += ::protobuf::rt::string_size(1, &self.stream_id);
}
if !self.sender_id.is_empty() {
my_size += ::protobuf::rt::string_size(2, &self.sender_id);
}
if !self.target_id.is_empty() {
my_size += ::protobuf::rt::string_size(3, &self.target_id);
}
if self.timestamp_ms != 0 {
my_size += ::protobuf::rt::uint64_size(4, self.timestamp_ms);
}
if self.media_type != ::protobuf::EnumOrUnknown::new(super::media_packet::media_packet::MediaType::VIDEO) {
my_size += ::protobuf::rt::int32_size(5, self.media_type.value());
}
if let Some(v) = self.video_metrics.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
if let Some(v) = self.audio_metrics.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if !self.stream_id.is_empty() {
os.write_string(1, &self.stream_id)?;
}
if !self.sender_id.is_empty() {
os.write_string(2, &self.sender_id)?;
}
if !self.target_id.is_empty() {
os.write_string(3, &self.target_id)?;
}
if self.timestamp_ms != 0 {
os.write_uint64(4, self.timestamp_ms)?;
}
if self.media_type != ::protobuf::EnumOrUnknown::new(super::media_packet::media_packet::MediaType::VIDEO) {
os.write_enum(5, ::protobuf::EnumOrUnknown::value(&self.media_type))?;
}
if let Some(v) = self.video_metrics.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(6, v, os)?;
}
if let Some(v) = self.audio_metrics.as_ref() {
::protobuf::rt::write_message_field_with_cached_size(7, v, os)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> DiagnosticsPacket {
DiagnosticsPacket::new()
}
fn clear(&mut self) {
self.stream_id.clear();
self.sender_id.clear();
self.target_id.clear();
self.timestamp_ms = 0;
self.media_type = ::protobuf::EnumOrUnknown::new(super::media_packet::media_packet::MediaType::VIDEO);
self.video_metrics.clear();
self.audio_metrics.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static DiagnosticsPacket {
static instance: DiagnosticsPacket = DiagnosticsPacket {
stream_id: ::std::string::String::new(),
sender_id: ::std::string::String::new(),
target_id: ::std::string::String::new(),
timestamp_ms: 0,
media_type: ::protobuf::EnumOrUnknown::from_i32(0),
video_metrics: ::protobuf::MessageField::none(),
audio_metrics: ::protobuf::MessageField::none(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for DiagnosticsPacket {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("DiagnosticsPacket").unwrap()).clone()
}
}
impl ::std::fmt::Display for DiagnosticsPacket {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for DiagnosticsPacket {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct VideoMetrics {
pub fps_received: f32,
pub bitrate_kbps: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a VideoMetrics {
fn default() -> &'a VideoMetrics {
<VideoMetrics as ::protobuf::Message>::default_instance()
}
}
impl VideoMetrics {
pub fn new() -> VideoMetrics {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(2);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"fps_received",
|m: &VideoMetrics| { &m.fps_received },
|m: &mut VideoMetrics| { &mut m.fps_received },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"bitrate_kbps",
|m: &VideoMetrics| { &m.bitrate_kbps },
|m: &mut VideoMetrics| { &mut m.bitrate_kbps },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<VideoMetrics>(
"VideoMetrics",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for VideoMetrics {
const NAME: &'static str = "VideoMetrics";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
13 => {
self.fps_received = is.read_float()?;
},
16 => {
self.bitrate_kbps = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if self.fps_received != 0. {
my_size += 1 + 4;
}
if self.bitrate_kbps != 0 {
my_size += ::protobuf::rt::uint32_size(2, self.bitrate_kbps);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if self.fps_received != 0. {
os.write_float(1, self.fps_received)?;
}
if self.bitrate_kbps != 0 {
os.write_uint32(2, self.bitrate_kbps)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> VideoMetrics {
VideoMetrics::new()
}
fn clear(&mut self) {
self.fps_received = 0.;
self.bitrate_kbps = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static VideoMetrics {
static instance: VideoMetrics = VideoMetrics {
fps_received: 0.,
bitrate_kbps: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for VideoMetrics {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("VideoMetrics").unwrap()).clone()
}
}
impl ::std::fmt::Display for VideoMetrics {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for VideoMetrics {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
#[derive(PartialEq,Clone,Default,Debug)]
pub struct AudioMetrics {
pub fps_received: f32,
pub bitrate_kbps: u32,
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a AudioMetrics {
fn default() -> &'a AudioMetrics {
<AudioMetrics as ::protobuf::Message>::default_instance()
}
}
impl AudioMetrics {
pub fn new() -> AudioMetrics {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(2);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"fps_received",
|m: &AudioMetrics| { &m.fps_received },
|m: &mut AudioMetrics| { &mut m.fps_received },
));
fields.push(::protobuf::reflect::rt::v2::make_simpler_field_accessor::<_, _>(
"bitrate_kbps",
|m: &AudioMetrics| { &m.bitrate_kbps },
|m: &mut AudioMetrics| { &mut m.bitrate_kbps },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<AudioMetrics>(
"AudioMetrics",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for AudioMetrics {
const NAME: &'static str = "AudioMetrics";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
13 => {
self.fps_received = is.read_float()?;
},
16 => {
self.bitrate_kbps = is.read_uint32()?;
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
if self.fps_received != 0. {
my_size += 1 + 4;
}
if self.bitrate_kbps != 0 {
my_size += ::protobuf::rt::uint32_size(2, self.bitrate_kbps);
}
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
if self.fps_received != 0. {
os.write_float(1, self.fps_received)?;
}
if self.bitrate_kbps != 0 {
os.write_uint32(2, self.bitrate_kbps)?;
}
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> AudioMetrics {
AudioMetrics::new()
}
fn clear(&mut self) {
self.fps_received = 0.;
self.bitrate_kbps = 0;
self.special_fields.clear();
}
fn default_instance() -> &'static AudioMetrics {
static instance: AudioMetrics = AudioMetrics {
fps_received: 0.,
bitrate_kbps: 0,
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for AudioMetrics {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("AudioMetrics").unwrap()).clone()
}
}
impl ::std::fmt::Display for AudioMetrics {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for AudioMetrics {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x1etypes/diagnostics_packet.proto\x1a\x18types/media_packet.proto\"\
\xac\x02\n\x11DiagnosticsPacket\x12\x1b\n\tstream_id\x18\x01\x20\x01(\tR\
\x08streamId\x12\x1b\n\tsender_id\x18\x02\x20\x01(\tR\x08senderId\x12\
\x1b\n\ttarget_id\x18\x03\x20\x01(\tR\x08targetId\x12!\n\x0ctimestamp_ms\
\x18\x04\x20\x01(\x04R\x0btimestampMs\x125\n\nmedia_type\x18\x05\x20\x01\
(\x0e2\x16.MediaPacket.MediaTypeR\tmediaType\x122\n\rvideo_metrics\x18\
\x06\x20\x01(\x0b2\r.VideoMetricsR\x0cvideoMetrics\x122\n\raudio_metrics\
\x18\x07\x20\x01(\x0b2\r.AudioMetricsR\x0caudioMetrics\"T\n\x0cVideoMetr\
ics\x12!\n\x0cfps_received\x18\x01\x20\x01(\x02R\x0bfpsReceived\x12!\n\
\x0cbitrate_kbps\x18\x02\x20\x01(\rR\x0bbitrateKbps\"T\n\x0cAudioMetrics\
\x12!\n\x0cfps_received\x18\x01\x20\x01(\x02R\x0bfpsReceived\x12!\n\x0cb\
itrate_kbps\x18\x02\x20\x01(\rR\x0bbitrateKbpsJ\xf9\n\n\x06\x12\x04\0\0\
\x1f\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n+\n\x02\x03\0\x12\x03\x03\0\"\
\x1a\x20\x20Import\x20the\x20MediaPacket\x20message\n\n\n\n\x02\x04\0\
\x12\x04\x05\0\x13\x01\n\n\n\x03\x04\0\x01\x12\x03\x05\x08\x19\nY\n\x04\
\x04\0\x02\0\x12\x03\x07\x02\x17\x1a\x16\x20Basic\x20identification\n\"4\
\x20Identifier\x20for\x20the\x20specific\x20stream\x20being\x20diagnosed\
\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x07\x02\x08\n\x0c\n\x05\x04\0\x02\
\0\x01\x12\x03\x07\t\x12\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x07\x15\x16\
\nA\n\x04\x04\0\x02\x01\x12\x03\x08\x02\x17\"4\x20Email/ID\x20of\x20who\
\x20is\x20sending\x20this\x20diagnostic\x20message\n\n\x0c\n\x05\x04\0\
\x02\x01\x05\x12\x03\x08\x02\x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\
\x08\t\x12\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\x08\x15\x16\n6\n\x04\
\x04\0\x02\x02\x12\x03\t\x02\x17\")\x20Email/ID\x20of\x20who\x20the\x20d\
iagnostic\x20is\x20about\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\t\x02\
\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\t\t\x12\n\x0c\n\x05\x04\0\x02\
\x02\x03\x12\x03\t\x15\x16\nO\n\x04\x04\0\x02\x03\x12\x03\n\x02\x1a\"B\
\x20When\x20these\x20diagnostics\x20were\x20collected\x20(milliseconds\
\x20since\x20epoch)\n\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\n\x02\x08\n\
\x0c\n\x05\x04\0\x02\x03\x01\x12\x03\n\t\x15\n\x0c\n\x05\x04\0\x02\x03\
\x03\x12\x03\n\x18\x19\n1\n\x04\x04\0\x02\x04\x12\x03\x0c\x02'\"$\x20Typ\
e\x20of\x20media\x20(audio/video/screen)\n\n\x0c\n\x05\x04\0\x02\x04\x06\
\x12\x03\x0c\x02\x17\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03\x0c\x18\"\n\
\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x0c%&\nH\n\x04\x04\0\x02\x05\x12\
\x03\x0f\x02!\x1a;\x20Video-specific\x20metrics\x20(only\x20populated\
\x20for\x20video\x20streams)\n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03\x0f\
\x02\x0e\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03\x0f\x0f\x1c\n\x0c\n\x05\
\x04\0\x02\x05\x03\x12\x03\x0f\x1f\x20\nH\n\x04\x04\0\x02\x06\x12\x03\
\x12\x02!\x1a;\x20Audio-specific\x20metrics\x20(only\x20populated\x20for\
\x20audio\x20streams)\n\n\x0c\n\x05\x04\0\x02\x06\x06\x12\x03\x12\x02\
\x0e\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03\x12\x0f\x1c\n\x0c\n\x05\x04\0\
\x02\x06\x03\x12\x03\x12\x1f\x20\n/\n\x02\x04\x01\x12\x04\x16\0\x19\x01\
\x1a#\x20Video-specific\x20diagnostic\x20metrics\n\n\n\n\x03\x04\x01\x01\
\x12\x03\x16\x08\x14\n5\n\x04\x04\x01\x02\0\x12\x03\x17\x02\x19\"(\x20Fr\
ames\x20per\x20second\x20being\x20received\x20(fps)\n\n\x0c\n\x05\x04\
\x01\x02\0\x05\x12\x03\x17\x02\x07\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\
\x17\x08\x14\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x17\x17\x18\n=\n\x04\
\x04\x01\x02\x01\x12\x03\x18\x02\x1a\"0\x20Current\x20measured\x20bitrat\
e\x20(kilobits\x20per\x20second)\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\
\x03\x18\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x18\t\x15\n\x0c\
\n\x05\x04\x01\x02\x01\x03\x12\x03\x18\x18\x19\n/\n\x02\x04\x02\x12\x04\
\x1c\0\x1f\x01\x1a#\x20Audio-specific\x20diagnostic\x20metrics\n\n\n\n\
\x03\x04\x02\x01\x12\x03\x1c\x08\x14\n5\n\x04\x04\x02\x02\0\x12\x03\x1d\
\x02\x19\"(\x20Frames\x20per\x20second\x20being\x20received\x20(fps)\n\n\
\x0c\n\x05\x04\x02\x02\0\x05\x12\x03\x1d\x02\x07\n\x0c\n\x05\x04\x02\x02\
\0\x01\x12\x03\x1d\x08\x14\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x1d\x17\
\x18\n=\n\x04\x04\x02\x02\x01\x12\x03\x1e\x02\x1a\"0\x20Current\x20measu\
red\x20bitrate\x20(kilobits\x20per\x20second)\n\n\x0c\n\x05\x04\x02\x02\
\x01\x05\x12\x03\x1e\x02\x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x1e\
\t\x15\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03\x1e\x18\x19b\x06proto3\
";
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
file_descriptor_proto_lazy.get(|| {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
})
}
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
let mut deps = ::std::vec::Vec::with_capacity(1);
deps.push(super::media_packet::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(3);
messages.push(DiagnosticsPacket::generated_message_descriptor_data());
messages.push(VideoMetrics::generated_message_descriptor_data());
messages.push(AudioMetrics::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(0);
::protobuf::reflect::GeneratedFileDescriptor::new_generated(
file_descriptor_proto(),
deps,
messages,
enums,
)
});
::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
})
}