// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: raw_events.proto
// Protobuf C++ Version: 7.35.1

#include "raw_events.pb.h"

#include <algorithm>
#include <type_traits>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/generated_message_tctable_impl.h"
#include "google/protobuf/internal_visibility.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/io/zero_copy_stream_impl_lite.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace media {
namespace cast {
namespace proto {
class GeneralDescription::_Internal {
 public:
  using HasBits = decltype(::std::declval<GeneralDescription>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_._has_bits_);
};

constexpr GeneralDescription::ParseTableT_ GeneralDescription::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_._has_bits_),
      0, // no _extensions_
      3, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967288,  // skipmap
      offsetof(ParseTableT_, field_entries),
      3,  // num_field_entries
      0,  // num_aux_entries
      offsetof(ParseTableT_, field_names),  // no aux_entries
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::media::cast::proto::GeneralDescription>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional string product = 1;
      {::_pbi::TcParser::FastBS1,
       {10, 0, 0,
        PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.product_)}},
      // optional string product_version = 2;
      {::_pbi::TcParser::FastBS1,
       {18, 1, 0,
        PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.product_version_)}},
      // optional string os = 3;
      {::_pbi::TcParser::FastBS1,
       {26, 2, 0,
        PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.os_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional string product = 1;
      {PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.product_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string product_version = 2;
      {PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.product_version_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional string os = 3;
      {PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_.os_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
    }},
    // no aux_entries
    {{
    }},
  };
}


inline constexpr GeneralDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        product_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        product_version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        os_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()) {}

template <typename>
constexpr GeneralDescription::GeneralDescription(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL GeneralDescription::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) GeneralDescription(arena);
}
constexpr auto GeneralDescription::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(GeneralDescription), alignof(GeneralDescription));
}
constexpr auto GeneralDescription::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &GeneralDescription::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<GeneralDescription>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &GeneralDescription::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<GeneralDescription>(), &GeneralDescription::ByteSizeLong,
              &GeneralDescription::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(GeneralDescription, _impl_._cached_size_),
          true,
      },
      "media.cast.proto.GeneralDescription",
  };
}
struct GeneralDescriptionGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr GeneralDescriptionGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 GeneralDescription_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(GeneralDescription::InternalGenerateClassData_(
            _default, &GeneralDescription_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<GeneralDescription>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~GeneralDescriptionGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) GeneralDescription _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<GeneralDescription>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(GeneralDescriptionGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST GeneralDescriptionGlobalsTypeInternal GeneralDescription_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* GeneralDescription_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return GeneralDescription_globals_.GetClassData();
#else
  return GeneralDescription_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class BasePacketEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<BasePacketEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_._has_bits_);
};

constexpr BasePacketEvent::ParseTableT_ BasePacketEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_._has_bits_),
      0, // no _extensions_
      4, 24,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967280,  // skipmap
      offsetof(ParseTableT_, field_entries),
      4,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::media::cast::proto::BasePacketEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // optional int32 size = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.size_)}},
      // optional int32 packet_id = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.packet_id_)}},
      // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
      {::_pbi::TcParser::FastEvP1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.event_type_)}},
      // repeated int64 event_timestamp_ms = 3 [packed = true];
      {::_pbi::TcParser::FastV64P1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.event_timestamp_ms_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional int32 packet_id = 1;
      {PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.packet_id_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
      {PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.event_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnum)},
      // repeated int64 event_timestamp_ms = 3 [packed = true];
      {PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.event_timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
      // optional int32 size = 4;
      {PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.size_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::media::cast::proto::EventType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr BasePacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        event_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::BasePacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_type_)>()
         }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::BasePacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_timestamp_ms_)>()
         }
        ,
        _event_timestamp_ms_cached_byte_size_{0},
        packet_id_{0},
        size_{0} {}

template <typename>
constexpr BasePacketEvent::BasePacketEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL BasePacketEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) BasePacketEvent(arena);
}
constexpr auto BasePacketEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(BasePacketEvent), alignof(BasePacketEvent));
}
constexpr auto BasePacketEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &BasePacketEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<BasePacketEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &BasePacketEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<BasePacketEvent>(), &BasePacketEvent::ByteSizeLong,
              &BasePacketEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_._cached_size_),
          true,
      },
      "media.cast.proto.BasePacketEvent",
  };
}
struct BasePacketEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr BasePacketEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 BasePacketEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(BasePacketEvent::InternalGenerateClassData_(
            _default, &BasePacketEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<BasePacketEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~BasePacketEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) BasePacketEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<BasePacketEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(BasePacketEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST BasePacketEventGlobalsTypeInternal BasePacketEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* BasePacketEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return BasePacketEvent_globals_.GetClassData();
#else
  return BasePacketEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AggregatedFrameEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<AggregatedFrameEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_._has_bits_);
};

constexpr AggregatedFrameEvent::ParseTableT_ AggregatedFrameEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_._has_bits_),
      0, // no _extensions_
      11, 120,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294965248,  // skipmap
      offsetof(ParseTableT_, field_entries),
      11,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::media::cast::proto::AggregatedFrameEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional uint32 relative_rtp_timestamp = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.relative_rtp_timestamp_)}},
      // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
      {::_pbi::TcParser::FastEvP1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.event_type_)}},
      // repeated int64 event_timestamp_ms = 3 [packed = true];
      {::_pbi::TcParser::FastV64P1,
       {26, 1, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.event_timestamp_ms_)}},
      // optional int32 encoded_frame_size = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 3, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.encoded_frame_size_)}},
      // optional int64 delay_millis = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 4, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.delay_millis_)}},
      // optional bool key_frame = 6;
      {::_pbi::TcParser::FastV8S1,
       {48, 5, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.key_frame_)}},
      // optional int32 target_bitrate = 7;
      {::_pbi::TcParser::FastV32S1,
       {56, 6, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.target_bitrate_)}},
      // optional int32 width = 8;
      {::_pbi::TcParser::FastV32S1,
       {64, 7, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.width_)}},
      // optional int32 height = 9;
      {::_pbi::TcParser::FastV32S1,
       {72, 8, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.height_)}},
      // optional int32 encoder_cpu_percent_utilized = 10;
      {::_pbi::TcParser::FastV32S1,
       {80, 9, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.encoder_cpu_percent_utilized_)}},
      // optional int32 idealized_bitrate_percent_utilized = 11;
      {::_pbi::TcParser::FastV32S1,
       {88, 10, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.idealized_bitrate_percent_utilized_)}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
      {::_pbi::TcParser::MiniParse, {}},
    }}, {{
      65535, 65535
    }}, {{
      // optional uint32 relative_rtp_timestamp = 1;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.relative_rtp_timestamp_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.event_type_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedEnum)},
      // repeated int64 event_timestamp_ms = 3 [packed = true];
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.event_timestamp_ms_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcRepeated | ::_fl::kPackedInt64)},
      // optional int32 encoded_frame_size = 4;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.encoded_frame_size_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int64 delay_millis = 5;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.delay_millis_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional bool key_frame = 6;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.key_frame_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional int32 target_bitrate = 7;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.target_bitrate_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 width = 8;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.width_), _Internal::kHasBitsOffset + 7, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 height = 9;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.height_), _Internal::kHasBitsOffset + 8, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 encoder_cpu_percent_utilized = 10;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.encoder_cpu_percent_utilized_), _Internal::kHasBitsOffset + 9, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 idealized_bitrate_percent_utilized = 11;
      {PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.idealized_bitrate_percent_utilized_), _Internal::kHasBitsOffset + 10, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
    }},
    {{
        {::_pbi::FieldAuxEnumData{}, ::media::cast::proto::EventType_internal_data_},
    }},
    {{
    }},
  };
}


