diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index 8df5380..055d712 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -203,6 +203,7 @@
     "../../api/audio_codecs:audio_codecs_api",
     "../../api/video:video_bitrate_allocation",
     "../../api/video:video_bitrate_allocator",
+    "../../api/video:video_frame",
     "../../api/video_codecs:video_codecs_api",
     "../../common_video",
     "../../logging:rtc_event_audio",
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index e0347f0..ba04b5c 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -160,7 +160,9 @@
       overhead_observer_(overhead_observer),
       populate_network2_timestamp_(populate_network2_timestamp),
       send_side_bwe_with_overhead_(
-          webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")) {
+          webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")),
+      unlimited_retransmission_experiment_(
+          field_trial::IsEnabled("WebRTC-UnlimitedScreenshareRetransmission")) {
   // This random initialization is not intended to be cryptographic strong.
   timestamp_offset_ = random_.Rand<uint32_t>();
   // Random start, 16 bits. Can't be 0.
@@ -412,6 +414,11 @@
       *transport_frame_id_out = rtp_timestamp;
     if (!sending_media_)
       return true;
+
+    // Cache video content type.
+    if (!audio_configured_ && rtp_header) {
+      video_content_type_ = rtp_header->content_type;
+    }
   }
   VideoCodecType video_type = kVideoCodecGeneric;
   if (CheckPayloadType(payload_type, &video_type) != 0) {
@@ -643,10 +650,21 @@
 
   const int32_t packet_size = static_cast<int32_t>(stored_packet->payload_size);
 
+  // Skip retransmission rate check if sending screenshare and the experiment
+  // is on.
+  bool skip_retransmission_rate_limit;
+  {
+    rtc::CritScope lock(&send_critsect_);
+    skip_retransmission_rate_limit =
+        unlimited_retransmission_experiment_ && video_content_type_ &&
+        videocontenttypehelpers::IsScreenshare(*video_content_type_);
+  }
+
   RTC_DCHECK(retransmission_rate_limiter_);
   // Check if we're overusing retransmission bitrate.
   // TODO(sprang): Add histograms for nack success or failure reasons.
-  if (!retransmission_rate_limiter_->TryUseRate(packet_size)) {
+  if (!skip_retransmission_rate_limit &&
+      !retransmission_rate_limiter_->TryUseRate(packet_size)) {
     return -1;
   }
 
diff --git a/modules/rtp_rtcp/source/rtp_sender.h b/modules/rtp_rtcp/source/rtp_sender.h
index 5ff4a0f..7f66d24 100644
--- a/modules/rtp_rtcp/source/rtp_sender.h
+++ b/modules/rtp_rtcp/source/rtp_sender.h
@@ -20,6 +20,7 @@
 #include "absl/types/optional.h"
 #include "api/array_view.h"
 #include "api/call/transport.h"
+#include "api/video/video_content_type.h"
 #include "common_types.h"  // NOLINT(build/include)
 #include "modules/rtp_rtcp/include/flexfec_sender.h"
 #include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
@@ -338,6 +339,11 @@
 
   const bool send_side_bwe_with_overhead_;
 
+  const bool unlimited_retransmission_experiment_;
+
+  absl::optional<VideoContentType> video_content_type_
+      RTC_GUARDED_BY(send_critsect_);
+
   RTC_DISALLOW_IMPLICIT_CONSTRUCTORS(RTPSender);
 };
 
