Remove unused GenericPacket* from RTC event log

The GenericPacketSent/Received were added for the discontinued 'plugglable media transport' project.

Bug: None
Change-Id: Ieabc0f3a1a179ec5088eadc994b242da9ae772c9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/417680
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45955}
diff --git a/api/rtc_event_log/rtc_event.h b/api/rtc_event_log/rtc_event.h
index e77cd8d..31938ff 100644
--- a/api/rtc_event_log/rtc_event.h
+++ b/api/rtc_event_log/rtc_event.h
@@ -53,8 +53,6 @@
     RtpPacketOutgoing,
     VideoReceiveStreamConfig,
     VideoSendStreamConfig,
-    GenericPacketSent,
-    GenericPacketReceived,
     FrameDecoded,
     NetEqSetMinimumDelay,
     BeginV3Log = 0x2501580,
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index c386930..0a0f27e 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -218,25 +218,6 @@
   ]
 }
 
-rtc_library("rtc_event_generic_packet_events") {
-  visibility = [ "*" ]
-  sources = [
-    "rtc_event_log/events/rtc_event_generic_packet_received.cc",
-    "rtc_event_log/events/rtc_event_generic_packet_received.h",
-    "rtc_event_log/events/rtc_event_generic_packet_sent.cc",
-    "rtc_event_log/events/rtc_event_generic_packet_sent.h",
-  ]
-  deps = [
-    ":rtc_event_field",
-    ":rtc_event_log_parse_status",
-    "../api:array_view",
-    "../api/rtc_event_log",
-    "../api/units:timestamp",
-    "//third_party/abseil-cpp/absl/memory",
-    "//third_party/abseil-cpp/absl/strings:string_view",
-  ]
-}
-
 rtc_library("rtc_event_rtp_rtcp") {
   visibility = [ "*" ]
   sources = [
@@ -382,7 +363,6 @@
       ":rtc_event_bwe_update_scream",
       ":rtc_event_field",
       ":rtc_event_frame_events",
-      ":rtc_event_generic_packet_events",
       ":rtc_event_log2_proto",
       ":rtc_event_log_api",
       ":rtc_event_log_blob_encoding",
@@ -530,7 +510,6 @@
       ":rtc_event_bwe",
       ":rtc_event_bwe_update_scream",
       ":rtc_event_frame_events",
-      ":rtc_event_generic_packet_events",
       ":rtc_event_log2_proto",
       ":rtc_event_log_blob_encoding",
       ":rtc_event_log_delta_encoding",
@@ -603,7 +582,6 @@
         ":rtc_event_bwe_update_scream",
         ":rtc_event_field",
         ":rtc_event_frame_events",
-        ":rtc_event_generic_packet_events",
         ":rtc_event_log2_proto",
         ":rtc_event_log2_proto_include",
         ":rtc_event_log_api",
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
index f3d204e..fc42907 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
@@ -380,8 +380,6 @@
       RTC_DCHECK_NOTREACHED();
       break;
     case RtcEvent::Type::RouteChangeEvent:
-    case RtcEvent::Type::GenericPacketReceived:
-    case RtcEvent::Type::GenericPacketSent:
     case RtcEvent::Type::FrameDecoded:
     case RtcEvent::Type::NetEqSetMinimumDelay:
       // These are unsupported in the old format, but shouldn't crash.
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
index f7d70af..ab7297e 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.cc
@@ -46,8 +46,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_transport_state.h"
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h"
@@ -728,9 +726,6 @@
     std::vector<const RtcEventDtlsWritableState*> dtls_writable_states;
     std::map<uint32_t /* SSRC */, std::vector<const RtcEventFrameDecoded*>>
         frames_decoded;
-    std::vector<const RtcEventGenericAckReceived*> generic_acks_received;
-    std::vector<const RtcEventGenericPacketReceived*> generic_packets_received;
-    std::vector<const RtcEventGenericPacketSent*> generic_packets_sent;
     std::vector<const RtcEventIceCandidatePair*> ice_candidate_events;
     std::vector<const RtcEventIceCandidatePairConfig*> ice_candidate_configs;
     std::vector<const RtcEventProbeClusterCreated*>
@@ -897,19 +892,6 @@
           ice_candidate_events.push_back(rtc_event);
           break;
         }
-        case RtcEvent::Type::GenericPacketReceived: {
-          auto* rtc_event =
-              static_cast<const RtcEventGenericPacketReceived* const>(
-                  it->get());
-          generic_packets_received.push_back(rtc_event);
-          break;
-        }
-        case RtcEvent::Type::GenericPacketSent: {
-          auto* rtc_event =
-              static_cast<const RtcEventGenericPacketSent* const>(it->get());
-          generic_packets_sent.push_back(rtc_event);
-          break;
-        }
         case RtcEvent::Type::FrameDecoded: {
           auto* rtc_event =
               static_cast<const RtcEventFrameDecoded* const>(it->get());
@@ -950,8 +932,6 @@
     for (const auto& kv : frames_decoded) {
       EncodeFramesDecoded(kv.second, &event_stream);
     }
-    EncodeGenericPacketsReceived(generic_packets_received, &event_stream);
-    EncodeGenericPacketsSent(generic_packets_sent, &event_stream);
     EncodeIceCandidatePairConfig(ice_candidate_configs, &event_stream);
     EncodeIceCandidatePairEvent(ice_candidate_events, &event_stream);
     EncodeProbeClusterCreated(probe_cluster_created_events, &event_stream);
@@ -1751,136 +1731,6 @@
   }
 }
 