inline constexpr AggregatedFrameEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        event_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedFrameEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_type_)>()
         }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedFrameEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_timestamp_ms_)>()
         }
        ,
        _event_timestamp_ms_cached_byte_size_{0},
        relative_rtp_timestamp_{0u},
        encoded_frame_size_{0},
        delay_millis_{::int64_t{0}},
        key_frame_{false},
        target_bitrate_{0},
        width_{0},
        height_{0},
        encoder_cpu_percent_utilized_{0},
        idealized_bitrate_percent_utilized_{0} {}

template <typename>
constexpr AggregatedFrameEvent::AggregatedFrameEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AggregatedFrameEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AggregatedFrameEvent(arena);
}
constexpr auto AggregatedFrameEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AggregatedFrameEvent), alignof(AggregatedFrameEvent));
}
constexpr auto AggregatedFrameEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AggregatedFrameEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AggregatedFrameEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AggregatedFrameEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AggregatedFrameEvent>(), &AggregatedFrameEvent::ByteSizeLong,
              &AggregatedFrameEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_._cached_size_),
          true,
      },
      "media.cast.proto.AggregatedFrameEvent",
  };
}
struct AggregatedFrameEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AggregatedFrameEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AggregatedFrameEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AggregatedFrameEvent::InternalGenerateClassData_(
            _default, &AggregatedFrameEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AggregatedFrameEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AggregatedFrameEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AggregatedFrameEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AggregatedFrameEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AggregatedFrameEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AggregatedFrameEventGlobalsTypeInternal AggregatedFrameEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AggregatedFrameEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AggregatedFrameEvent_globals_.GetClassData();
#else
  return AggregatedFrameEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class LogMetadata::_Internal {
 public:
  using HasBits = decltype(::std::declval<LogMetadata>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_._has_bits_);
};

constexpr LogMetadata::ParseTableT_ LogMetadata::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_._has_bits_),
      0, // no _extensions_
      7, 56,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967168,  // skipmap
      offsetof(ParseTableT_, field_entries),
      7,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::media::cast::proto::LogMetadata>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      {::_pbi::TcParser::MiniParse, {}},
      // optional bool is_audio = 1;
      {::_pbi::TcParser::FastV8S1,
       {8, 2, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.is_audio_)}},
      // optional uint32 first_rtp_timestamp = 2;
      {::_pbi::TcParser::FastV32S1,
       {16, 3, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.first_rtp_timestamp_)}},
      // optional int32 num_frame_events = 3;
      {::_pbi::TcParser::FastV32S1,
       {24, 4, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.num_frame_events_)}},
      // optional int32 num_packet_events = 4;
      {::_pbi::TcParser::FastV32S1,
       {32, 5, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.num_packet_events_)}},
      // optional int64 reference_timestamp_ms_at_unix_epoch = 5;
      {::_pbi::TcParser::FastV64S1,
       {40, 6, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.reference_timestamp_ms_at_unix_epoch_)}},
      // optional string extra_data = 6;
      {::_pbi::TcParser::FastBS1,
       {50, 0, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.extra_data_)}},
      // optional .media.cast.proto.GeneralDescription general_description = 7;
      {::_pbi::TcParser::FastMtS1,
       {58, 1, 0,
        PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.general_description_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional bool is_audio = 1;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.is_audio_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)},
      // optional uint32 first_rtp_timestamp = 2;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.first_rtp_timestamp_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // optional int32 num_frame_events = 3;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.num_frame_events_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int32 num_packet_events = 4;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.num_packet_events_), _Internal::kHasBitsOffset + 5, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)},
      // optional int64 reference_timestamp_ms_at_unix_epoch = 5;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.reference_timestamp_ms_at_unix_epoch_), _Internal::kHasBitsOffset + 6, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt64)},
      // optional string extra_data = 6;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.extra_data_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kBytes | ::_fl::kRepAString)},
      // optional .media.cast.proto.GeneralDescription general_description = 7;
      {PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.general_description_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::media::cast::proto::GeneralDescription>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::media::cast::proto::GeneralDescription_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr LogMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        extra_data_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        general_description_{nullptr},
        is_audio_{false},
        first_rtp_timestamp_{0u},
        num_frame_events_{0},
        num_packet_events_{0},
        reference_timestamp_ms_at_unix_epoch_{::int64_t{0}} {}

template <typename>
constexpr LogMetadata::LogMetadata(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL LogMetadata::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) LogMetadata(arena);
}
constexpr auto LogMetadata::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LogMetadata), alignof(LogMetadata));
}
constexpr auto LogMetadata::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &LogMetadata::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<LogMetadata>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &LogMetadata::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<LogMetadata>(), &LogMetadata::ByteSizeLong,
              &LogMetadata::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_._cached_size_),
          true,
      },
      "media.cast.proto.LogMetadata",
  };
}
struct LogMetadataGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr LogMetadataGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 LogMetadata_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(LogMetadata::InternalGenerateClassData_(
            _default, &LogMetadata_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<LogMetadata>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~LogMetadataGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) LogMetadata _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<LogMetadata>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(LogMetadataGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST LogMetadataGlobalsTypeInternal LogMetadata_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* LogMetadata_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return LogMetadata_globals_.GetClassData();
#else
  return LogMetadata_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
class AggregatedPacketEvent::_Internal {
 public:
  using HasBits = decltype(::std::declval<AggregatedPacketEvent>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
      8 * PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_._has_bits_);
};

constexpr AggregatedPacketEvent::ParseTableT_ AggregatedPacketEvent::InternalGenerateParseTable_(const ::_pbi::ClassData* class_data) {
  return ParseTableT_{
    {
      PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_._has_bits_),
      0, // no _extensions_
      2, 8,  // max_field_number, fast_idx_mask
      offsetof(ParseTableT_, field_lookup_table),
      4294967292,  // skipmap
      offsetof(ParseTableT_, field_entries),
      2,  // num_field_entries
      1,  // num_aux_entries
      offsetof(ParseTableT_, aux_entries),
      class_data,
      nullptr,  // post_loop_handler
      ::_pbi::TcParser::GenericFallbackLite,  // fallback
      #ifdef PROTOBUF_PREFETCH_PARSE_TABLE
      ::_pbi::TcParser::GetTable<::media::cast::proto::AggregatedPacketEvent>(),  // to_prefetch
      #endif  // PROTOBUF_PREFETCH_PARSE_TABLE
    }, {{
      // repeated .media.cast.proto.BasePacketEvent base_packet_event = 2;
      {::_pbi::TcParser::FastMtR1,
       {18, 0, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_.base_packet_event_)}},
      // optional uint32 relative_rtp_timestamp = 1;
      {::_pbi::TcParser::FastV32S1,
       {8, 1, 0,
        PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_.relative_rtp_timestamp_)}},
    }}, {{
      65535, 65535
    }}, {{
      // optional uint32 relative_rtp_timestamp = 1;
      {PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_.relative_rtp_timestamp_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUInt32)},
      // repeated .media.cast.proto.BasePacketEvent base_packet_event = 2;
      {PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_.base_packet_event_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    }},
    {{
        #ifndef PROTOBUF_MESSAGE_GLOBALS
        {::_pbi::TcParser::GetTable<::media::cast::proto::BasePacketEvent>()},
        #else
        {::_pbi::FieldAuxMessageGlobals(), &::media::cast::proto::BasePacketEvent_globals_},
        #endif
    }},
    {{
    }},
  };
}


inline constexpr AggregatedPacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        base_packet_event_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedPacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedPacketEvent, _impl_.base_packet_event_)>()
         }
        ,
        relative_rtp_timestamp_{0u} {}

template <typename>
constexpr AggregatedPacketEvent::AggregatedPacketEvent(::_pbi::ConstantInitialized,
                       const ::_pbi::ClassData* PROTOBUF_NONNULL class_data)
    : ::google::protobuf::MessageLite(
#if defined(PROTOBUF_CUSTOM_VTABLE)
          class_data
#endif  // PROTOBUF_CUSTOM_VTABLE
          ),
      _impl_(internal_visibility(), ::_pbi::ConstantInitialized()) {
}
inline void* PROTOBUF_NONNULL AggregatedPacketEvent::PlacementNew_(
    const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena) {
  return ::new (mem) AggregatedPacketEvent(arena);
}
constexpr auto AggregatedPacketEvent::InternalNewImpl_() {
  return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AggregatedPacketEvent), alignof(AggregatedPacketEvent));
}
constexpr auto AggregatedPacketEvent::InternalGenerateClassData_(
    const MessageLite& prototype,
    const ::google::protobuf::internal::TcParseTableBase* tc_table) {
  return ::google::protobuf::internal::ClassDataLite{
      {
          &prototype,
#ifndef PROTOBUF_MESSAGE_GLOBALS
          &_table_.header,
#else
          tc_table,
#endif
          nullptr,  // IsInitialized
          &AggregatedPacketEvent::MergeImpl,
          ::google::protobuf::MessageLite::GetNewImpl<AggregatedPacketEvent>(),
#if defined(PROTOBUF_CUSTOM_VTABLE)
          &AggregatedPacketEvent::SharedDtor,
          ::google::protobuf::MessageLite::GetClearImpl<AggregatedPacketEvent>(), &AggregatedPacketEvent::ByteSizeLong,
              &AggregatedPacketEvent::_InternalSerialize,
#endif  // PROTOBUF_CUSTOM_VTABLE
          PROTOBUF_FIELD_OFFSET(AggregatedPacketEvent, _impl_._cached_size_),
          true,
      },
      "media.cast.proto.AggregatedPacketEvent",
  };
}
struct AggregatedPacketEventGlobalsTypeInternal : ::_pbi::MessageGlobalsBase {
  constexpr AggregatedPacketEventGlobalsTypeInternal()
      :
#ifndef PROTOBUF_MESSAGE_GLOBALS
        _default(::_pbi::ConstantInitialized{},
                 AggregatedPacketEvent_class_data_.base())
#else   // !PROTOBUF_MESSAGE_GLOBALS
        MessageGlobalsBase(AggregatedPacketEvent::InternalGenerateClassData_(
            _default, &AggregatedPacketEvent_globals_._table.header)),
        _default(::_pbi::ConstantInitialized{}, GetClassData()),
        _table(::_pbi::PrivateAccess::GenerateParseTable<AggregatedPacketEvent>(
            GetClassData()))
#endif  // PROTOBUF_MESSAGE_GLOBALS
  {
  }
  ~AggregatedPacketEventGlobalsTypeInternal() {}
  union {
    alignas(::_pbi::kMaxMessageAlignment) AggregatedPacketEvent _default;
  };
#ifdef PROTOBUF_MESSAGE_GLOBALS
  decltype(::_pbi::PrivateAccess::GenerateParseTable<AggregatedPacketEvent>(
      ::std::declval<const ::_pbi::ClassData*>())) _table;
#endif
};
#ifdef PROTOBUF_MESSAGE_GLOBALS
static_assert(PROTOBUF_FIELD_OFFSET(AggregatedPacketEventGlobalsTypeInternal, _default) ==
              ::_pbi::MessageGlobalsBase::OffsetToDefault());
#endif  // PROTOBUF_MESSAGE_GLOBALS

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PROTOBUF_MESSAGE_GLOBALS_CONST AggregatedPacketEventGlobalsTypeInternal AggregatedPacketEvent_globals_
        PROTOBUF_MESSAGE_GLOBALS_SECTION(.data.rel.ro);