-void RtcEventLogEncoderNewFormat::EncodeGenericPacketsSent(
-    ArrayView<const RtcEventGenericPacketSent*> batch,
-    rtclog2::EventStream* event_stream) {
-  if (batch.empty()) {
-    return;
-  }
-  const RtcEventGenericPacketSent* const base_event = batch[0];
-  rtclog2::GenericPacketSent* proto_batch =
-      event_stream->add_generic_packets_sent();
-  proto_batch->set_timestamp_ms(base_event->timestamp_ms());
-  proto_batch->set_packet_number(base_event->packet_number());
-  proto_batch->set_overhead_length(base_event->overhead_length());
-  proto_batch->set_payload_length(base_event->payload_length());
-  proto_batch->set_padding_length(base_event->padding_length());
-
-  // Delta encoding
-  proto_batch->set_number_of_deltas(batch.size() - 1);
-  std::vector<std::optional<uint64_t>> values(batch.size() - 1);
-  std::string encoded_deltas;
-
-  if (batch.size() == 1) {
-    return;
-  }
-
-  // timestamp_ms
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketSent* event = batch[i + 1];
-    values[i] = ToUnsigned(event->timestamp_ms());
-  }
-  encoded_deltas = EncodeDeltas(ToUnsigned(base_event->timestamp_ms()), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_timestamp_ms_deltas(encoded_deltas);
-  }
-
-  // packet_number
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketSent* event = batch[i + 1];
-    values[i] = ToUnsigned(event->packet_number());
-  }
-  encoded_deltas =
-      EncodeDeltas(ToUnsigned(base_event->packet_number()), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_packet_number_deltas(encoded_deltas);
-  }
-
-  // overhead_length
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketSent* event = batch[i + 1];
-    values[i] = event->overhead_length();
-  }
-  encoded_deltas = EncodeDeltas(base_event->overhead_length(), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_overhead_length_deltas(encoded_deltas);
-  }
-
-  // payload_length
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketSent* event = batch[i + 1];
-    values[i] = event->payload_length();
-  }
-  encoded_deltas = EncodeDeltas(base_event->payload_length(), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_payload_length_deltas(encoded_deltas);
-  }
-
-  // padding_length
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketSent* event = batch[i + 1];
-    values[i] = event->padding_length();
-  }
-  encoded_deltas = EncodeDeltas(base_event->padding_length(), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_padding_length_deltas(encoded_deltas);
-  }
-}
-
-void RtcEventLogEncoderNewFormat::EncodeGenericPacketsReceived(
-    ArrayView<const RtcEventGenericPacketReceived*> batch,
-    rtclog2::EventStream* event_stream) {
-  if (batch.empty()) {
-    return;
-  }
-  const RtcEventGenericPacketReceived* const base_event = batch[0];
-  rtclog2::GenericPacketReceived* proto_batch =
-      event_stream->add_generic_packets_received();
-  proto_batch->set_timestamp_ms(base_event->timestamp_ms());
-  proto_batch->set_packet_number(base_event->packet_number());
-  proto_batch->set_packet_length(base_event->packet_length());
-
-  // Delta encoding
-  proto_batch->set_number_of_deltas(batch.size() - 1);
-  std::vector<std::optional<uint64_t>> values(batch.size() - 1);
-  std::string encoded_deltas;
-
-  if (batch.size() == 1) {
-    return;
-  }
-
-  // timestamp_ms
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketReceived* event = batch[i + 1];
-    values[i] = ToUnsigned(event->timestamp_ms());
-  }
-  encoded_deltas = EncodeDeltas(ToUnsigned(base_event->timestamp_ms()), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_timestamp_ms_deltas(encoded_deltas);
-  }
-
-  // packet_number
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketReceived* event = batch[i + 1];
-    values[i] = ToUnsigned(event->packet_number());
-  }
-  encoded_deltas =
-      EncodeDeltas(ToUnsigned(base_event->packet_number()), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_packet_number_deltas(encoded_deltas);
-  }
-
-  // packet_length
-  for (size_t i = 0; i < values.size(); ++i) {
-    const RtcEventGenericPacketReceived* event = batch[i + 1];
-    values[i] = event->packet_length();
-  }
-  encoded_deltas = EncodeDeltas(base_event->packet_length(), values);
-  if (!encoded_deltas.empty()) {
-    proto_batch->set_packet_length_deltas(encoded_deltas);
-  }
-}
-
 void RtcEventLogEncoderNewFormat::EncodeRtpPacketOutgoing(
     const std::map<uint32_t, std::vector<const RtcEventRtpPacketOutgoing*>>&
         batch,
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h b/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h
index 0c49845..57e6f8d 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_new_format.h
@@ -57,9 +57,6 @@
 class RtcEventIceCandidatePair;
 class RtpPacket;
 class RtcEventFrameDecoded;
-class RtcEventGenericAckReceived;
-class RtcEventGenericPacketReceived;
-class RtcEventGenericPacketSent;
 
 class RtcEventLogEncoderNewFormat final : public RtcEventLogEncoder {
  public:
@@ -105,12 +102,6 @@
       rtclog2::EventStream* event_stream);
   void EncodeFramesDecoded(ArrayView<const RtcEventFrameDecoded* const> batch,
                            rtclog2::EventStream* event_stream);
-  void EncodeGenericPacketsReceived(
-      ArrayView<const RtcEventGenericPacketReceived*> batch,
-      rtclog2::EventStream* event_stream);
-  void EncodeGenericPacketsSent(
-      ArrayView<const RtcEventGenericPacketSent*> batch,
-      rtclog2::EventStream* event_stream);
   void EncodeIceCandidatePairConfig(
       ArrayView<const RtcEventIceCandidatePairConfig*> batch,
       rtclog2::EventStream* event_stream);
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
index e654884..ac0059b 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_unittest.cc
@@ -643,56 +643,6 @@
   }
 }
 
-TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketReceived) {
-  if (encoding_type_ == RtcEventLog::EncodingType::Legacy) {
-    return;
-  }
-  std::unique_ptr<RtcEventLogEncoder> encoder = CreateEncoder();
-  std::vector<std::unique_ptr<RtcEventGenericPacketReceived>> events(
-      event_count_);
-  for (size_t i = 0; i < event_count_; ++i) {
-    events[i] = (i == 0 || !force_repeated_fields_)
-                    ? gen_.NewGenericPacketReceived()
-                    : events[0]->Copy();
-    history_.push_back(events[i]->Copy());
-  }
-
-  encoded_ += encoder->EncodeBatch(history_.begin(), history_.end());
-  ASSERT_TRUE(parsed_log_.ParseString(encoded_).ok());
-
-  const auto& packets_received = parsed_log_.generic_packets_received();
-  ASSERT_EQ(packets_received.size(), event_count_);
-
-  for (size_t i = 0; i < event_count_; ++i) {
-    verifier_.VerifyLoggedGenericPacketReceived(*events[i],
-                                                packets_received[i]);
-  }
-}
-
-TEST_P(RtcEventLogEncoderTest, RtcEventGenericPacketSent) {
-  if (encoding_type_ == RtcEventLog::EncodingType::Legacy) {
-    return;
-  }
-  std::unique_ptr<RtcEventLogEncoder> encoder = CreateEncoder();
-  std::vector<std::unique_ptr<RtcEventGenericPacketSent>> events(event_count_);
-  for (size_t i = 0; i < event_count_; ++i) {
-    events[i] = (i == 0 || !force_repeated_fields_)
-                    ? gen_.NewGenericPacketSent()
-                    : events[0]->Copy();
-    history_.push_back(events[i]->Copy());
-  }
-
-  encoded_ += encoder->EncodeBatch(history_.begin(), history_.end());
-  ASSERT_TRUE(parsed_log_.ParseString(encoded_).ok());
-
-  const auto& packets_sent = parsed_log_.generic_packets_sent();
-  ASSERT_EQ(packets_sent.size(), event_count_);
-
-  for (size_t i = 0; i < event_count_; ++i) {
-    verifier_.VerifyLoggedGenericPacketSent(*events[i], packets_sent[i]);
-  }
-}
-
 TEST_P(RtcEventLogEncoderTest, RtcEventDtlsTransportState) {
   std::unique_ptr<RtcEventLogEncoder> encoder = CreateEncoder();
   std::vector<std::unique_ptr<RtcEventDtlsTransportState>> events(event_count_);
diff --git a/logging/rtc_event_log/encoder/rtc_event_log_encoder_v3.cc b/logging/rtc_event_log/encoder/rtc_event_log_encoder_v3.cc
index 9856836..7be4d9a 100644
--- a/logging/rtc_event_log/encoder/rtc_event_log_encoder_v3.cc
+++ b/logging/rtc_event_log/encoder/rtc_event_log_encoder_v3.cc
@@ -31,8 +31,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_probe_cluster_created.h"
@@ -92,10 +90,6 @@
   encoders_[RtcEvent::Type::DtlsWritableState] =
       RtcEventDtlsWritableState::Encode;
   encoders_[RtcEvent::Type::FrameDecoded] = RtcEventFrameDecoded::Encode;
-  encoders_[RtcEvent::Type::GenericPacketReceived] =
-      RtcEventGenericPacketReceived::Encode;
-  encoders_[RtcEvent::Type::GenericPacketSent] =
-      RtcEventGenericPacketSent::Encode;
   encoders_[RtcEvent::Type::IceCandidatePairConfig] =
       RtcEventIceCandidatePairConfig::Encode;
   encoders_[RtcEvent::Type::IceCandidatePairEvent] =
diff --git a/logging/rtc_event_log/events/rtc_event_generic_packet_received.cc b/logging/rtc_event_log/events/rtc_event_generic_packet_received.cc
deleted file mode 100644
index 8908757..0000000
--- a/logging/rtc_event_log/events/rtc_event_generic_packet_received.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- *  Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
-
-#include "absl/memory/memory.h"
-
-namespace webrtc {
-
-RtcEventGenericPacketReceived::RtcEventGenericPacketReceived(
-    int64_t packet_number,
-    size_t packet_length)
-    : packet_number_(packet_number), packet_length_(packet_length) {}
-
-RtcEventGenericPacketReceived::~RtcEventGenericPacketReceived() = default;
-
-std::unique_ptr<RtcEventGenericPacketReceived>
-RtcEventGenericPacketReceived::Copy() const {
-  return absl::WrapUnique(new RtcEventGenericPacketReceived(*this));
-}
-
-}  // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_generic_packet_received.h b/logging/rtc_event_log/events/rtc_event_generic_packet_received.h
deleted file mode 100644
index 3277ddb..0000000
--- a/logging/rtc_event_log/events/rtc_event_generic_packet_received.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- *  Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_RECEIVED_H_
-#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_RECEIVED_H_
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "absl/strings/string_view.h"
-#include "api/array_view.h"
-#include "api/rtc_event_log/rtc_event.h"
-#include "api/units/timestamp.h"
-#include "logging/rtc_event_log/events/rtc_event_log_parse_status.h"
-
-namespace webrtc {
-
-struct LoggedGenericPacketReceived {
-  LoggedGenericPacketReceived() = default;
-  LoggedGenericPacketReceived(Timestamp timestamp,
-                              int64_t packet_number,
-                              int packet_length)
-      : timestamp(timestamp),
-        packet_number(packet_number),
-        packet_length(packet_length) {}
-
-  int64_t log_time_us() const { return timestamp.us(); }
-  int64_t log_time_ms() const { return timestamp.ms(); }
-  Timestamp log_time() const { return timestamp; }
-
-  Timestamp timestamp = Timestamp::MinusInfinity();
-  int64_t packet_number;
-  int packet_length;
-};
-
-class RtcEventGenericPacketReceived final : public RtcEvent {
- public:
-  static constexpr Type kType = Type::GenericPacketReceived;
-
-  RtcEventGenericPacketReceived(int64_t packet_number, size_t packet_length);
-  ~RtcEventGenericPacketReceived() override;
-
-  std::unique_ptr<RtcEventGenericPacketReceived> Copy() const;
-
-  Type GetType() const override { return kType; }
-  bool IsConfigEvent() const override { return false; }
-
-  // An identifier of the packet.
-  int64_t packet_number() const { return packet_number_; }
-
-  // Total packet length, including all packetization overheads, but not
-  // including ICE/TURN/IP overheads.
-  size_t packet_length() const { return packet_length_; }
-
-  static std::string Encode(ArrayView<const RtcEvent*> /* batch */) {
-    // TODO(terelius): Implement
-    return "";
-  }
-
-  static RtcEventLogParseStatus Parse(
-      absl::string_view /* encoded_bytes */,
-      bool /* batched */,
-      std::vector<LoggedGenericPacketReceived>& /* output */) {
-    // TODO(terelius): Implement
-    return RtcEventLogParseStatus::Error("Not Implemented", __FILE__, __LINE__);
-  }
-
- private:
-  RtcEventGenericPacketReceived(const RtcEventGenericPacketReceived&) = default;
-
-  const int64_t packet_number_;
-  const size_t packet_length_;
-};
-
-}  // namespace webrtc
-
-#endif  // LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_RECEIVED_H_
diff --git a/logging/rtc_event_log/events/rtc_event_generic_packet_sent.cc b/logging/rtc_event_log/events/rtc_event_generic_packet_sent.cc
deleted file mode 100644
index 3902633..0000000
--- a/logging/rtc_event_log/events/rtc_event_generic_packet_sent.cc
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- *  Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
-
-#include "absl/memory/memory.h"
-
-namespace webrtc {
-
-RtcEventGenericPacketSent::RtcEventGenericPacketSent(int64_t packet_number,
-                                                     size_t overhead_length,
-                                                     size_t payload_length,
-                                                     size_t padding_length)
-    : packet_number_(packet_number),
-      overhead_length_(overhead_length),
-      payload_length_(payload_length),
-      padding_length_(padding_length) {}
-
-RtcEventGenericPacketSent::~RtcEventGenericPacketSent() = default;
-
-std::unique_ptr<RtcEventGenericPacketSent> RtcEventGenericPacketSent::Copy()
-    const {
-  return absl::WrapUnique(new RtcEventGenericPacketSent(*this));
-}
-
-}  // namespace webrtc
diff --git a/logging/rtc_event_log/events/rtc_event_generic_packet_sent.h b/logging/rtc_event_log/events/rtc_event_generic_packet_sent.h
deleted file mode 100644
index 076bc02..0000000
--- a/logging/rtc_event_log/events/rtc_event_generic_packet_sent.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- *  Copyright (c) 2019 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_SENT_H_
-#define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_SENT_H_
-
-#include <cstddef>
-#include <cstdint>
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "absl/strings/string_view.h"
-#include "api/array_view.h"
-#include "api/rtc_event_log/rtc_event.h"
-#include "api/units/timestamp.h"
-#include "logging/rtc_event_log/events/rtc_event_log_parse_status.h"
-
-namespace webrtc {
-
-struct LoggedGenericPacketSent {
-  LoggedGenericPacketSent() = default;
-  LoggedGenericPacketSent(Timestamp timestamp,
-                          int64_t packet_number,
-                          size_t overhead_length,
-                          size_t payload_length,
-                          size_t padding_length)
-      : timestamp(timestamp),
-        packet_number(packet_number),
-        overhead_length(overhead_length),
-        payload_length(payload_length),
-        padding_length(padding_length) {}
-
-  int64_t log_time_us() const { return timestamp.us(); }
-  int64_t log_time_ms() const { return timestamp.ms(); }
-  Timestamp log_time() const { return timestamp; }
-
-  size_t packet_length() const {
-    return payload_length + padding_length + overhead_length;
-  }
-  Timestamp timestamp = Timestamp::MinusInfinity();
-  int64_t packet_number;
-  size_t overhead_length;
-  size_t payload_length;
-  size_t padding_length;
-};
-
-class RtcEventGenericPacketSent final : public RtcEvent {
- public:
-  static constexpr Type kType = Type::GenericPacketSent;
-
-  RtcEventGenericPacketSent(int64_t packet_number,
-                            size_t overhead_length,
-                            size_t payload_length,
-                            size_t padding_length);
-  ~RtcEventGenericPacketSent() override;
-
-  std::unique_ptr<RtcEventGenericPacketSent> Copy() const;
-
-  Type GetType() const override { return kType; }
-  bool IsConfigEvent() const override { return false; }
-
-  // An identifier of the packet.
-  int64_t packet_number() const { return packet_number_; }
-
-  // Total packet length, including all packetization overheads, but not
-  // including ICE/TURN/IP overheads.
-  size_t packet_length() const {
-    return overhead_length_ + payload_length_ + padding_length_;
-  }
-
-  // The number of bytes in overhead, including framing overheads, acks if
-  // present, etc.
-  size_t overhead_length() const { return overhead_length_; }
-
-  // Length of payload sent (size of raw audio/video/data), without
-  // packetization overheads. This may still include serialization overheads.
-  size_t payload_length() const { return payload_length_; }
-
-  size_t padding_length() const { return padding_length_; }
-
-  static std::string Encode(ArrayView<const RtcEvent*> /* batch */) {
-    // TODO(terelius): Implement
-    return "";
-  }
-
-  static RtcEventLogParseStatus Parse(
-      absl::string_view /* encoded_bytes */,
-      bool /* batched */,
-      std::vector<LoggedGenericPacketSent>& /* output */) {
-    // TODO(terelius): Implement
-    return RtcEventLogParseStatus::Error("Not Implemented", __FILE__, __LINE__);
-  }
-
- private:
-  RtcEventGenericPacketSent(const RtcEventGenericPacketSent&) = default;
-
-  const int64_t packet_number_;
-  const size_t overhead_length_;
-  const size_t payload_length_;
-  const size_t padding_length_;
-};
-
-}  // namespace webrtc
-
-#endif  // LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_GENERIC_PACKET_SENT_H_
diff --git a/logging/rtc_event_log/rtc_event_log2.proto b/logging/rtc_event_log/rtc_event_log2.proto
index ada2cc0..a60af88 100644
--- a/logging/rtc_event_log/rtc_event_log2.proto
+++ b/logging/rtc_event_log/rtc_event_log2.proto
@@ -36,8 +36,9 @@
   repeated IceCandidatePairEvent ice_candidate_events = 26;
   repeated DtlsTransportStateEvent dtls_transport_state_events = 27;
   repeated DtlsWritableState dtls_writable_states = 28;
-  repeated GenericPacketSent generic_packets_sent = 29;
-  repeated GenericPacketReceived generic_packets_received = 30;
+  repeated GenericPacketSent generic_packets_sent = 29 [deprecated = true];
+  repeated GenericPacketReceived generic_packets_received = 30
+      [deprecated = true];
   repeated GenericAckReceived generic_acks_received = 31 [deprecated = true];
   repeated RouteChange route_changes = 32;
   repeated RemoteEstimates remote_estimates = 33;
diff --git a/logging/rtc_event_log/rtc_event_log_parser.cc b/logging/rtc_event_log/rtc_event_log_parser.cc
index 762098e..1846fe9 100644
--- a/logging/rtc_event_log/rtc_event_log_parser.cc
+++ b/logging/rtc_event_log/rtc_event_log_parser.cc
@@ -51,8 +51,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_log_parse_status.h"
@@ -1371,8 +1369,6 @@
   }
   StoreFirstAndLastTimestamp(incoming_rtcp_packets());
   StoreFirstAndLastTimestamp(outgoing_rtcp_packets());