#if defined(PROTOBUF_CUSTOM_VTABLE)
namespace {
const ::_pbi::ClassData* AggregatedPacketEvent_get_class_data() {
#ifdef PROTOBUF_MESSAGE_GLOBALS
  return AggregatedPacketEvent_globals_.GetClassData();
#else
  return AggregatedPacketEvent_class_data_.base();
#endif  // PROTOBUF_MESSAGE_GLOBALS
}
}  // namespace
#endif  // PROTOBUF_CUSTOM_VTABLE
}  // namespace proto
}  // namespace cast
}  // namespace media
namespace media {
namespace cast {
namespace proto {
PROTOBUF_CONSTINIT const uint32_t EventType_internal_data_[] = {
    1245184u, 32u, 2097148u, };
static const char EventType_names[] = {
    "AUDIO_ACK_SENT"
    "AUDIO_FRAME_CAPTURE_BEGIN"
    "AUDIO_FRAME_CAPTURE_END"
    "AUDIO_FRAME_DECODED"
    "AUDIO_FRAME_ENCODED"
    "AUDIO_PACKET_RECEIVED"
    "AUDIO_PACKET_RETRANSMITTED"
    "AUDIO_PACKET_SENT_TO_NETWORK"
    "AUDIO_PLAYOUT_DELAY"
    "DUPLICATE_AUDIO_PACKET_RECEIVED"
    "DUPLICATE_VIDEO_PACKET_RECEIVED"
    "FRAME_ACK_RECEIVED"
    "FRAME_ACK_SENT"
    "FRAME_CAPTURE_BEGIN"
    "FRAME_CAPTURE_END"
    "FRAME_DECODED"
    "FRAME_ENCODED"
    "FRAME_PLAYOUT"
    "JITTER_MS"
    "PACKET_LOSS"
    "PACKET_RECEIVED"
    "PACKET_RETRANSMITTED"
    "PACKET_RTX_REJECTED"
    "PACKET_SENT_TO_NETWORK"
    "REMB_BITRATE"
    "RTT_MS"
    "UNKNOWN"
    "VIDEO_ACK_RECEIVED"
    "VIDEO_ACK_SENT"
    "VIDEO_FRAME_CAPTURE_BEGIN"
    "VIDEO_FRAME_CAPTURE_END"
    "VIDEO_FRAME_DECODED"
    "VIDEO_FRAME_ENCODED"
    "VIDEO_FRAME_SENT_TO_ENCODER"
    "VIDEO_PACKET_RECEIVED"
    "VIDEO_PACKET_RETRANSMITTED"
    "VIDEO_PACKET_SENT_TO_NETWORK"
    "VIDEO_RENDER_DELAY"
};

static const ::google::protobuf::internal::EnumEntry EventType_entries[] = {
    {{&EventType_names[0], 14}, 6},
    {{&EventType_names[14], 25}, 9},
    {{&EventType_names[39], 23}, 8},
    {{&EventType_names[62], 19}, 12},
    {{&EventType_names[81], 19}, 10},
    {{&EventType_names[100], 21}, 25},
    {{&EventType_names[121], 26}, 23},
    {{&EventType_names[147], 28}, 21},
    {{&EventType_names[175], 19}, 11},
    {{&EventType_names[194], 31}, 27},
    {{&EventType_names[225], 31}, 28},
    {{&EventType_names[256], 18}, 32},
    {{&EventType_names[274], 14}, 33},
    {{&EventType_names[288], 19}, 29},
    {{&EventType_names[307], 17}, 30},
    {{&EventType_names[324], 13}, 34},
    {{&EventType_names[337], 13}, 31},
    {{&EventType_names[350], 13}, 35},
    {{&EventType_names[363], 9}, 3},
    {{&EventType_names[372], 11}, 2},
    {{&EventType_names[383], 15}, 38},
    {{&EventType_names[398], 20}, 37},
    {{&EventType_names[418], 19}, 39},
    {{&EventType_names[437], 22}, 36},
    {{&EventType_names[459], 12}, 5},
    {{&EventType_names[471], 6}, 1},
    {{&EventType_names[477], 7}, 0},
    {{&EventType_names[484], 18}, 4},
    {{&EventType_names[502], 14}, 7},
    {{&EventType_names[516], 25}, 13},
    {{&EventType_names[541], 23}, 14},
    {{&EventType_names[564], 19}, 17},
    {{&EventType_names[583], 19}, 16},
    {{&EventType_names[602], 27}, 15},
    {{&EventType_names[629], 21}, 26},
    {{&EventType_names[650], 26}, 24},
    {{&EventType_names[676], 28}, 22},
    {{&EventType_names[704], 18}, 18},
};

static const int EventType_entries_by_number[] = {
    26,  // 0 -> UNKNOWN
    25,  // 1 -> RTT_MS
    19,  // 2 -> PACKET_LOSS
    18,  // 3 -> JITTER_MS
    27,  // 4 -> VIDEO_ACK_RECEIVED
    24,  // 5 -> REMB_BITRATE
    0,  // 6 -> AUDIO_ACK_SENT
    28,  // 7 -> VIDEO_ACK_SENT
    2,  // 8 -> AUDIO_FRAME_CAPTURE_END
    1,  // 9 -> AUDIO_FRAME_CAPTURE_BEGIN
    4,  // 10 -> AUDIO_FRAME_ENCODED
    8,  // 11 -> AUDIO_PLAYOUT_DELAY
    3,  // 12 -> AUDIO_FRAME_DECODED
    29,  // 13 -> VIDEO_FRAME_CAPTURE_BEGIN
    30,  // 14 -> VIDEO_FRAME_CAPTURE_END
    33,  // 15 -> VIDEO_FRAME_SENT_TO_ENCODER
    32,  // 16 -> VIDEO_FRAME_ENCODED
    31,  // 17 -> VIDEO_FRAME_DECODED
    37,  // 18 -> VIDEO_RENDER_DELAY
    7,  // 21 -> AUDIO_PACKET_SENT_TO_NETWORK
    36,  // 22 -> VIDEO_PACKET_SENT_TO_NETWORK
    6,  // 23 -> AUDIO_PACKET_RETRANSMITTED
    35,  // 24 -> VIDEO_PACKET_RETRANSMITTED
    5,  // 25 -> AUDIO_PACKET_RECEIVED
    34,  // 26 -> VIDEO_PACKET_RECEIVED
    9,  // 27 -> DUPLICATE_AUDIO_PACKET_RECEIVED
    10,  // 28 -> DUPLICATE_VIDEO_PACKET_RECEIVED
    13,  // 29 -> FRAME_CAPTURE_BEGIN
    14,  // 30 -> FRAME_CAPTURE_END
    16,  // 31 -> FRAME_ENCODED
    11,  // 32 -> FRAME_ACK_RECEIVED
    12,  // 33 -> FRAME_ACK_SENT
    15,  // 34 -> FRAME_DECODED
    17,  // 35 -> FRAME_PLAYOUT
    23,  // 36 -> PACKET_SENT_TO_NETWORK
    21,  // 37 -> PACKET_RETRANSMITTED
    20,  // 38 -> PACKET_RECEIVED
    22,  // 39 -> PACKET_RTX_REJECTED
};

bool EventType_Parse(::absl::string_view name,
                                  EventType* PROTOBUF_NONNULL value) {
  int int_value;
  bool success = ::google::protobuf::internal::LookUpEnumValue(
      EventType_entries, 38, name, &int_value);
  if (success) {
    *value = static_cast<EventType>(int_value);
  }
  return success;
}
static ::google::protobuf::internal::ExplicitlyConstructed<::std::string>
    EventType_strings[38] = {};

const ::std::string& EventType_Name(EventType value) {
  static const bool kDummy = ::google::protobuf::internal::InitializeEnumStrings(
      EventType_entries, EventType_entries_by_number, 38,
      EventType_strings);
  (void)kDummy;

  int idx = ::google::protobuf::internal::LookUpEnumName(EventType_entries,
                                  EventType_entries_by_number,
                                  38, value);
  return idx == -1 ? ::google::protobuf::internal::GetEmptyString() : EventType_strings[idx].get();
}
// ===================================================================

GeneralDescription::GeneralDescription(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GeneralDescription_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:media.cast.proto.GeneralDescription)
}
PROTOBUF_NDEBUG_INLINE GeneralDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::media::cast::proto::GeneralDescription& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        product_(arena, from.product_),
        product_version_(arena, from.product_version_),
        os_(arena, from.os_) {}

GeneralDescription::GeneralDescription(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const GeneralDescription& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, GeneralDescription_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  GeneralDescription* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);

  // @@protoc_insertion_point(copy_constructor:media.cast.proto.GeneralDescription)
}
PROTOBUF_NDEBUG_INLINE GeneralDescription::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        product_(arena),
        product_version_(arena),
        os_(arena) {}

inline void GeneralDescription::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
GeneralDescription::~GeneralDescription() {
  // @@protoc_insertion_point(destructor:media.cast.proto.GeneralDescription)
  SharedDtor(*this);
}
inline void GeneralDescription::SharedDtor(MessageLite& self) {
  GeneralDescription& this_ = static_cast<GeneralDescription&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.product_.Destroy();
  this_._impl_.product_version_.Destroy();
  this_._impl_.os_.Destroy();
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite GeneralDescription_class_data_ =
    GeneralDescription::InternalGenerateClassData_(GeneralDescription_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeneralDescription::GetClassData() const {
  return GeneralDescription_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
GeneralDescription::GetClassData() const {
  return GeneralDescription_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const GeneralDescription::ParseTableT_
    GeneralDescription::_table_ =
        GeneralDescription::InternalGenerateParseTable_(GeneralDescription_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void GeneralDescription::Clear() {
// @@protoc_insertion_point(message_clear_start:media.cast.proto.GeneralDescription)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.product_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.product_version_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _impl_.os_.ClearNonDefaultToEmpty();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL GeneralDescription::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const GeneralDescription& this_ = static_cast<const GeneralDescription&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL GeneralDescription::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const GeneralDescription& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:media.cast.proto.GeneralDescription)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional string product = 1;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_product();
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // optional string product_version = 2;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    const ::std::string& _s = this_._internal_product_version();
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // optional string os = 3;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    const ::std::string& _s = this_._internal_os();
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:media.cast.proto.GeneralDescription)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t GeneralDescription::ByteSizeLong(const MessageLite& base) {
  const GeneralDescription& this_ = static_cast<const GeneralDescription&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t GeneralDescription::ByteSizeLong() const {
  const GeneralDescription& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:media.cast.proto.GeneralDescription)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    // optional string product = 1;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product());
    }
    // optional string product_version = 2;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_product_version());
    }
    // optional string os = 3;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_os());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void GeneralDescription::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<GeneralDescription*>(&to_msg);
  auto& from = static_cast<const GeneralDescription&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:media.cast.proto.GeneralDescription)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000007U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_product(from._internal_product());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_set_product_version(from._internal_product_version());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_internal_set_os(from._internal_os());
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void GeneralDescription::CopyFrom(const GeneralDescription& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:media.cast.proto.GeneralDescription)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void GeneralDescription::InternalSwap(GeneralDescription* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_, &other->_impl_.product_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.product_version_, &other->_impl_.product_version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.os_, &other->_impl_.os_, arena);
}

// ===================================================================

LogMetadata::LogMetadata(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LogMetadata_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:media.cast.proto.LogMetadata)
}
PROTOBUF_NDEBUG_INLINE LogMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::media::cast::proto::LogMetadata& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        extra_data_(arena, from.extra_data_) {}

LogMetadata::LogMetadata(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const LogMetadata& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, LogMetadata_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  LogMetadata* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.general_description_ = (CheckHasBit(cached_has_bits, 0x00000002U))
                ? ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.general_description_)
                : nullptr;
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, is_audio_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, is_audio_),
           offsetof(Impl_, reference_timestamp_ms_at_unix_epoch_) -
               offsetof(Impl_, is_audio_) +
               sizeof(Impl_::reference_timestamp_ms_at_unix_epoch_));

  // @@protoc_insertion_point(copy_constructor:media.cast.proto.LogMetadata)
}
PROTOBUF_NDEBUG_INLINE LogMetadata::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        extra_data_(arena) {}

inline void LogMetadata::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, general_description_),
           0,
           offsetof(Impl_, reference_timestamp_ms_at_unix_epoch_) -
               offsetof(Impl_, general_description_) +
               sizeof(Impl_::reference_timestamp_ms_at_unix_epoch_));
}
LogMetadata::~LogMetadata() {
  // @@protoc_insertion_point(destructor:media.cast.proto.LogMetadata)
  SharedDtor(*this);
}
inline void LogMetadata::SharedDtor(MessageLite& self) {
  LogMetadata& this_ = static_cast<LogMetadata&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.extra_data_.Destroy();
  delete this_._impl_.general_description_;
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite LogMetadata_class_data_ =
    LogMetadata::InternalGenerateClassData_(LogMetadata_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LogMetadata::GetClassData() const {
  return LogMetadata_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
LogMetadata::GetClassData() const {
  return LogMetadata_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const LogMetadata::ParseTableT_
    LogMetadata::_table_ =
        LogMetadata::InternalGenerateParseTable_(LogMetadata_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void LogMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:media.cast.proto.LogMetadata)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.extra_data_.ClearNonDefaultToEmpty();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(_impl_.general_description_ != nullptr);
      _impl_.general_description_->Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000007cU)) {
    ::memset(&_impl_.is_audio_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.reference_timestamp_ms_at_unix_epoch_) -
        reinterpret_cast<char*>(&_impl_.is_audio_)) + sizeof(_impl_.reference_timestamp_ms_at_unix_epoch_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL LogMetadata::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const LogMetadata& this_ = static_cast<const LogMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL LogMetadata::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const LogMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:media.cast.proto.LogMetadata)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional bool is_audio = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this_._internal_is_audio(), target);
  }

  // optional uint32 first_rtp_timestamp = 2;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this_._internal_first_rtp_timestamp(), target);
  }

  // optional int32 num_frame_events = 3;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<3>(
            stream, this_._internal_num_frame_events(), target);
  }

  // optional int32 num_packet_events = 4;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_num_packet_events(), target);
  }

  // optional int64 reference_timestamp_ms_at_unix_epoch = 5;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_reference_timestamp_ms_at_unix_epoch(), target);
  }

  // optional string extra_data = 6;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    const ::std::string& _s = this_._internal_extra_data();
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // optional .media.cast.proto.GeneralDescription general_description = 7;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, *this_._impl_.general_description_, this_._impl_.general_description_->GetCachedSize(), target,
        stream);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:media.cast.proto.LogMetadata)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t LogMetadata::ByteSizeLong(const MessageLite& base) {
  const LogMetadata& this_ = static_cast<const LogMetadata&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t LogMetadata::ByteSizeLong() const {
  const LogMetadata& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:media.cast.proto.LogMetadata)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000004U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x0000007bU)) {
    // optional string extra_data = 6;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                      this_._internal_extra_data());
    }
    // optional .media.cast.proto.GeneralDescription general_description = 7;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += 1 +
                    ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.general_description_);
    }
    // optional uint32 first_rtp_timestamp = 2;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_first_rtp_timestamp());
    }
    // optional int32 num_frame_events = 3;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_frame_events());
    }
    // optional int32 num_packet_events = 4;
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_num_packet_events());
    }
    // optional int64 reference_timestamp_ms_at_unix_epoch = 5;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_reference_timestamp_ms_at_unix_epoch());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void LogMetadata::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<LogMetadata*>(&to_msg);
  auto& from = static_cast<const LogMetadata&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:media.cast.proto.LogMetadata)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000007fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_set_extra_data(from._internal_extra_data());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      ABSL_DCHECK(from._impl_.general_description_ != nullptr);
      if (_this->_impl_.general_description_ == nullptr) {
        _this->_impl_.general_description_ = ::google::protobuf::MessageLite::CopyConstruct(arena, *from._impl_.general_description_);
      } else {
        _this->_impl_.general_description_->MergeFrom(*from._impl_.general_description_);
      }
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.is_audio_ = from._impl_.is_audio_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.first_rtp_timestamp_ = from._impl_.first_rtp_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.num_frame_events_ = from._impl_.num_frame_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.num_packet_events_ = from._impl_.num_packet_events_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.reference_timestamp_ms_at_unix_epoch_ = from._impl_.reference_timestamp_ms_at_unix_epoch_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void LogMetadata::CopyFrom(const LogMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:media.cast.proto.LogMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void LogMetadata::InternalSwap(LogMetadata* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extra_data_, &other->_impl_.extra_data_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.reference_timestamp_ms_at_unix_epoch_)
      + sizeof(LogMetadata::_impl_.reference_timestamp_ms_at_unix_epoch_)
      - PROTOBUF_FIELD_OFFSET(LogMetadata, _impl_.general_description_)>(
          reinterpret_cast<char*>(&_impl_.general_description_),
          reinterpret_cast<char*>(&other->_impl_.general_description_));
}

// ===================================================================

AggregatedFrameEvent::AggregatedFrameEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AggregatedFrameEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:media.cast.proto.AggregatedFrameEvent)
}
PROTOBUF_NDEBUG_INLINE AggregatedFrameEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::media::cast::proto::AggregatedFrameEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        event_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::media::cast::proto::AggregatedFrameEvent,
              PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_type_)>()
          , from.event_type_
        }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::media::cast::proto::AggregatedFrameEvent,
              PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_timestamp_ms_)>()
          , from.event_timestamp_ms_
        }
        ,
        _event_timestamp_ms_cached_byte_size_{0} {}

AggregatedFrameEvent::AggregatedFrameEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AggregatedFrameEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AggregatedFrameEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AggregatedFrameEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, relative_rtp_timestamp_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, relative_rtp_timestamp_),
           offsetof(Impl_, idealized_bitrate_percent_utilized_) -
               offsetof(Impl_, relative_rtp_timestamp_) +
               sizeof(Impl_::idealized_bitrate_percent_utilized_));

  // @@protoc_insertion_point(copy_constructor:media.cast.proto.AggregatedFrameEvent)
}
PROTOBUF_NDEBUG_INLINE AggregatedFrameEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        event_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedFrameEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_type_)>()
         }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedFrameEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedFrameEvent, _impl_.event_timestamp_ms_)>()
         }
        ,
        _event_timestamp_ms_cached_byte_size_{0} {}