-  StoreFirstAndLastTimestamp(generic_packets_sent_);
-  StoreFirstAndLastTimestamp(generic_packets_received_);
   StoreFirstAndLastTimestamp(remote_estimate_events_);
 
   // Stop events could be missing due to file size limits. If so, use the
@@ -1599,14 +1595,6 @@
       case static_cast<uint32_t>(RtcEvent::Type::FrameDecoded):
         RtcEventFrameDecoded::Parse(event_fields, batched, decoded_frames_);
         break;
-      case static_cast<uint32_t>(RtcEvent::Type::GenericPacketReceived):
-        RtcEventGenericPacketReceived::Parse(event_fields, batched,
-                                             generic_packets_received_);
-        break;
-      case static_cast<uint32_t>(RtcEvent::Type::GenericPacketSent):
-        RtcEventGenericPacketSent::Parse(event_fields, batched,
-                                         generic_packets_sent_);
-        break;
       case static_cast<uint32_t>(RtcEvent::Type::IceCandidatePairConfig):
         RtcEventIceCandidatePairConfig::Parse(event_fields, batched,
                                               ice_candidate_pair_configs_);
@@ -2789,10 +2777,11 @@
     return StoreVideoRecvConfig(stream.video_recv_stream_configs(0));
   } else if (stream.video_send_stream_configs_size() == 1) {
     return StoreVideoSendConfig(stream.video_send_stream_configs(0));
-  } else if (stream.generic_packets_received_size() == 1) {
-    return StoreGenericPacketReceivedEvent(stream.generic_packets_received(0));
-  } else if (stream.generic_packets_sent_size() == 1) {
-    return StoreGenericPacketSentEvent(stream.generic_packets_sent(0));
+  } else if (stream.generic_packets_received_size() == 1 ||
+             stream.generic_packets_sent_size() == 1 ||
+             stream.generic_acks_received_size() == 1) {
+    // Generic packet type is deprecated. Ignore the proto event.
+    return ParseStatus::Success();
   } else if (stream.frame_decoded_events_size() == 1) {
     return StoreFrameDecodedEvents(stream.frame_decoded_events(0));
   } else if (stream.neteq_set_minimum_delay_size() == 1) {
@@ -3438,124 +3427,6 @@
   return ParseStatus::Success();
 }
 