inline void AggregatedFrameEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, relative_rtp_timestamp_),
           0,
           offsetof(Impl_, idealized_bitrate_percent_utilized_) -
               offsetof(Impl_, relative_rtp_timestamp_) +
               sizeof(Impl_::idealized_bitrate_percent_utilized_));
}
AggregatedFrameEvent::~AggregatedFrameEvent() {
  // @@protoc_insertion_point(destructor:media.cast.proto.AggregatedFrameEvent)
  SharedDtor(*this);
}
inline void AggregatedFrameEvent::SharedDtor(MessageLite& self) {
  AggregatedFrameEvent& this_ = static_cast<AggregatedFrameEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AggregatedFrameEvent_class_data_ =
    AggregatedFrameEvent::InternalGenerateClassData_(AggregatedFrameEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AggregatedFrameEvent::GetClassData() const {
  return AggregatedFrameEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AggregatedFrameEvent::GetClassData() const {
  return AggregatedFrameEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AggregatedFrameEvent::ParseTableT_
    AggregatedFrameEvent::_table_ =
        AggregatedFrameEvent::InternalGenerateParseTable_(AggregatedFrameEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AggregatedFrameEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:media.cast.proto.AggregatedFrameEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.event_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.event_timestamp_ms_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x000000fcU)) {
    ::memset(&_impl_.relative_rtp_timestamp_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.width_) -
        reinterpret_cast<char*>(&_impl_.relative_rtp_timestamp_)) + sizeof(_impl_.width_));
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    ::memset(&_impl_.height_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.idealized_bitrate_percent_utilized_) -
        reinterpret_cast<char*>(&_impl_.height_)) + sizeof(_impl_.idealized_bitrate_percent_utilized_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL AggregatedFrameEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const AggregatedFrameEvent& this_ = static_cast<const AggregatedFrameEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL AggregatedFrameEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const AggregatedFrameEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:media.cast.proto.AggregatedFrameEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 relative_rtp_timestamp = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_relative_rtp_timestamp(), target);
  }

  // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._event_type_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_event_type(), byte_size, target);
      }
    }
  }

  // repeated int64 event_timestamp_ms = 3 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      int byte_size = this_._impl_._event_timestamp_ms_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt64Packed(
            3, this_._internal_event_timestamp_ms(), byte_size, target);
      }
    }
  }

  // optional int32 encoded_frame_size = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_encoded_frame_size(), target);
  }

  // optional int64 delay_millis = 5;
  if (CheckHasBit(cached_has_bits, 0x00000010U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt64ToArrayWithField<5>(
            stream, this_._internal_delay_millis(), target);
  }

  // optional bool key_frame = 6;
  if (CheckHasBit(cached_has_bits, 0x00000020U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this_._internal_key_frame(), target);
  }

  // optional int32 target_bitrate = 7;
  if (CheckHasBit(cached_has_bits, 0x00000040U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<7>(
            stream, this_._internal_target_bitrate(), target);
  }

  // optional int32 width = 8;
  if (CheckHasBit(cached_has_bits, 0x00000080U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<8>(
            stream, this_._internal_width(), target);
  }

  // optional int32 height = 9;
  if (CheckHasBit(cached_has_bits, 0x00000100U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<9>(
            stream, this_._internal_height(), target);
  }

  // optional int32 encoder_cpu_percent_utilized = 10;
  if (CheckHasBit(cached_has_bits, 0x00000200U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<10>(
            stream, this_._internal_encoder_cpu_percent_utilized(), target);
  }

  // optional int32 idealized_bitrate_percent_utilized = 11;
  if (CheckHasBit(cached_has_bits, 0x00000400U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<11>(
            stream, this_._internal_idealized_bitrate_percent_utilized(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:media.cast.proto.AggregatedFrameEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AggregatedFrameEvent::ByteSizeLong(const MessageLite& base) {
  const AggregatedFrameEvent& this_ = static_cast<const AggregatedFrameEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AggregatedFrameEvent::ByteSizeLong() const {
  const AggregatedFrameEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:media.cast.proto.AggregatedFrameEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  total_size += static_cast<bool>(0x00000020U & cached_has_bits) * 2;
  if (BatchCheckHasBit(cached_has_bits, 0x000000dfU)) {
    // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_event_type(), 1, this_._impl_._event_type_cached_byte_size_);
    }
    // repeated int64 event_timestamp_ms = 3 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_event_timestamp_ms(), 1,
              this_._impl_._event_timestamp_ms_cached_byte_size_);
    }
    // optional uint32 relative_rtp_timestamp = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_relative_rtp_timestamp());
    }
    // optional int32 encoded_frame_size = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_encoded_frame_size());
    }
    // optional int64 delay_millis = 5;
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
          this_._internal_delay_millis());
    }
    // optional int32 target_bitrate = 7;
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_target_bitrate());
    }
    // optional int32 width = 8;
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_width());
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    // optional int32 height = 9;
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_height());
    }
    // optional int32 encoder_cpu_percent_utilized = 10;
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_encoder_cpu_percent_utilized());
    }
    // optional int32 idealized_bitrate_percent_utilized = 11;
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_idealized_bitrate_percent_utilized());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AggregatedFrameEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AggregatedFrameEvent*>(&to_msg);
  auto& from = static_cast<const AggregatedFrameEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:media.cast.proto.AggregatedFrameEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x000000ffU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_event_type()->MergeFrom(from._internal_event_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_event_timestamp_ms()->MergeFrom(from._internal_event_timestamp_ms());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.relative_rtp_timestamp_ = from._impl_.relative_rtp_timestamp_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.encoded_frame_size_ = from._impl_.encoded_frame_size_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000010U)) {
      _this->_impl_.delay_millis_ = from._impl_.delay_millis_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000020U)) {
      _this->_impl_.key_frame_ = from._impl_.key_frame_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000040U)) {
      _this->_impl_.target_bitrate_ = from._impl_.target_bitrate_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000080U)) {
      _this->_impl_.width_ = from._impl_.width_;
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x00000700U)) {
    if (CheckHasBit(cached_has_bits, 0x00000100U)) {
      _this->_impl_.height_ = from._impl_.height_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000200U)) {
      _this->_impl_.encoder_cpu_percent_utilized_ = from._impl_.encoder_cpu_percent_utilized_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000400U)) {
      _this->_impl_.idealized_bitrate_percent_utilized_ = from._impl_.idealized_bitrate_percent_utilized_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void AggregatedFrameEvent::CopyFrom(const AggregatedFrameEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:media.cast.proto.AggregatedFrameEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AggregatedFrameEvent::InternalSwap(AggregatedFrameEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.event_type_.InternalSwap(&other->_impl_.event_type_);
  _impl_.event_timestamp_ms_.InternalSwap(&other->_impl_.event_timestamp_ms_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.idealized_bitrate_percent_utilized_)
      + sizeof(AggregatedFrameEvent::_impl_.idealized_bitrate_percent_utilized_)
      - PROTOBUF_FIELD_OFFSET(AggregatedFrameEvent, _impl_.relative_rtp_timestamp_)>(
          reinterpret_cast<char*>(&_impl_.relative_rtp_timestamp_),
          reinterpret_cast<char*>(&other->_impl_.relative_rtp_timestamp_));
}

// ===================================================================

BasePacketEvent::BasePacketEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BasePacketEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:media.cast.proto.BasePacketEvent)
}
PROTOBUF_NDEBUG_INLINE BasePacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::media::cast::proto::BasePacketEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        event_type_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::media::cast::proto::BasePacketEvent,
              PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_type_)>()
          , from.event_type_
        }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::media::cast::proto::BasePacketEvent,
              PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_timestamp_ms_)>()
          , from.event_timestamp_ms_
        }
        ,
        _event_timestamp_ms_cached_byte_size_{0} {}