-ParsedRtcEventLog::ParseStatus ParsedRtcEventLog::StoreGenericPacketSentEvent(
-    const rtclog2::GenericPacketSent& proto) {
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_timestamp_ms());
-
-  // Base event
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_packet_number());
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_overhead_length());
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_payload_length());
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_padding_length());
-
-  generic_packets_sent_.push_back(
-      {Timestamp::Millis(proto.timestamp_ms()), proto.packet_number(),
-       static_cast<size_t>(proto.overhead_length()),
-       static_cast<size_t>(proto.payload_length()),
-       static_cast<size_t>(proto.padding_length())});
-
-  const size_t number_of_deltas =
-      proto.has_number_of_deltas() ? proto.number_of_deltas() : 0u;
-  if (number_of_deltas == 0) {
-    return ParseStatus::Success();
-  }
-
-  // timestamp_ms
-  std::vector<std::optional<uint64_t>> timestamp_ms_values =
-      DecodeDeltas(proto.timestamp_ms_deltas(),
-                   ToUnsigned(proto.timestamp_ms()), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(timestamp_ms_values.size(), number_of_deltas);
-
-  // packet_number
-  std::vector<std::optional<uint64_t>> packet_number_values =
-      DecodeDeltas(proto.packet_number_deltas(),
-                   ToUnsigned(proto.packet_number()), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(packet_number_values.size(), number_of_deltas);
-
-  std::vector<std::optional<uint64_t>> overhead_length_values =
-      DecodeDeltas(proto.overhead_length_deltas(), proto.overhead_length(),
-                   number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(overhead_length_values.size(), number_of_deltas);
-
-  std::vector<std::optional<uint64_t>> payload_length_values = DecodeDeltas(
-      proto.payload_length_deltas(), proto.payload_length(), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(payload_length_values.size(), number_of_deltas);
-
-  std::vector<std::optional<uint64_t>> padding_length_values = DecodeDeltas(
-      proto.padding_length_deltas(), proto.padding_length(), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(padding_length_values.size(), number_of_deltas);
-
-  for (size_t i = 0; i < number_of_deltas; i++) {
-    int64_t timestamp_ms;
-    RTC_PARSE_CHECK_OR_RETURN(
-        ToSigned(timestamp_ms_values[i].value(), &timestamp_ms));
-    int64_t packet_number;
-    RTC_PARSE_CHECK_OR_RETURN(
-        ToSigned(packet_number_values[i].value(), &packet_number));
-    RTC_PARSE_CHECK_OR_RETURN(overhead_length_values[i].has_value());
-    RTC_PARSE_CHECK_OR_RETURN(payload_length_values[i].has_value());
-    RTC_PARSE_CHECK_OR_RETURN(padding_length_values[i].has_value());
-    generic_packets_sent_.push_back(
-        {Timestamp::Millis(timestamp_ms), packet_number,
-         static_cast<size_t>(overhead_length_values[i].value()),
-         static_cast<size_t>(payload_length_values[i].value()),
-         static_cast<size_t>(padding_length_values[i].value())});
-  }
-  return ParseStatus::Success();
-}
-
-ParsedRtcEventLog::ParseStatus
-ParsedRtcEventLog::StoreGenericPacketReceivedEvent(
-    const rtclog2::GenericPacketReceived& proto) {
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_timestamp_ms());
-
-  // Base event
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_packet_number());
-  RTC_PARSE_CHECK_OR_RETURN(proto.has_packet_length());
-
-  generic_packets_received_.push_back({Timestamp::Millis(proto.timestamp_ms()),
-                                       proto.packet_number(),
-                                       proto.packet_length()});
-
-  const size_t number_of_deltas =
-      proto.has_number_of_deltas() ? proto.number_of_deltas() : 0u;
-  if (number_of_deltas == 0) {
-    return ParseStatus::Success();
-  }
-
-  // timestamp_ms
-  std::vector<std::optional<uint64_t>> timestamp_ms_values =
-      DecodeDeltas(proto.timestamp_ms_deltas(),
-                   ToUnsigned(proto.timestamp_ms()), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(timestamp_ms_values.size(), number_of_deltas);
-
-  // packet_number
-  std::vector<std::optional<uint64_t>> packet_number_values =
-      DecodeDeltas(proto.packet_number_deltas(),
-                   ToUnsigned(proto.packet_number()), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(packet_number_values.size(), number_of_deltas);
-
-  std::vector<std::optional<uint64_t>> packet_length_values = DecodeDeltas(
-      proto.packet_length_deltas(), proto.packet_length(), number_of_deltas);
-  RTC_PARSE_CHECK_OR_RETURN_EQ(packet_length_values.size(), number_of_deltas);
-
-  for (size_t i = 0; i < number_of_deltas; i++) {
-    int64_t timestamp_ms;
-    RTC_PARSE_CHECK_OR_RETURN(
-        ToSigned(timestamp_ms_values[i].value(), &timestamp_ms));
-    int64_t packet_number;
-    RTC_PARSE_CHECK_OR_RETURN(
-        ToSigned(packet_number_values[i].value(), &packet_number));
-    RTC_PARSE_CHECK_OR_RETURN_LE(packet_length_values[i].value(),
-                                 std::numeric_limits<int32_t>::max());
-    int32_t packet_length =
-        static_cast<int32_t>(packet_length_values[i].value());
-    generic_packets_received_.push_back(
-        {Timestamp::Millis(timestamp_ms), packet_number, packet_length});
-  }
-  return ParseStatus::Success();
-}
-
 ParsedRtcEventLog::ParseStatus
 ParsedRtcEventLog::StoreAudioNetworkAdaptationEvent(
     const rtclog2::AudioNetworkAdaptations& proto) {
diff --git a/logging/rtc_event_log/rtc_event_log_parser.h b/logging/rtc_event_log/rtc_event_log_parser.h
index 9ecf121..5ff5012 100644
--- a/logging/rtc_event_log/rtc_event_log_parser.h
+++ b/logging/rtc_event_log/rtc_event_log_parser.h
@@ -41,8 +41,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_log_parse_status.h"
@@ -657,14 +655,6 @@
     }
   }
 
-  const std::vector<LoggedGenericPacketReceived>& generic_packets_received()
-      const {
-    return generic_packets_received_;
-  }
-  const std::vector<LoggedGenericPacketSent>& generic_packets_sent() const {
-    return generic_packets_sent_;
-  }
-
   // Media
   const std::map<uint32_t, std::vector<LoggedFrameDecoded>>& decoded_frames()
       const {
@@ -778,10 +768,6 @@
   ParseStatus StoreDtlsWritableState(const rtclog2::DtlsWritableState& proto);
   ParsedRtcEventLog::ParseStatus StoreFrameDecodedEvents(
       const rtclog2::FrameDecodedEvents& proto);
-  ParseStatus StoreGenericPacketReceivedEvent(
-      const rtclog2::GenericPacketReceived& proto);
-  ParseStatus StoreGenericPacketSentEvent(
-      const rtclog2::GenericPacketSent& proto);
   ParseStatus StoreIceCandidateEvent(
       const rtclog2::IceCandidatePairEvent& proto);
   ParseStatus StoreIceCandidatePairConfig(
@@ -919,9 +905,6 @@
   std::vector<LoggedVideoRecvConfig> video_recv_configs_;
   std::vector<LoggedVideoSendConfig> video_send_configs_;
 
-  std::vector<LoggedGenericPacketReceived> generic_packets_received_;
-  std::vector<LoggedGenericPacketSent> generic_packets_sent_;
-
   std::vector<LoggedRouteChangeEvent> route_change_events_;
   std::vector<LoggedRemoteEstimateEvent> remote_estimate_events_;
 
diff --git a/logging/rtc_event_log/rtc_event_log_unittest.cc b/logging/rtc_event_log/rtc_event_log_unittest.cc
index 4e589cf..58f9b5e 100644
--- a/logging/rtc_event_log/rtc_event_log_unittest.cc
+++ b/logging/rtc_event_log/rtc_event_log_unittest.cc
@@ -37,8 +37,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_transport_state.h"
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_probe_cluster_created.h"
@@ -95,8 +93,6 @@
   size_t outgoing_rtp_packets = 0;
   size_t incoming_rtcp_packets = 0;
   size_t outgoing_rtcp_packets = 0;
-  size_t generic_packets_sent = 0;
-  size_t generic_packets_received = 0;
 
   size_t total_nonconfig_events() const {
     return alr_states + route_changes + audio_playouts + ana_configs +
@@ -104,8 +100,7 @@
            dtls_transport_states + dtls_writable_states + frame_decoded_events +
            probe_creations + probe_successes + probe_failures + ice_configs +
            ice_events + incoming_rtp_packets + outgoing_rtp_packets +
-           incoming_rtcp_packets + outgoing_rtcp_packets +
-           generic_packets_sent + generic_packets_received;
+           incoming_rtcp_packets + outgoing_rtcp_packets;
   }
 
   size_t total_config_events() const {
@@ -198,9 +193,6 @@
       dtls_writable_state_list_;
   std::map<uint32_t, std::vector<std::unique_ptr<RtcEventFrameDecoded>>>
       frame_decoded_event_map_;
-  std::vector<std::unique_ptr<RtcEventGenericPacketReceived>>
-      generic_packets_received_;
-  std::vector<std::unique_ptr<RtcEventGenericPacketSent>> generic_packets_sent_;
   std::vector<std::unique_ptr<RtcEventIceCandidatePair>> ice_event_list_;
   std::vector<std::unique_ptr<RtcEventIceCandidatePairConfig>> ice_config_list_;
   std::vector<std::unique_ptr<RtcEventProbeClusterCreated>>
@@ -578,24 +570,6 @@
     }
     selection -= count.outgoing_rtcp_packets;
 
-    if (selection < count.generic_packets_sent) {
-      auto event = gen_.NewGenericPacketSent();
-      generic_packets_sent_.push_back(event->Copy());
-      event_log->Log(std::move(event));
-      count.generic_packets_sent--;
-      continue;
-    }
-    selection -= count.generic_packets_sent;
-
-    if (selection < count.generic_packets_received) {
-      auto event = gen_.NewGenericPacketReceived();
-      generic_packets_received_.push_back(event->Copy());
-      event_log->Log(std::move(event));
-      count.generic_packets_received--;
-      continue;
-    }
-    selection -= count.generic_packets_received;
-
     RTC_DCHECK_NOTREACHED();
   }
 
@@ -817,21 +791,6 @@
                                           parsed_video_send_configs[i]);
   }
 
-  auto& parsed_generic_packets_received = parsed_log.generic_packets_received();
-  ASSERT_EQ(parsed_generic_packets_received.size(),
-            generic_packets_received_.size());
-  for (size_t i = 0; i < parsed_generic_packets_received.size(); i++) {
-    verifier_.VerifyLoggedGenericPacketReceived(
-        *generic_packets_received_[i], parsed_generic_packets_received[i]);
-  }
-
-  auto& parsed_generic_packets_sent = parsed_log.generic_packets_sent();
-  ASSERT_EQ(parsed_generic_packets_sent.size(), generic_packets_sent_.size());
-  for (size_t i = 0; i < parsed_generic_packets_sent.size(); i++) {
-    verifier_.VerifyLoggedGenericPacketSent(*generic_packets_sent_[i],
-                                            parsed_generic_packets_sent[i]);
-  }
-
   EXPECT_EQ(first_timestamp_ms_, parsed_log.first_timestamp().ms());
   EXPECT_EQ(last_timestamp_ms_, parsed_log.last_timestamp().ms());
 
@@ -867,8 +826,6 @@
     count.dtls_transport_states = 4;
     count.dtls_writable_states = 2;
     count.frame_decoded_events = 50;
-    count.generic_packets_sent = 100;
-    count.generic_packets_received = 100;
     count.route_changes = 4;
     count.bwe_scream_events = 20;
   }
@@ -901,8 +858,6 @@
     count.dtls_transport_states = 4;
     count.dtls_writable_states = 5;
     count.frame_decoded_events = 250;
-    count.generic_packets_sent = 500;
-    count.generic_packets_received = 500;
     count.route_changes = 10;
     count.bwe_scream_events = 50;
   }
diff --git a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
index 3872f29..e1411e8 100644
--- a/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+++ b/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
@@ -48,8 +48,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h"
@@ -634,18 +632,6 @@
   }
 }
 
-std::unique_ptr<RtcEventGenericPacketSent>
-EventGenerator::NewGenericPacketSent() {
-  return std::make_unique<RtcEventGenericPacketSent>(
-      sent_packet_number_++, prng_.Rand(40, 50), prng_.Rand(0, 150),
-      prng_.Rand(0, 1000));
-}
-std::unique_ptr<RtcEventGenericPacketReceived>
-EventGenerator::NewGenericPacketReceived() {
-  return std::make_unique<RtcEventGenericPacketReceived>(
-      received_packet_number_++, prng_.Rand(40, 250));
-}
-
 void EventGenerator::RandomizeRtpPacket(
     size_t payload_size,
     size_t padding_size,
@@ -1193,25 +1179,6 @@
       original_event, logged_event.rtp.dependency_descriptor_wire_format);
 }
 
-void EventVerifier::VerifyLoggedGenericPacketSent(
-    const RtcEventGenericPacketSent& original_event,
-    const LoggedGenericPacketSent& logged_event) const {
-  EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
-  EXPECT_EQ(original_event.packet_number(), logged_event.packet_number);
-  EXPECT_EQ(original_event.overhead_length(), logged_event.overhead_length);
-  EXPECT_EQ(original_event.payload_length(), logged_event.payload_length);
-  EXPECT_EQ(original_event.padding_length(), logged_event.padding_length);
-}
-
-void EventVerifier::VerifyLoggedGenericPacketReceived(
-    const RtcEventGenericPacketReceived& original_event,
-    const LoggedGenericPacketReceived& logged_event) const {
-  EXPECT_EQ(original_event.timestamp_ms(), logged_event.log_time_ms());
-  EXPECT_EQ(original_event.packet_number(), logged_event.packet_number);
-  EXPECT_EQ(static_cast<int>(original_event.packet_length()),
-            logged_event.packet_length);
-}
-
 void EventVerifier::VerifyLoggedRtcpPacketIncoming(
     const RtcEventRtcpPacketIncoming& original_event,
     const LoggedRtcpPacketIncoming& logged_event) const {
diff --git a/logging/rtc_event_log/rtc_event_log_unittest_helper.h b/logging/rtc_event_log/rtc_event_log_unittest_helper.h
index 9da32b1..dd09c82 100644
--- a/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+++ b/logging/rtc_event_log/rtc_event_log_unittest_helper.h
@@ -32,8 +32,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h"
@@ -81,8 +79,6 @@
   std::unique_ptr<RtcEventDtlsTransportState> NewDtlsTransportState();
   std::unique_ptr<RtcEventDtlsWritableState> NewDtlsWritableState();
   std::unique_ptr<RtcEventFrameDecoded> NewFrameDecodedEvent(uint32_t ssrc);
-  std::unique_ptr<RtcEventGenericPacketReceived> NewGenericPacketReceived();
-  std::unique_ptr<RtcEventGenericPacketSent> NewGenericPacketSent();
   std::unique_ptr<RtcEventIceCandidatePair> NewIceCandidatePair();
   std::unique_ptr<RtcEventIceCandidatePairConfig> NewIceCandidatePairConfig();
   std::unique_ptr<RtcEventNetEqSetMinimumDelay> NewNetEqSetMinimumDelay(
@@ -154,8 +150,6 @@
 
  private:
   rtcp::ReportBlock NewReportBlock();
-  int sent_packet_number_ = 0;
-  int received_packet_number_ = 0;
 
   Random prng_;
 };
@@ -239,14 +233,6 @@
       const RtcEventRtpPacketOutgoing& original_event,
       const LoggedRtpPacketOutgoing& logged_event) const;
 