BasePacketEvent::BasePacketEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const BasePacketEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, BasePacketEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  BasePacketEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  ::memcpy(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, packet_id_),
           reinterpret_cast<const char*>(&from._impl_) +
               offsetof(Impl_, packet_id_),
           offsetof(Impl_, size_) -
               offsetof(Impl_, packet_id_) +
               sizeof(Impl_::size_));

  // @@protoc_insertion_point(copy_constructor:media.cast.proto.BasePacketEvent)
}
PROTOBUF_NDEBUG_INLINE BasePacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        event_type_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::BasePacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_type_)>()
         }
        ,
        _event_type_cached_byte_size_{0},
        event_timestamp_ms_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::BasePacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::BasePacketEvent, _impl_.event_timestamp_ms_)>()
         }
        ,
        _event_timestamp_ms_cached_byte_size_{0} {}

inline void BasePacketEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char*>(&_impl_) +
               offsetof(Impl_, packet_id_),
           0,
           offsetof(Impl_, size_) -
               offsetof(Impl_, packet_id_) +
               sizeof(Impl_::size_));
}
BasePacketEvent::~BasePacketEvent() {
  // @@protoc_insertion_point(destructor:media.cast.proto.BasePacketEvent)
  SharedDtor(*this);
}
inline void BasePacketEvent::SharedDtor(MessageLite& self) {
  BasePacketEvent& this_ = static_cast<BasePacketEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite BasePacketEvent_class_data_ =
    BasePacketEvent::InternalGenerateClassData_(BasePacketEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BasePacketEvent::GetClassData() const {
  return BasePacketEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
BasePacketEvent::GetClassData() const {
  return BasePacketEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const BasePacketEvent::ParseTableT_
    BasePacketEvent::_table_ =
        BasePacketEvent::InternalGenerateParseTable_(BasePacketEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void BasePacketEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:media.cast.proto.BasePacketEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _impl_.event_type_.Clear();
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _impl_.event_timestamp_ms_.Clear();
    }
  }
  if (BatchCheckHasBit(cached_has_bits, 0x0000000cU)) {
    ::memset(&_impl_.packet_id_, 0, static_cast<::size_t>(
        reinterpret_cast<char*>(&_impl_.size_) -
        reinterpret_cast<char*>(&_impl_.packet_id_)) + sizeof(_impl_.size_));
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL BasePacketEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const BasePacketEvent& this_ = static_cast<const BasePacketEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL BasePacketEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const BasePacketEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:media.cast.proto.BasePacketEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional int32 packet_id = 1;
  if (CheckHasBit(cached_has_bits, 0x00000004U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<1>(
            stream, this_._internal_packet_id(), target);
  }

  // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    {
      ::size_t byte_size = this_._impl_._event_type_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteEnumPacked(
            2, this_._internal_event_type(), byte_size, target);
      }
    }
  }

  // repeated int64 event_timestamp_ms = 3 [packed = true];
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    {
      int byte_size = this_._impl_._event_timestamp_ms_cached_byte_size_.Get();
      if (byte_size > 0) {
        target = stream->WriteInt64Packed(
            3, this_._internal_event_timestamp_ms(), byte_size, target);
      }
    }
  }

  // optional int32 size = 4;
  if (CheckHasBit(cached_has_bits, 0x00000008U)) {
    target =
        ::google::protobuf::internal::WireFormatLite::WriteInt32ToArrayWithField<4>(
            stream, this_._internal_size(), target);
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:media.cast.proto.BasePacketEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t BasePacketEvent::ByteSizeLong(const MessageLite& base) {
  const BasePacketEvent& this_ = static_cast<const BasePacketEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t BasePacketEvent::ByteSizeLong() const {
  const BasePacketEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:media.cast.proto.BasePacketEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    // repeated .media.cast.proto.EventType event_type = 2 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += ::_pbi::WireFormatLite::EnumSizeWithPackedTagSize(
          this_._internal_event_type(), 1, this_._impl_._event_type_cached_byte_size_);
    }
    // repeated int64 event_timestamp_ms = 3 [packed = true];
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size +=
          ::_pbi::WireFormatLite::Int64SizeWithPackedTagSize(
              this_._internal_event_timestamp_ms(), 1,
              this_._impl_._event_timestamp_ms_cached_byte_size_);
    }
    // optional int32 packet_id = 1;
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_packet_id());
    }
    // optional int32 size = 4;
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
          this_._internal_size());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void BasePacketEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<BasePacketEvent*>(&to_msg);
  auto& from = static_cast<const BasePacketEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(class_specific_merge_from_start:media.cast.proto.BasePacketEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x0000000fU)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_event_type()->MergeFrom(from._internal_event_type());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_internal_mutable_event_timestamp_ms()->MergeFrom(from._internal_event_timestamp_ms());
    }
    if (CheckHasBit(cached_has_bits, 0x00000004U)) {
      _this->_impl_.packet_id_ = from._impl_.packet_id_;
    }
    if (CheckHasBit(cached_has_bits, 0x00000008U)) {
      _this->_impl_.size_ = from._impl_.size_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void BasePacketEvent::CopyFrom(const BasePacketEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:media.cast.proto.BasePacketEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void BasePacketEvent::InternalSwap(BasePacketEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.event_type_.InternalSwap(&other->_impl_.event_type_);
  _impl_.event_timestamp_ms_.InternalSwap(&other->_impl_.event_timestamp_ms_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.size_)
      + sizeof(BasePacketEvent::_impl_.size_)
      - PROTOBUF_FIELD_OFFSET(BasePacketEvent, _impl_.packet_id_)>(
          reinterpret_cast<char*>(&_impl_.packet_id_),
          reinterpret_cast<char*>(&other->_impl_.packet_id_));
}

// ===================================================================

AggregatedPacketEvent::AggregatedPacketEvent(::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AggregatedPacketEvent_get_class_data()) {
#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:media.cast.proto.AggregatedPacketEvent)
}
PROTOBUF_NDEBUG_INLINE AggregatedPacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
    [[maybe_unused]] const ::media::cast::proto::AggregatedPacketEvent& from_msg)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        base_packet_event_ {
          visibility, ::_pbi::InternalMetadataOffset::Build<
              ::media::cast::proto::AggregatedPacketEvent,
              PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedPacketEvent, _impl_.base_packet_event_)>()
          , from.base_packet_event_
        }
     {}

AggregatedPacketEvent::AggregatedPacketEvent(
    ::google::protobuf::Arena* PROTOBUF_NULLABLE arena,
    const AggregatedPacketEvent& from)