-  void VerifyLoggedGenericPacketSent(
-      const RtcEventGenericPacketSent& original_event,
-      const LoggedGenericPacketSent& logged_event) const;
-
-  void VerifyLoggedGenericPacketReceived(
-      const RtcEventGenericPacketReceived& original_event,
-      const LoggedGenericPacketReceived& logged_event) const;
-
   template <typename EventType, typename ParsedType>
   void VerifyLoggedRtpPacket(const EventType& /* original_event */,
                              const ParsedType& /* logged_event */) {
diff --git a/logging/rtc_event_log/rtc_event_processor_order.h b/logging/rtc_event_log/rtc_event_processor_order.h
index 28b83f0..6455ff1 100644
--- a/logging/rtc_event_log/rtc_event_processor_order.h
+++ b/logging/rtc_event_log/rtc_event_processor_order.h
@@ -29,8 +29,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h"
@@ -329,28 +327,6 @@
 };
 
 template <>
-class TieBreaker<LoggedGenericPacketReceived> {
- public:
-  static constexpr int type_order =
-      static_cast<int>(TypeOrder::GenericPacketIn);
-  static std::optional<uint16_t> transport_seq_num_accessor(
-      const LoggedGenericPacketReceived&) {
-    return std::optional<uint16_t>();
-  }
-};
-
-template <>
-class TieBreaker<LoggedGenericPacketSent> {
- public:
-  static constexpr int type_order =
-      static_cast<int>(TypeOrder::GenericPacketOut);
-  static std::optional<uint16_t> transport_seq_num_accessor(
-      const LoggedGenericPacketSent&) {
-    return std::optional<uint16_t>();
-  }
-};
-
-template <>
 class TieBreaker<LoggedRtpPacket> {
  public:
   static constexpr int type_order(PacketDirection direction) {
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 4ee7b14..b50bc4d 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -327,7 +327,6 @@
         "../logging:ice_log",
         "../logging:rtc_event_audio",
         "../logging:rtc_event_bwe",
-        "../logging:rtc_event_generic_packet_events",
         "../logging:rtc_event_log_parser",
         "../logging:rtc_event_rtp_rtcp",
         "../logging:rtc_stream_config",
@@ -491,7 +490,6 @@
           "../logging:rtc_event_bwe",
           "../logging:rtc_event_bwe_update_scream",
           "../logging:rtc_event_frame_events",
-          "../logging:rtc_event_generic_packet_events",
           "../logging:rtc_event_log2_proto",
           "../logging:rtc_event_log_impl_encoder",
           "../logging:rtc_event_log_parser",
diff --git a/rtc_tools/rtc_event_log_to_text/converter.cc b/rtc_tools/rtc_event_log_to_text/converter.cc
index 9067422..dd6018f 100644
--- a/rtc_tools/rtc_event_log_to_text/converter.cc
+++ b/rtc_tools/rtc_event_log_to_text/converter.cc
@@ -35,8 +35,6 @@
 #include "logging/rtc_event_log/events/rtc_event_dtls_writable_state.h"
 #include "logging/rtc_event_log/events/rtc_event_end_log.h"
 #include "logging/rtc_event_log/events/rtc_event_frame_decoded.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/events/rtc_event_neteq_set_minimum_delay.h"
@@ -499,23 +497,6 @@
                 GetLabel(direction), msg.log_time_ms());
       };
 
-  auto generic_packet_received_handler =
-      [&](const LoggedGenericPacketReceived& event) {
-        fprintf(output,
-                "GENERIC_PACKET_RECV %" PRId64 " packet_num=%" PRId64
-                " length=%d\n",
-                event.log_time_ms(), event.packet_number, event.packet_length);
-      };
-
-  auto generic_packet_sent_handler = [&](const LoggedGenericPacketSent& event) {
-    fprintf(output,
-            "GENERIC_PACKET_SENT %" PRId64 " packet_num=%" PRId64
-            " overhead_length=%zu "
-            "payload_length=%zu padding_length=%zu\n",
-            event.log_time_ms(), event.packet_number, event.overhead_length,
-            event.payload_length, event.padding_length);
-  };
-
   auto decoded_frame_handler = [&](const LoggedFrameDecoded& event) {
     static const std::map<VideoCodecType, std::string> codec_name{
         {VideoCodecType::kVideoCodecGeneric, "GENERIC"},
@@ -702,12 +683,6 @@
                           loss_notification_handler, kOutgoingPacket),
                       kOutgoingPacket);
 
-  // Generic packets
-  processor.AddEvents(parsed_log.generic_packets_received(),
-                      generic_packet_received_handler);
-  processor.AddEvents(parsed_log.generic_packets_sent(),
-                      generic_packet_sent_handler);
-
   // Video frames
   for (const auto& kv : parsed_log.decoded_frames()) {
     processor.AddEvents(kv.second, decoded_frame_handler);
diff --git a/rtc_tools/rtc_event_log_visualizer/analyzer.cc b/rtc_tools/rtc_event_log_visualizer/analyzer.cc
index f625f4d..6599a62 100644
--- a/rtc_tools/rtc_event_log_visualizer/analyzer.cc
+++ b/rtc_tools/rtc_event_log_visualizer/analyzer.cc
@@ -45,8 +45,6 @@
 #include "api/units/time_delta.h"
 #include "api/units/timestamp.h"
 #include "logging/rtc_event_log/events/logged_rtp_rtcp.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_received.h"
-#include "logging/rtc_event_log/events/rtc_event_generic_packet_sent.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h"
 #include "logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h"
 #include "logging/rtc_event_log/rtc_event_log_parser.h"
@@ -1235,17 +1233,6 @@
   }
   plot->AppendTimeSeriesIfNotEmpty(std::move(remb_series));
 
-  if (!parsed_log_.generic_packets_received().empty()) {
-    TimeSeries time_series("Incoming generic bitrate", LineStyle::kLine);
-    auto GetPacketSizeKilobits = [](const LoggedGenericPacketReceived& packet) {
-      return packet.packet_length * 8.0 / 1000.0;
-    };
-    MovingAverage<LoggedGenericPacketReceived, double>(
-        GetPacketSizeKilobits, parsed_log_.generic_packets_received(), config_,
-        &time_series);
-    plot->AppendTimeSeries(std::move(time_series));
-  }
-
   plot->SetXAxis(config_.CallBeginTimeSec(), config_.CallEndTimeSec(),
                  "Time (s)", kLeftMargin, kRightMargin);
   plot->SetSuggestedYAxis(0, 1, "Bitrate (kbps)", kBottomMargin, kTopMargin);
@@ -1446,32 +1433,6 @@
   }
   plot->AppendTimeSeriesIfNotEmpty(std::move(remb_series));
 
-  if (!parsed_log_.generic_packets_sent().empty()) {
-    {
-      TimeSeries time_series("Outgoing generic total bitrate",
-                             LineStyle::kLine);
-      auto GetPacketSizeKilobits = [](const LoggedGenericPacketSent& packet) {
-        return packet.packet_length() * 8.0 / 1000.0;
-      };
-      MovingAverage<LoggedGenericPacketSent, double>(
-          GetPacketSizeKilobits, parsed_log_.generic_packets_sent(), config_,
-          &time_series);
-      plot->AppendTimeSeries(std::move(time_series));
-    }
-
-    {
-      TimeSeries time_series("Outgoing generic payload bitrate",
-                             LineStyle::kLine);
-      auto GetPacketSizeKilobits = [](const LoggedGenericPacketSent& packet) {
-        return packet.payload_length * 8.0 / 1000.0;
-      };
-      MovingAverage<LoggedGenericPacketSent, double>(
-          GetPacketSizeKilobits, parsed_log_.generic_packets_sent(), config_,
-          &time_series);
-      plot->AppendTimeSeries(std::move(time_series));
-    }
-  }
-
   plot->SetXAxis(config_.CallBeginTimeSec(), config_.CallEndTimeSec(),
                  "Time (s)", kLeftMargin, kRightMargin);
   plot->SetSuggestedYAxis(0, 1, "Bitrate (kbps)", kBottomMargin, kTopMargin);