#if defined(PROTOBUF_CUSTOM_VTABLE)
    : ::google::protobuf::MessageLite(arena, AggregatedPacketEvent_get_class_data()) {

#else   // PROTOBUF_CUSTOM_VTABLE
    : ::google::protobuf::MessageLite(arena) {
#endif  // PROTOBUF_CUSTOM_VTABLE
  AggregatedPacketEvent* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from);
  _impl_.relative_rtp_timestamp_ = from._impl_.relative_rtp_timestamp_;

  // @@protoc_insertion_point(copy_constructor:media.cast.proto.AggregatedPacketEvent)
}
PROTOBUF_NDEBUG_INLINE AggregatedPacketEvent::Impl_::Impl_(
    [[maybe_unused]] ::google::protobuf::internal::InternalVisibility visibility,
    [[maybe_unused]] ::google::protobuf::Arena* PROTOBUF_NULLABLE arena)
      : _cached_size_{0},
        base_packet_event_ { visibility, ::_pbi::InternalMetadataOffset::Build<
            ::media::cast::proto::AggregatedPacketEvent,
            PROTOBUF_FIELD_OFFSET(::media::cast::proto::AggregatedPacketEvent, _impl_.base_packet_event_)>()
         }
     {}

inline void AggregatedPacketEvent::SharedCtor(::_pb::Arena* PROTOBUF_NULLABLE arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.relative_rtp_timestamp_ = {};
}
AggregatedPacketEvent::~AggregatedPacketEvent() {
  // @@protoc_insertion_point(destructor:media.cast.proto.AggregatedPacketEvent)
  SharedDtor(*this);
}
inline void AggregatedPacketEvent::SharedDtor(MessageLite& self) {
  AggregatedPacketEvent& this_ = static_cast<AggregatedPacketEvent&>(self);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  this_._internal_metadata_.Delete<::std::string>();
  ABSL_DCHECK(this_.GetArena() == nullptr);
  this_._impl_.~Impl_();
}

#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::google::protobuf::internal::ClassDataLite AggregatedPacketEvent_class_data_ =
    AggregatedPacketEvent::InternalGenerateClassData_(AggregatedPacketEvent_globals_._default);

PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AggregatedPacketEvent::GetClassData() const {
  return AggregatedPacketEvent_class_data_.base();
}
#else
PROTOBUF_ATTRIBUTE_WEAK const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL
AggregatedPacketEvent::GetClassData() const {
  return AggregatedPacketEvent_globals_.GetClassData();
}
#endif  // !PROTOBUF_MESSAGE_GLOBALS
#ifndef PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_CONSTINIT
PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 const AggregatedPacketEvent::ParseTableT_
    AggregatedPacketEvent::_table_ =
        AggregatedPacketEvent::InternalGenerateParseTable_(AggregatedPacketEvent_class_data_.base());
#endif  // !PROTOBUF_MESSAGE_GLOBALS
PROTOBUF_NOINLINE void AggregatedPacketEvent::Clear() {
// @@protoc_insertion_point(message_clear_start:media.cast.proto.AggregatedPacketEvent)
  ::google::protobuf::internal::TSanWrite(&_impl_);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    _impl_.base_packet_event_.Clear();
  }
  _impl_.relative_rtp_timestamp_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::std::string>();
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::uint8_t* PROTOBUF_NONNULL AggregatedPacketEvent::_InternalSerialize(
    const ::google::protobuf::MessageLite& base, ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) {
  const AggregatedPacketEvent& this_ = static_cast<const AggregatedPacketEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::uint8_t* PROTOBUF_NONNULL AggregatedPacketEvent::_InternalSerialize(
    ::uint8_t* PROTOBUF_NONNULL target,
    ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
  const AggregatedPacketEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    this_.CheckHasBitConsistency();
  }
  // @@protoc_insertion_point(serialize_to_array_start:media.cast.proto.AggregatedPacketEvent)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = this_._impl_._has_bits_[0];
  // optional uint32 relative_rtp_timestamp = 1;
  if (CheckHasBit(cached_has_bits, 0x00000002U)) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this_._internal_relative_rtp_timestamp(), target);
  }

  // repeated .media.cast.proto.BasePacketEvent base_packet_event = 2;
  if (CheckHasBit(cached_has_bits, 0x00000001U)) {
    for (unsigned i = 0, n = static_cast<unsigned>(
                             this_._internal_base_packet_event_size());
         i < n; i++) {
      const auto& repfield = this_._internal_base_packet_event().Get(i);
      target =
          ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
              2, repfield, repfield.GetCachedSize(),
              target, stream);
    }
  }

  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    target = stream->WriteRaw(
        this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).data(),
        static_cast<int>(this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size()), target);
  }
  // @@protoc_insertion_point(serialize_to_array_end:media.cast.proto.AggregatedPacketEvent)
  return target;
}

#if defined(PROTOBUF_CUSTOM_VTABLE)
::size_t AggregatedPacketEvent::ByteSizeLong(const MessageLite& base) {
  const AggregatedPacketEvent& this_ = static_cast<const AggregatedPacketEvent&>(base);
#else   // PROTOBUF_CUSTOM_VTABLE
::size_t AggregatedPacketEvent::ByteSizeLong() const {
  const AggregatedPacketEvent& this_ = *this;
#endif  // PROTOBUF_CUSTOM_VTABLE
  // @@protoc_insertion_point(message_byte_size_start:media.cast.proto.AggregatedPacketEvent)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void)cached_has_bits;

  ::_pbi::Prefetch5LinesFrom7Lines(&this_);
  cached_has_bits = this_._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    // repeated .media.cast.proto.BasePacketEvent base_packet_event = 2;
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      total_size += 1UL * this_._internal_base_packet_event_size();
      for (const auto& msg : this_._internal_base_packet_event()) {
        total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
      }
    }
    // optional uint32 relative_rtp_timestamp = 1;
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
          this_._internal_relative_rtp_timestamp());
    }
  }
  if (ABSL_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) {
    total_size += this_._internal_metadata_.unknown_fields<::std::string>(::google::protobuf::internal::GetEmptyString).size();
  }
  this_._impl_._cached_size_.Set(::_pbi::ToCachedSize(total_size));
  return total_size;
}

void AggregatedPacketEvent::MergeImpl(::google::protobuf::MessageLite& to_msg,
                      const ::google::protobuf::MessageLite& from_msg) {
   auto* const _this = static_cast<AggregatedPacketEvent*>(&to_msg);
  auto& from = static_cast<const AggregatedPacketEvent&>(from_msg);
  if constexpr (::_pbi::DebugHardenCheckHasBitConsistency()) {
    from.CheckHasBitConsistency();
  }
  ::google::protobuf::Arena* arena = _this->GetArena();
  // @@protoc_insertion_point(class_specific_merge_from_start:media.cast.proto.AggregatedPacketEvent)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (BatchCheckHasBit(cached_has_bits, 0x00000003U)) {
    if (CheckHasBit(cached_has_bits, 0x00000001U)) {
      _this->_internal_mutable_base_packet_event()->InternalMergeFromWithArena(
          ::google::protobuf::MessageLite::internal_visibility(), arena,
          from._internal_base_packet_event());
    }
    if (CheckHasBit(cached_has_bits, 0x00000002U)) {
      _this->_impl_.relative_rtp_timestamp_ = from._impl_.relative_rtp_timestamp_;
    }
  }
  _this->_impl_._has_bits_[0] |= cached_has_bits;
  _this->_internal_metadata_.MergeFrom<::std::string>(
      from._internal_metadata_);
}

void AggregatedPacketEvent::CopyFrom(const AggregatedPacketEvent& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:media.cast.proto.AggregatedPacketEvent)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}


void AggregatedPacketEvent::InternalSwap(AggregatedPacketEvent* PROTOBUF_RESTRICT PROTOBUF_NONNULL other) {
  using ::std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.base_packet_event_.InternalSwap(&other->_impl_.base_packet_event_);
  swap(_impl_.relative_rtp_timestamp_, other->_impl_.relative_rtp_timestamp_);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace proto
}  // namespace cast
}  // namespace media
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
