[chromium-vaapi/f29] Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
by Akarshan Biswas
commit 2fb109c48a3633c28852c8c75c185abb8cf24162
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Wed Feb 6 10:18:05 2019 +0530
Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
chromium-vaapi.spec | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index 13c6912..cf1d037 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -32,8 +32,13 @@
%bcond_without system_ply
# Allow testing whether icu can be unbundled
-# A patch fix building so enabled by default
+# A patch fix building so enabled by default for Fedora 30
+# Need icu version >= 63.1
+%if 0%{?fedora} >= 30
%bcond_without system_libicu
+%else
+%bcond_with system_libicu
+%endif
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
# Allow testing whether ffmpeg can be unbundled
@@ -67,7 +72,7 @@
##############################Package Definitions######################################
Name: chromium-vaapi
Version: 72.0.3626.81
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A Chromium web browser with video decoding acceleration
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -228,7 +233,9 @@ chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
%patch8 -p1 -b .silencegcc
%patch50 -p1 -b .nounrar
%patch51 -p1 -b .py2boot
+%if %{with system_libicu}
%patch52 -p1 -b .icu
+%endif
%if %{freeworld}
%patch54 -p1 -b .brand
%endif
@@ -679,6 +686,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/locales/*.pak
#########################################changelogs#################################################
%changelog
+* Wed Feb 06 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-2
+- Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
+
* Tue Feb 05 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-1
- Update to 72.0.3626.81
- Add a patch to fix missing includes in webrtc
5 years, 9 months
[chromium-vaapi] Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
by Akarshan Biswas
commit 473eed6e4d30f631e57a7c2b78d902ace04996a4
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Wed Feb 6 10:18:05 2019 +0530
Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
chromium-vaapi.spec | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index 2c7993c..a972301 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -32,8 +32,13 @@
%bcond_without system_ply
# Allow testing whether icu can be unbundled
-# A patch fix building so enabled by default
+# A patch fix building so enabled by default for Fedora 30
+# Need icu version >= 63.1
+%if 0%{?fedora} >= 30
%bcond_without system_libicu
+%else
+%bcond_with system_libicu
+%endif
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
# Allow testing whether ffmpeg can be unbundled
@@ -67,7 +72,7 @@
##############################Package Definitions######################################
Name: chromium-vaapi
Version: 72.0.3626.81
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: A Chromium web browser with video decoding acceleration
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -228,7 +233,9 @@ chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
%patch8 -p1 -b .silencegcc
%patch50 -p1 -b .nounrar
%patch51 -p1 -b .py2boot
+%if %{with system_libicu}
%patch52 -p1 -b .icu
+%endif
%if %{freeworld}
%patch54 -p1 -b .brand
%endif
@@ -679,6 +686,9 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/locales/*.pak
#########################################changelogs#################################################
%changelog
+* Wed Feb 06 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-2
+- Rebundle icu for fedora 29 and fedora 28; Need icu version >= 63.1
+
* Tue Feb 05 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-1
- Update to 72.0.3626.81
- Add a patch to fix missing includes in webrtc
5 years, 9 months
[chromium-vaapi/f28] Update to 72.0.3626.81 Add a patch to fix missing includes in webrtc ozone updates (WIP) Fix gn wher
by Akarshan Biswas
commit 2601950df659a772c300c0d88f51f610374c57b3
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Tue Feb 5 15:23:23 2019 +0530
Update to 72.0.3626.81 Add a patch to fix missing includes in webrtc ozone updates (WIP) Fix gn where it now needs gold linker in bootstrap remove clang building implementation in this spec (out of scope) Make sure chromium uses the x11 GDK backend in wayland
.gitignore | 1 +
ccompiler.patch | 170 -
chromium-71-gcc-fix.patch | 57 -
chromium-dma-buf.patch | 22 +
chromium-drm.patch | 14 +
chromium-gn-r607596.patch | 46 -
chromium-harfbuzz2.patch | 80 -
chromium-non-void-return.patch | 1670 ++++
chromium-system-icu.patch | 10 +-
chromium-vaapi.sh | 26 +-
chromium-vaapi.spec | 119 +-
chromium-webrtc-includes.patch | 16754 +++++++++++++++++++++++++++++++++++++++
enable-vaapi.patch | 303 +-
fixvaapiozone.patch | 33 +
gn-gold.patch | 24 +
llvm-arflags.patch | 26 -
nounrar.patch | 211 +-
sources | 2 +-
system-gbm.patch | 229 +
19 files changed, 19014 insertions(+), 783 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 478072e..57c83f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/chromium-70.0.3538.110.tar.xz
/chromium-71.0.3578.80.tar.xz
/chromium-71.0.3578.98.tar.xz
+/chromium-72.0.3626.81.tar.xz
diff --git a/chromium-dma-buf.patch b/chromium-dma-buf.patch
new file mode 100644
index 0000000..5d8feb5
--- /dev/null
+++ b/chromium-dma-buf.patch
@@ -0,0 +1,22 @@
+Index: chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+===================================================================
+--- chromium-72.0.3626.7.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc
++++ chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+@@ -18,9 +18,6 @@
+ #include "base/trace_event/trace_event.h"
+ #include "build/build_config.h"
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+-#include <linux/dma-buf.h>
+-#else
+ #include <linux/types.h>
+
+ struct dma_buf_sync {
+@@ -35,7 +32,6 @@ struct dma_buf_sync {
+
+ #define DMA_BUF_BASE 'b'
+ #define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
+-#endif
+
+ namespace gfx {
+
diff --git a/chromium-drm.patch b/chromium-drm.patch
new file mode 100644
index 0000000..81c9105
--- /dev/null
+++ b/chromium-drm.patch
@@ -0,0 +1,14 @@
+Index: chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+===================================================================
+--- chromium-65.0.3325.146.orig/ui/gfx/native_pixmap_handle.cc
++++ chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+@@ -12,6 +12,9 @@
+ namespace gfx {
+
+ #if defined(OS_LINUX)
++#ifndef DRM_FORMAT_MOD_INVALID
++#define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1)
++#endif
+ static_assert(NativePixmapPlane::kNoModifier == DRM_FORMAT_MOD_INVALID,
+ "gfx::NativePixmapPlane::kNoModifier should be an alias for"
+ "DRM_FORMAT_MOD_INVALID");
diff --git a/chromium-non-void-return.patch b/chromium-non-void-return.patch
new file mode 100644
index 0000000..30363a6
--- /dev/null
+++ b/chromium-non-void-return.patch
@@ -0,0 +1,1670 @@
+Index: chromium-72.0.3626.53/base/bind_internal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/base/bind_internal.h
++++ chromium-72.0.3626.53/base/bind_internal.h
+@@ -749,6 +749,7 @@ bool QueryCancellationTraitsImpl(BindSta
+ functor, std::get<indices>(bound_args)...);
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ // Relays |base| to corresponding CallbackCancellationTraits<>::Run(). Returns
+Index: chromium-72.0.3626.53/base/callback_internal.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/callback_internal.cc
++++ chromium-72.0.3626.53/base/callback_internal.cc
+@@ -21,6 +21,7 @@ bool QueryCancellationTraitsForNonCancel
+ return true;
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ } // namespace
+Index: chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/cc/input/snap_fling_controller.cc
++++ chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+@@ -26,6 +26,8 @@ bool SnapFlingController::FilterEventFor
+ case GestureScrollType::kEnd: {
+ return state_ == State::kActive || state_ == State::kFinished;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/background_fetch/background_fetch_download_client.cc
++++ chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+@@ -36,6 +36,8 @@ BackgroundFetchFailureReason ToBackgroun
+ case download::Client::FailureReason::ABORTED:
+ case download::Client::FailureReason::CANCELLED:
+ return BackgroundFetchFailureReason::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_model.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+@@ -147,6 +147,8 @@ download::DownloadItem::DownloadState Of
+ case OfflineItemState::MAX_DOWNLOAD_STATE:
+ NOTREACHED();
+ return download::DownloadItem::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_utils.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+@@ -147,6 +147,8 @@ FailState OfflineItemUtils::ConvertDownl
+ return offline_items_collection::FailState::name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -166,6 +168,8 @@ OfflineItemUtils::ConvertFailStateToDown
+ return download::DOWNLOAD_INTERRUPT_REASON_##name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
++++ chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+@@ -250,6 +250,7 @@ int& MediaStreamCaptureIndicator::WebCon
+ NOTREACHED();
+ return video_stream_count_;
+ }
++ __builtin_abort ();
+ }
+
+ MediaStreamCaptureIndicator::MediaStreamCaptureIndicator() {}
+Index: chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
++++ chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+@@ -156,6 +156,7 @@ bool IsValidStateChange(LifecycleUnitSta
+ }
+ }
+ }
++ __builtin_abort ();
+ }
+
+ StateChangeReason DiscardReasonToStateChangeReason(
+@@ -167,6 +168,8 @@ StateChangeReason DiscardReasonToStateCh
+ return StateChangeReason::BROWSER_INITIATED;
+ case LifecycleUnitDiscardReason::URGENT:
+ return StateChangeReason::SYSTEM_MEMORY_PRESSURE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+@@ -236,6 +236,8 @@ base::string16 SaveCardBubbleControllerI
+ case BubbleType::INACTIVE:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+@@ -553,6 +553,8 @@ PopupItemLayoutType AutofillPopupSuggest
+ default:
+ return PopupItemLayoutType::kTrailingIcon;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -573,6 +575,8 @@ bool AutofillPopupSuggestionView::Should
+ case ForcedFontWeight::kBold:
+ *font_weight = gfx::Font::Weight::BOLD;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+@@ -387,6 +387,7 @@ bool LocalCardMigrationDialogView::Accep
+ controller_->OnDoneButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Cancel() {
+@@ -399,6 +400,7 @@ bool LocalCardMigrationDialogView::Cance
+ controller_->OnViewCardsButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Close() {
+@@ -470,6 +472,8 @@ base::string16 LocalCardMigrationDialogV
+ case LocalCardMigrationDialogState::kActionRequired:
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_DONE);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -483,6 +487,7 @@ base::string16 LocalCardMigrationDialogV
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_VIEW_CARDS);
+ }
++ __builtin_abort ();
+ }
+
+ LocalCardMigrationDialog* CreateLocalCardMigrationDialogView(
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/material_refresh_layout_provider.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+@@ -41,6 +41,8 @@ int MaterialRefreshLayoutProvider::GetCo
+ return 8;
+ case views::EMPHASIS_MAXIMUM:
+ return std::min(size.width(), size.height()) / 2;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -58,6 +60,8 @@ int MaterialRefreshLayoutProvider::GetSh
+ return 3;
+ case views::EMPHASIS_MAXIMUM:
+ return 16;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/discards/discards_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+@@ -56,6 +56,8 @@ mojom::LifecycleUnitVisibility GetLifecy
+ return mojom::LifecycleUnitVisibility::OCCLUDED;
+ case content::Visibility::VISIBLE:
+ return mojom::LifecycleUnitVisibility::VISIBLE;
++ default:
++ __builtin_abort ();
+ }
+ #if defined(COMPILER_MSVC)
+ NOTREACHED();
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/media/media_engagement_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+@@ -100,6 +100,7 @@ class MediaEngagementScoreDetailsProvide
+ case content::AutoplayPolicy::kDocumentUserActivationRequired:
+ return "document-user-activation-required";
+ }
++ __builtin_abort ();
+ }
+
+ const std::string GetPreloadVersion() {
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_external_delegate.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+@@ -457,6 +457,8 @@ base::string16 AutofillExternalDelegate:
+ case PopupType::kPasswords:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_manager.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+@@ -271,6 +271,7 @@ PopupType AutofillManager::GetPopupType(
+
+ default:
+ NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+@@ -28,6 +28,8 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ return sync_pb::WalletMaskedCreditCard::VALID;
+ case CreditCard::EXPIRED:
+ return sync_pb::WalletMaskedCreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -38,6 +40,8 @@ CreditCard::ServerStatus ServerToLocalSt
+ return CreditCard::OK;
+ case sync_pb::WalletMaskedCreditCard::EXPIRED:
+ return CreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -82,6 +86,8 @@ const char* CardNetworkFromWalletCardTyp
+ case sync_pb::WalletMaskedCreditCard::SWITCH:
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN:
+ return kGenericCard;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -95,6 +101,7 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ case CreditCard::CARD_TYPE_PREPAID:
+ return sync_pb::WalletMaskedCreditCard::PREPAID;
+ case CreditCard::CARD_TYPE_UNKNOWN:
++ default:
+ return sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS;
+ }
+ }
+@@ -110,6 +117,8 @@ CreditCard::CardType CardTypeFromWalletC
+ return CreditCard::CARD_TYPE_PREPAID;
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS:
+ return CreditCard::CARD_TYPE_UNKNOWN;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -162,6 +171,8 @@ std::string GetClientTagForSpecificsId(
+ case AutofillWalletSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+@@ -43,6 +43,8 @@ std::string GetClientTagForSpecificsId(W
+ case WalletMetadataSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/cast_channel/cast_message_util.cc
++++ chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+@@ -362,6 +362,8 @@ const char* GetAppAvailabilityResultToSt
+ return "unavailable";
+ case GetAppAvailabilityResult::kUnknown:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
++++ chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+@@ -321,6 +321,8 @@ PageloadMetrics_ConnectionType ProtoConn
+ return PageloadMetrics_ConnectionType_CONNECTION_NONE;
+ case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH:
+ return PageloadMetrics_ConnectionType_CONNECTION_BLUETOOTH;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -363,6 +365,8 @@ ProtoLitePageRedirectStatusFromLitePageR
+ return HTTPSLitePagePreviewInfo_Status_FAILURE;
+ case previews::ServerLitePageStatus::kControl:
+ return HTTPSLitePagePreviewInfo_Status_CONTROL;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/password_manager/core/browser/browser_save_password_progress_logger.cc
++++ chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+@@ -72,6 +72,8 @@ std::string VoteTypeToString(
+ return "HTML classifier";
+ case AutofillUploadContents::Field::FIRST_USE:
+ return "First use";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/cloud/cloud_policy_util.cc
++++ chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+@@ -170,6 +170,8 @@ em::Channel ConvertToProtoChannel(versio
+ return em::CHANNEL_BETA;
+ case version_info::Channel::STABLE:
+ return em::CHANNEL_STABLE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/policy_proto_decoders.cc
++++ chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+@@ -42,6 +42,8 @@ bool GetPolicyLevel(const AnyPolicyProto
+ return true;
+ case em::PolicyOptions::UNSET:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/content/previews_hints.cc
++++ chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+@@ -124,6 +124,8 @@ base::Optional<PreviewsType> ConvertProt
+ return PreviewsType::RESOURCE_LOADING_HINTS;
+ case optimization_guide::proto::LITE_PAGE_REDIRECT:
+ return PreviewsType::LITE_PAGE_REDIRECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -148,6 +150,8 @@ net::EffectiveConnectionType ConvertProt
+ case optimization_guide::proto::EffectiveConnectionType::
+ EFFECTIVE_CONNECTION_TYPE_4G:
+ return net::EffectiveConnectionType::EFFECTIVE_CONNECTION_TYPE_4G;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/core/previews_black_list.cc
++++ chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+@@ -34,6 +34,8 @@ PreviewsEligibilityReason BlacklistReaso
+ return PreviewsEligibilityReason::ALLOWED;
+ case blacklist::BlacklistReason::kAllowed:
+ return PreviewsEligibilityReason::ALLOWED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/about_signin_internals.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+@@ -564,6 +564,8 @@ std::string AboutSigninInternals::Refres
+ return "Revoked";
+ case AboutSigninInternals::RefreshTokenEventType::kAllTokensLoaded:
+ return "Loaded";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/profile_oauth2_token_service.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+@@ -49,6 +49,8 @@ std::string SourceToString(SourceForRefr
+ return "DiceResponseHandler::Signout";
+ case SourceForRefreshTokenOperation::kDiceTurnOnSyncHelper_Abort:
+ return "DiceTurnOnSyncHelper::Abort";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -204,6 +206,8 @@ bool ProfileOAuth2TokenService::HasLoadC
+ LOAD_CREDENTIALS_FINISHED_WITH_NO_TOKEN_FOR_PRIMARY_ACCOUNT:
+ // Load credentials finished with success.
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/service/display/skia_renderer.cc
++++ chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+@@ -1278,6 +1278,8 @@ GrContext* SkiaRenderer::GetGrContext()
+ return context_provider_->GrContext();
+ case DrawMode::SKPRECORD:
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/cache_storage/cache_storage_quota_client.cc
++++ chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+@@ -98,6 +98,8 @@ storage::QuotaClient::ID CacheStorageQuo
+ return kServiceWorkerCache;
+ case CacheStorageOwner::kBackgroundFetch:
+ return kBackgroundFetch;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/frame_host/frame_tree_node.cc
++++ chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+@@ -603,6 +603,7 @@ bool FrameTreeNode::UpdateUserActivation
+ return ClearUserActivation();
+ }
+ NOTREACHED() << "Invalid update_type.";
++ __builtin_abort ();
+ }
+
+ void FrameTreeNode::OnSetHasReceivedUserGestureBeforeNavigation(bool value) {
+Index: chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/media/audio_output_stream_broker.cc
++++ chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+@@ -53,6 +53,8 @@ StreamBrokerDisconnectReason GetDisconne
+ : StreamBrokerDisconnectReason::kDocumentDestroyed;
+ case DisconnectReason::kDefault:
+ return StreamBrokerDisconnectReason::kDefault;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/input/input_event_prediction.cc
++++ chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+@@ -108,6 +108,8 @@ std::unique_ptr<ui::InputPredictor> Inpu
+ return std::make_unique<ui::LeastSquaresPredictor>();
+ case PredictorType::kKalman:
+ return std::make_unique<ui::KalmanPredictor>();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_audio_processor_options.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+@@ -99,6 +99,8 @@ AudioProcessingProperties::ToAudioProces
+ return media::EchoCancellationType::kAec3;
+ case EchoCancellationType::kEchoCancellationSystem:
+ return media::EchoCancellationType::kSystemAec;
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+@@ -554,6 +554,8 @@ blink::WebMediaStreamTrack::DisplayCaptu
+ kApplication;
+ case media::mojom::DisplayCaptureSurfaceType::BROWSER:
+ return blink::WebMediaStreamTrack::DisplayCaptureSurfaceType::kBrowser;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -566,6 +568,8 @@ blink::WebMediaStreamTrack::CursorCaptur
+ return blink::WebMediaStreamTrack::CursorCaptureType::kAlways;
+ case media::mojom::CursorCaptureType::MOTION:
+ return blink::WebMediaStreamTrack::CursorCaptureType::kMotion;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/webrtc/peer_connection_tracker.cc
++++ chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+@@ -120,6 +120,8 @@ static const char* SerializeDirection(
+ return "'recvonly'";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "'inactive'";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
++++ chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+@@ -396,6 +396,8 @@ bool BluetoothRemoteGattCharacteristic::
+ return hasNotify;
+ case NotificationType::kIndication:
+ return hasIndicate;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/extensions/browser/url_loader_factory_manager.cc
++++ chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+@@ -65,6 +65,8 @@ bool IsSpecialURLLoaderFactoryRequired(c
+ DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
+ case FactoryUser::kExtensionProcess:
+ return DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gin/v8_isolate_memory_dump_provider.cc
++++ chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+@@ -131,6 +131,8 @@ std::string IsolateTypeString(IsolateHol
+ return "test";
+ case IsolateHolder::IsolateType::kUtility:
+ return "utility";
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+@@ -147,6 +149,8 @@ bool CanHaveMultipleIsolates(IsolateHold
+ case IsolateHolder::IsolateType::kUtility:
+ // PDFium and ProxyResolver create one isolate per process.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+Index: chromium-72.0.3626.53/gpu/config/gpu_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gpu/config/gpu_info.cc
++++ chromium-72.0.3626.53/gpu/config/gpu_info.cc
+@@ -84,6 +84,8 @@ const char* OverlayFormatToString(Overla
+ return "YUY2";
+ case OverlayFormat::kNV12:
+ return "NV12";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/audio/audio_processing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/audio/audio_processing.cc
++++ chromium-72.0.3626.53/media/audio/audio_processing.cc
+@@ -19,6 +19,8 @@ std::string AudioProcessingSettings::ToS
+ return "experimental";
+ case AutomaticGainControlType::kHybridExperimental:
+ return "hybrid experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -32,6 +34,8 @@ std::string AudioProcessingSettings::ToS
+ return "aec3";
+ case EchoCancellationType::kSystemAec:
+ return "system aec";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -43,6 +47,8 @@ std::string AudioProcessingSettings::ToS
+ return "default";
+ case NoiseSuppressionType::kExperimental:
+ return "experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/media/base/decode_status.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decode_status.cc
++++ chromium-72.0.3626.53/media/base/decode_status.cc
+@@ -18,6 +18,8 @@ const char* GetDecodeStatusString(Decode
+ return "DecodeStatus::ABORTED";
+ case DecodeStatus::DECODE_ERROR:
+ return "DecodeStatus::DECODE_ERROR";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/decryptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decryptor.cc
++++ chromium-72.0.3626.53/media/base/decryptor.cc
+@@ -17,6 +17,8 @@ const char* Decryptor::GetStatusName(Sta
+ return "need_more_data";
+ case kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/demuxer_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/demuxer_stream.cc
++++ chromium-72.0.3626.53/media/base/demuxer_stream.cc
+@@ -17,6 +17,8 @@ const char* DemuxerStream::GetTypeName(T
+ return "text";
+ case DemuxerStream::UNKNOWN:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -31,6 +33,8 @@ const char* DemuxerStream::GetStatusName
+ return "config_changed";
+ case DemuxerStream::kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/watch_time_reporter.cc
++++ chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+@@ -571,6 +571,8 @@ WatchTimeKey WatchTimeReporter::GetDispl
+ return DISPLAY_TYPE_KEY(DisplayFullscreen);
+ case DisplayType::kPictureInPicture:
+ return DISPLAY_TYPE_KEY(DisplayPictureInPicture);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/webmediaplayer_impl.cc
++++ chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+@@ -197,6 +197,8 @@ EncryptionMode DetermineEncryptionMode(
+ return EncryptionMode::kCenc;
+ case EncryptionScheme::CIPHER_MODE_AES_CBC:
+ return EncryptionMode::kCbcs;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+@@ -83,6 +83,8 @@ VideoCaptureFrameDropReason ConvertReser
+ return VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded;
+ case VideoCaptureDevice::Client::ReserveResult::kAllocationFailed:
+ return VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device_descriptor.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+@@ -94,6 +94,8 @@ const char* VideoCaptureDeviceDescriptor
+ return "Virtual Device";
+ case VideoCaptureApi::UNKNOWN:
+ return "Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/cdm/cdm_helpers.cc
++++ chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+@@ -25,6 +25,8 @@ gfx::ColorSpace::RangeID ToGfxColorSpace
+ return gfx::ColorSpace::RangeID::FULL;
+ case cdm::ColorRange::kDerived:
+ return gfx::ColorSpace::RangeID::DERIVED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/filters/decoder_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/filters/decoder_stream.cc
++++ chromium-72.0.3626.53/media/filters/decoder_stream.cc
+@@ -89,6 +89,8 @@ const char* GetStatusString(typename Dec
+ return "demuxer_read_aborted";
+ case DecoderStream<StreamType>::DECODE_ERROR:
+ return "decode_error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/gpu/vaapi/vaapi_wrapper.cc
++++ chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+@@ -401,6 +401,8 @@ static VAEntrypoint GetVaEntryPoint(Vaap
+ case VaapiWrapper::kCodecModeMax:
+ NOTREACHED();
+ return VAEntrypointVLD;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/nqe/network_quality_estimator.cc
++++ chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+@@ -1264,6 +1264,8 @@ base::TimeDelta NetworkQualityEstimator:
+ case nqe::internal::OBSERVATION_CATEGORY_COUNT:
+ NOTREACHED();
+ return base::TimeDelta();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/audio/public/cpp/audio_system_to_service_adapter.cc
++++ chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+@@ -66,6 +66,8 @@ const char* GetTraceEvent(Action action)
+ return "AudioSystemToServiceAdapter::GetAssociatedOutputDeviceID";
+ case kGetInputDeviceInfo:
+ return "AudioSystemToServiceAdapter::GetInputDeviceInfo";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/cross_origin_read_blocking.cc
++++ chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+@@ -782,6 +782,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && !found_blockable_content_;
+ case kBlock:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -793,6 +795,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && found_blockable_content_;
+ case kBlock:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/cors/cors.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+@@ -552,6 +552,8 @@ bool IsCorsSameOriginResponseType(mojom:
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -565,6 +567,8 @@ bool IsCorsCrossOriginResponseType(mojom
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -582,6 +586,8 @@ bool CalculateCredentialsFlag(mojom::Fet
+ return response_tainting == network::mojom::FetchResponseType::kBasic;
+ case network::mojom::FetchCredentialsMode::kInclude:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/host_resolver_mojom_traits.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+@@ -38,6 +38,8 @@ base::Optional<bool> FromTristate(DnsCon
+ return true;
+ case DnsConfigOverrides::Tristate::TRISTATE_FALSE:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -225,6 +227,8 @@ EnumTraits<ResolveHostParameters::DnsQue
+ return ResolveHostParameters::DnsQueryType::A;
+ case net::DnsQueryType::AAAA:
+ return ResolveHostParameters::DnsQueryType::AAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -242,6 +246,8 @@ bool EnumTraits<ResolveHostParameters::D
+ case ResolveHostParameters::DnsQueryType::AAAA:
+ *output = net::DnsQueryType::AAAA;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -258,6 +264,8 @@ EnumTraits<ResolveHostParameters::Source
+ return ResolveHostParameters::Source::DNS;
+ case net::HostResolverSource::MULTICAST_DNS:
+ return ResolveHostParameters::Source::MULTICAST_DNS;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -278,6 +286,8 @@ bool EnumTraits<ResolveHostParameters::S
+ case ResolveHostParameters::Source::MULTICAST_DNS:
+ *output = net::HostResolverSource::MULTICAST_DNS;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/ws/public/cpp/gpu/command_buffer_metrics.cc
++++ chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+@@ -96,6 +96,8 @@ std::string ContextTypeToString(ContextT
+ return "ForTesting";
+ case ContextType::XR_COMPOSITING:
+ return "XRCompositing";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/style_environment_variables.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+@@ -63,7 +63,7 @@ const AtomicString StyleEnvironmentVaria
+ case UADefinedVariable::kSafeAreaInsetRight:
+ return "safe-area-inset-right";
+ default:
+- break;
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/html/media/media_controls.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+@@ -36,6 +36,8 @@ AtomicString MediaControls::GetSizingCSS
+ return kMediaControlsSizingMediumCSSClass;
+ case MediaControlsSizingClass::kLarge:
+ return kMediaControlsSizingLargeCSSClass;
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/layout/layout_flexible_box.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+@@ -602,6 +602,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentLeft();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentInsetRight();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -617,6 +619,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentInsetRight();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentLeft();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/loader/mixed_content_checker.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+@@ -239,6 +239,8 @@ bool MixedContentChecker::IsMixedContent
+
+ case HttpsState::kModern:
+ return IsInsecureUrl(url);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+@@ -1235,6 +1235,8 @@ ax::mojom::TextPosition AXLayoutObject::
+ return ax::mojom::TextPosition::kSubscript;
+ case EVerticalAlign::kSuper:
+ return ax::mojom::TextPosition::kSuperscript;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_position.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+@@ -758,6 +758,8 @@ const AXObject* AXPosition::FindNeighbor
+ }
+ return nullptr;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+@@ -342,6 +342,8 @@ const String BackgroundFetchRegistration
+ return "failure";
+ case mojom::BackgroundFetchResult::UNSET:
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -362,6 +364,8 @@ const String BackgroundFetchRegistration
+ return "quota-exceeded";
+ case mojom::BackgroundFetchFailureReason::TOTAL_DOWNLOAD_SIZE_EXCEEDED:
+ return "total-download-exceeded";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+@@ -53,6 +53,8 @@ String ToCookieListItemSameSite(network:
+ return "lax";
+ case network::mojom::CookieSameSite::NO_RESTRICTION:
+ return "unrestricted";
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+@@ -28,6 +28,8 @@ String TransceiverDirectionToString(
+ return "recvonly";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "inactive";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/storage/cached_storage_area.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+@@ -643,6 +643,8 @@ Vector<uint8_t> CachedStorageArea::Strin
+ input.length() * sizeof(UChar));
+ return result;
+ }
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/webaudio/audio_param.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+@@ -145,7 +145,7 @@ String AudioParamHandler::GetParamName()
+ case kParamTypeAudioWorklet:
+ return custom_param_name_;
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+@@ -18,7 +18,7 @@ WTF::String OverscrollBehaviorTypeToStri
+ case OverscrollBehavior::kOverscrollBehaviorTypeContain:
+ return "contain";
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/heap/heap_stats_collector.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+@@ -94,6 +94,8 @@ class PLATFORM_EXPORT ThreadHeapStatsCol
+ return "BlinkGC.VisitPersistents";
+ case Id::kVisitStackRoots:
+ return "BlinkGC.VisitStackRoots";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+@@ -44,6 +44,8 @@ scheduling_metrics::ThreadType ConvertBl
+ case WebThreadType::kCount:
+ NOTREACHED();
+ return scheduling_metrics::ThreadType::kCount;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+@@ -676,6 +676,8 @@ PageSchedulerImpl::PageLifecycleStateTra
+ NOTREACHED();
+ return base::nullopt;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/wtf/casting.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+@@ -57,6 +57,7 @@ struct DowncastTraits {
+ template <typename U>
+ static bool AllowFrom(const U&) {
+ static_assert(sizeof(U) == 0, "no downcast traits specialization for T");
++ return false;
+ }
+ };
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+@@ -26,6 +26,8 @@ TemporalLayersChecker::CreateTemporalLay
+ case Vp8TemporalLayersType::kBitrateDynamic:
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<TemporalLayersChecker>(num_temporal_layers);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/accessibility/platform/ax_platform_node_auralinux.cc
++++ chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+@@ -1641,6 +1641,8 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
+ case ax::mojom::Role::kPresentational:
+ case ax::mojom::Role::kUnknown:
+ return ATK_ROLE_REDUNDANT_OBJECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/aura/mus/in_flight_change.cc
++++ chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+@@ -57,6 +57,8 @@ std::string ChangeTypeToString(ChangeTyp
+ return "TRANSFORM";
+ case ChangeType::VISIBLE:
+ return "VISIBLE";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/base/mojo/clipboard_struct_traits.h
++++ chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+@@ -20,6 +20,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ return ui::mojom::ClipboardType::SELECTION;
+ case ui::CLIPBOARD_TYPE_DRAG:
+ return ui::mojom::ClipboardType::DRAG;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -34,6 +36,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ case ui::mojom::ClipboardType::DRAG:
+ *out = ui::CLIPBOARD_TYPE_DRAG;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ return false;
+Index: chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/gfx/skia_vector_animation.cc
++++ chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+@@ -163,6 +163,8 @@ float SkiaVectorAnimation::GetCurrentPro
+ // yet
+ DCHECK(timer_control_);
+ return timer_control_->GetNormalizedCurrentCycleProgress();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/views/layout/layout_provider.cc
++++ chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+@@ -155,6 +155,8 @@ int LayoutProvider::GetCornerRadiusMetri
+ return touch_ui ? 8 : 4;
+ case EMPHASIS_MAXIMUM:
+ return touch_ui ? std::min(size.width(), size.height()) / 2 : 4;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/flags_ui/feature_entry.cc
++++ chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+@@ -38,13 +38,16 @@ bool FeatureEntry::InternalNameMatches(c
+ case FeatureEntry::MULTI_VALUE:
+ case FeatureEntry::ENABLE_DISABLE_VALUE:
+ case FeatureEntry::FEATURE_VALUE:
+- case FeatureEntry::FEATURE_WITH_PARAMS_VALUE:
++ case FeatureEntry::FEATURE_WITH_PARAMS_VALUE: {
+ // Check that the pattern matches what's produced by NameForOption().
+ int index = -1;
+ return name.size() > internal_name_length + 1 &&
+ name[internal_name_length] == kMultiSeparatorChar &&
+ base::StringToInt(name.substr(internal_name_length + 1), &index) &&
+ index >= 0 && index < num_options;
++ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/common/navigation_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/common/navigation_params.cc
++++ chromium-72.0.3626.53/content/common/navigation_params.cc
+@@ -47,6 +47,8 @@ bool IsNavigationDownloadAllowed(Navigat
+ case NavigationDownloadPolicy::kAllowOpenerCrossOrigin:
+ case NavigationDownloadPolicy::kAllowOpenerCrossOriginNoGesture:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/google_apis/gaia/google_service_auth_error.cc
++++ chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+@@ -29,6 +29,8 @@ const char* InvalidCredentialsReasonToSt
+ case InvalidGaiaCredentialsReason::NUM_REASONS:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -238,6 +240,8 @@ std::string GoogleServiceAuthError::ToSt
+ case NUM_STATES:
+ NOTREACHED();
+ return std::string();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/dns/dns_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/dns/dns_util.cc
++++ chromium-72.0.3626.53/net/dns/dns_util.cc
+@@ -231,6 +231,8 @@ uint16_t DnsQueryTypeToQtype(DnsQueryTyp
+ return dns_protocol::kTypeA;
+ case DnsQueryType::AAAA:
+ return dns_protocol::kTypeAAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
++++ chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+@@ -159,6 +159,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -183,6 +185,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+@@ -92,10 +92,13 @@ AnimationAndPaintWorkletThread::CreateWo
+ return AnimationWorkletGlobalScope::Create(std::move(creation_params),
+ this);
+ }
+- case WorkletType::PAINT_WORKLET:
++ case WorkletType::PAINT_WORKLET: {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("paint-worklet"),
+ "AnimationAndPaintWorkletThread::CreateWorkerGlobalScope");
+ return PaintWorkletGlobalScope::Create(std::move(creation_params), this);
++ }
++ default:
++ __builtin_abort ();
+ };
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+@@ -27,6 +27,8 @@ std::unique_ptr<Vp8TemporalLayers> Creat
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<ScreenshareLayers>(num_temporal_layers,
+ Clock::GetRealTimeClock());
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/audio/channel_receive.cc
++++ chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+@@ -69,6 +69,8 @@ webrtc::FrameType WebrtcFrameTypeForMedi
+ kDiscountinuousTransmission:
+ return kAudioFrameCN;
+ break;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -24,6 +24,8 @@ std::unique_ptr<KeyDerivation> KeyDeriva
+ switch (key_derivation_algorithm) {
+ case KeyDerivationAlgorithm::HKDF_SHA256:
+ return absl::make_unique<OpenSSLKeyDerivationHKDF>();
++ default:
++ __builtin_abort ();
+ }
+ RTC_NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/base/task/common/operations_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/task/common/operations_controller.cc
++++ chromium-72.0.3626.53/base/task/common/operations_controller.cc
+@@ -55,6 +55,8 @@ OperationsController::OperationToken Ope
+ case State::kShuttingDown:
+ DecrementBy(1);
+ return OperationToken(nullptr);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,4 +107,4 @@ void OperationsController::DecrementBy(u
+ }
+
+ } // namespace internal
+-} // namespace base
+\ No newline at end of file
++} // namespace base
+Index: chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
++++ chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+@@ -294,6 +294,8 @@ bool MutableProfileOAuth2TokenServiceDel
+ case GaiaAuthConsumer::TokenRevocationStatus::kInvalidRequest:
+ case GaiaAuthConsumer::TokenRevocationStatus::kUnknownError:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/content_settings/content_setting_image_model.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+@@ -474,6 +474,8 @@ bool ContentSettingDownloadsImageModel::
+ case DownloadRequestLimiter::DOWNLOAD_UI_DEFAULT:
+ // No need to show icon otherwise.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/overlay/resize_handle_button.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+@@ -57,6 +57,8 @@ int ResizeHandleButton::GetHTComponent()
+ return HTBOTTOMRIGHT;
+ case OverlayWindowViews::WindowQuadrant::kTopRight:
+ return HTBOTTOMLEFT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_metrics.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+@@ -296,6 +296,8 @@ const char* GetSyncStateSuffix(AutofillS
+ return ".SignedInAndSyncFeature";
+ case AutofillSyncSigninState::kNumSyncStates:
+ return ".Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/content_settings/core/browser/host_content_settings_map.cc
++++ chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+@@ -231,6 +231,8 @@ const char* ContentSettingToString(Conte
+ case CONTENT_SETTING_NUM_SETTINGS:
+ NOTREACHED();
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/omnibox/browser/autocomplete_match.cc
++++ chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+@@ -261,6 +261,9 @@ const gfx::VectorIcon& AutocompleteMatch
+ NOTREACHED();
+ static const gfx::VectorIcon dummy = {};
+ return dummy;
++
++ default:
++ __builtin_abort ();
+ }
+ }
+ #endif
+Index: chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/common/gl_scaler.cc
++++ chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+@@ -693,6 +693,8 @@ const char* GLScaler::GetShaderName(GLSc
+ CASE_RETURN_SHADER_STR(I422_NV61_MRT);
+ CASE_RETURN_SHADER_STR(DEINTERLEAVE_PAIRWISE_MRT);
+ #undef CASE_RETURN_SHADER_STR
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_audio.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+@@ -414,6 +414,8 @@ class EchoCancellationContainer {
+ return blink::kEchoCancellationTypeSystem;
+ case EchoCancellationType::kEchoCancellationDisabled:
+ return base::nullopt;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/mdns_responder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/mdns_responder.cc
++++ chromium-72.0.3626.53/services/network/mdns_responder.cc
+@@ -435,6 +435,8 @@ class MdnsResponderManager::SocketHandle
+ case MdnsResponseSendOption::ResponseClass::UNSPECIFIED:
+ NOTREACHED();
+ return RateLimitScheme::PER_RESPONSE;
++ default:
++ __builtin_abort ();
+ }
+ }
+ // Returns null if the computed delay exceeds kMaxScheduledDelay and the next
+Index: chromium-72.0.3626.53/services/network/resource_scheduler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/resource_scheduler.cc
++++ chromium-72.0.3626.53/services/network/resource_scheduler.cc
+@@ -93,6 +93,8 @@ const char* RequestStartTriggerString(Re
+ return "REQUEST_REPRIORITIZED";
+ case RequestStartTrigger::LONG_QUEUED_REQUESTS_TIMER_FIRED:
+ return "LONG_QUEUED_REQUESTS_TIMER_FIRED";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+@@ -97,6 +97,8 @@ const CSSValue* CustomProperty::ParseSin
+ if (registration_ && !ParseTyped(range, context, local_context))
+ return nullptr;
+ return ParseUntyped(range, context, local_context);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+@@ -73,6 +73,8 @@ IndexedDBKey IndexedDBKeyBuilder::Build(
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return IndexedDBKey();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,6 +107,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -137,6 +141,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -179,6 +185,8 @@ IndexedDBKeyPath IndexedDBKeyPathBuilder
+ return IndexedDBKeyPath(CopyArray(key_path.Array()));
+ case kWebIDBKeyPathTypeNull:
+ return IndexedDBKeyPath();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -195,6 +203,8 @@ WebIDBKeyPath WebIDBKeyPathBuilder::Buil
+ }
+ case kWebIDBKeyPathTypeNull:
+ return WebIDBKeyPath::CreateNull();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+@@ -570,6 +570,8 @@ RTCSetSessionDescriptionOperation GetRTC
+ return RTCSetSessionDescriptionOperation::kSetRemoteDescriptionAnswer;
+ return RTCSetSessionDescriptionOperation::
+ kSetRemoteDescriptionInvalidType;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -595,6 +597,8 @@ SdpUsageCategory DeduceSdpUsageCategory(
+ sdp_semantics == webrtc::SdpSemantics::kUnifiedPlan)
+ ? SdpUsageCategory::kSafe
+ : SdpUsageCategory::kUnsafe;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+@@ -194,6 +194,8 @@ bool WaitUntilObserver::IsEventActive(Sc
+ case EventDispatchState::kDispatched:
+ case EventDispatchState::kFailed:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
diff --git a/chromium-system-icu.patch b/chromium-system-icu.patch
index cbea609..4b153d9 100644
--- a/chromium-system-icu.patch
+++ b/chromium-system-icu.patch
@@ -1,11 +1,11 @@
---- chromium-70.0.3521.2.old/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-15 12:41:21.091987662 +0200
-+++ chromium-70.0.3521.2/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-17 12:37:45.459538308 +0200
-@@ -247,7 +247,7 @@
+--- chromium-72.0.3626.7.orig/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:38:52.691743205 +0100
++++ chromium-72.0.3626.7/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:49:27.320195000 +0100
+@@ -247,7 +247,7 @@ static const UChar32 kIsHangulRanges[] =
0xFFA0, 0xFFDC,
};
-static const UChar32 kIsHangulArray[] = {};
+static const UChar32 kIsHangulArray[] = {0xFFDC,};
- } // namespace blink
-
+ #if !defined(USING_SYSTEM_ICU)
+ // Freezed trie tree, see character_property_data_generator.cc.
diff --git a/chromium-vaapi.sh b/chromium-vaapi.sh
index dbdaf4a..55514fd 100644
--- a/chromium-vaapi.sh
+++ b/chromium-vaapi.sh
@@ -5,8 +5,9 @@
# found in the LICENSE file.
# This file is obtained from https://src.fedoraproject.org/rpms/chromium/
-# and modified by Akarshan Biswas <akarshan.biswas(a)hotmail.com. All modifications are also
+# and modified by Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>. All modifications are also
# licensed under 3-clause BSD license.
+CHROMIUM_DISTRO_FLAGS=()
# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="$(readlink -f "$0")"
@@ -38,19 +39,26 @@ else
fi
export LD_LIBRARY_PATH
+#On wayland pass the correct GDK_BACKEND
+# In future this will be used for running chromium natively on Wayland
+if [ $XDG_SESSION_TYPE == "wayland" ]; then
+export GDK_BACKEND=x11
+fi
+
+
# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
-export CHROME_VERSION_EXTRA="Built from source for @@BUILDTARGET@@"
+export CHROME_VERSION_EXTRA="Built from source for Fedora 29"
-CHROMIUM_DISTRO_FLAGS=" --enable-plugins \
- --enable-extensions \
- --enable-user-scripts \
- --enable-printing \
- --enable-gpu-rasterization \
- --enable-sync"
+CHROMIUM_DISTRO_FLAGS+=" --enable-plugins \
+ --enable-extensions \
+ --enable-user-scripts \
+ --enable-printing \
+ --enable-gpu-rasterization \
+ --enable-sync"
-exec -a "$0" "@@CHROMIUMDIR@@/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
+exec -a "$0" "/usr/lib64/chromium-vaapi/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index fe2502b..13c6912 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -19,8 +19,8 @@
# This package depends on automagic byte compilation
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%global _python_bytecompile_extra 1
-#Require harfbuzz >= 1.8.6 for hb_font_funcs_set_glyph_h_advances_func
-%if 0%{?fedora} >= 29
+#Require harfbuzz >= 2 for hb_ot_tags_from_script_and_language
+%if 0%{?fedora} >= 30
%bcond_without system_harfbuzz
%else
%bcond_with system_harfbuzz
@@ -36,6 +36,8 @@
%bcond_without system_libicu
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
+# Allow testing whether ffmpeg can be unbundled
+%bcond_with system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
%if 0%{?fedora} >= 30
@@ -47,36 +49,25 @@
%bcond_with system_re2
#Turn on verbose mode
-%global debug_logs 1
+%global debug_logs 0
# Allow compiling with clang
%global clang 0
#Allow jumbo builds
# Enabled by default
%global jumbo 1
#------------------------------------------------------
-%if %{clang}
-#Disable Build debug packages for debugging on clang
-%global debug_pkg 0
-#Disable building with Fedora compilation flags on clang
-%global fedora_compilation_flags 0
-%else
#Build debug packages for debugging
%global debug_pkg 1
#Allow building with Fedora compilation flags
%global fedora_compilation_flags 1
-%endif
-# Use ld in rawhide as gold is faulty
-%if 0%{?fedora} >= 30
-%global stopgold 1
-%else
+# Gold switch
%global stopgold 0
-%endif
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
Name: chromium-vaapi
-Version: 71.0.3578.98
-Release: 2%{?dist}
+Version: 72.0.3626.81
+Release: 1%{?dist}
Summary: A Chromium web browser with video decoding acceleration
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -128,6 +119,9 @@ BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(libffi)
+%if %{ozone}
+BuildRequires: mesa-libgbm-devel
+%endif
# remove_bundled_libraries.py --do-remove
BuildRequires: python2-rpm-macros
BuildRequires: python2-beautifulsoup4
@@ -157,6 +151,9 @@ BuildRequires: libpng-devel
%if %{with system_libvpx}
BuildRequires: libvpx-devel
%endif
+%if %{with system_ffmpeg}
+BuildRequires: ffmpeg-devel
+%endif
BuildRequires: libwebp-devel
%if %{with system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
@@ -173,9 +170,11 @@ BuildRequires: desktop-file-utils
# install AppData files
BuildRequires: libappstream-glib
#for vaapi
-BuildRequires: libva-devel
+BuildRequires: libva-devel
+# Mojojojo need this >:(
+BuildRequires: java-1.8.0-openjdk
#Runtime Requirements
-Requires: hicolor-icon-theme
+Requires: hicolor-icon-theme
#Some recommendations
Recommends: libva-intel-hybrid-driver%{?_isa}
Recommends: libva-intel-driver%{?_isa}
@@ -189,15 +188,9 @@ ExclusiveArch: x86_64
Patch1: enable-vaapi.patch
# Enable support for widevine
Patch2: widevine.patch
-#Will use any clang patch here
-Patch3: ccompiler.patch
-#Fix breaking builds caused by gcc_ar_wrapper.py from upstream
-Patch7: llvm-arflags.patch
#Gcc patches area.
#Gcc produces way too many warnings. Try to silence some of it.
Patch8: silencegcc.patch
-#Fix building with GCC 8
-Patch9: chromium-71-gcc-fix.patch
# More patches to fix chromium build here
# remove dependency on unrar. That's a nasty code.
Patch50: nounrar.patch
@@ -205,19 +198,25 @@ Patch50: nounrar.patch
Patch51: py2-bootstrap.patch
# Fix building with system icu
Patch52: chromium-system-icu.patch
-# Fix chromium build with harfbuzz 2 in rawhide
-Patch53: chromium-harfbuzz2.patch
# Let's brand chromium!
Patch54: brand.patch
-# Disable sysroot related settings
-Patch55: chromium-gn-r607596.patch
# Since the newer versions of VA-API are ABI compatible, relax the version checks for VA-API, by using VA_CHECK_VERSION().
# This will help in updating the libva to the latest releases,while still supporting the old versions, till the new version of
# libva is merged and picked by the builds. Thus ensuring that hardware acceleration is not broken while updating the libva.
# Taken and rebased from https://chromium-review.googlesource.com/c/chromium/src/+/1352519
# The patch might land somewhere in the future and will be removed.
Patch56: relax-libva-version.patch
-
+#This reverts commit https://github.com/Igalia/chromium/commit/816f0e1e5c15d7fce9389a428cbd49b...
+Patch58: system-gbm.patch
+# Possibly fixes vaapi ozone build https://github.com/Igalia/chromium/commit/0fba13c7fb502568c38de99ba41719c...
+Patch59: fixvaapiozone.patch
+# Fix webrtc include error
+Patch60: chromium-webrtc-includes.patch
+Patch61: chromium-non-void-return.patch
+Patch62: chromium-dma-buf.patch
+Patch63: chromium-drm.patch
+#Use gold in gn bootstrap
+Patch64: gn-gold.patch
%description
chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
############################################PREP###########################################################
@@ -226,26 +225,25 @@ chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
## Apply patches here ##
%patch1 -p1 -b .vaapi
%patch2 -p1 -b .widevine
-%if %{clang}
-%patch3 -p1 -b .cc
-%patch7 -p1 -b .llvmarflags
-%else
%patch8 -p1 -b .silencegcc
-%patch9 -p1 -b .gcc
-%endif
%patch50 -p1 -b .nounrar
%patch51 -p1 -b .py2boot
%patch52 -p1 -b .icu
-%if 0%{?fedora} >= 30
-%patch53 -p1 -b .harfbuzz2
-%endif
%if %{freeworld}
%patch54 -p1 -b .brand
%endif
-%patch55 -p1 -b .gn
%patch56 -p1 -b .relaxva
+%if %{ozone}
+%patch58 -p1 -b .sysgbm
+%patch59 -p1 -b .fixozonevaapi
+%endif
+%patch60 -p1 -b .webrtc
+%patch61 -p1 -b .nonvoid
+%patch62 -p1 -b .dma
+%patch63 -p1 -b .drm
+%patch64 -p1 -b .gn
#Let's change the default shebang of python files.
-find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
+find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
base/third_party/dmg_fp \
base/third_party/dynamic_annotations \
@@ -271,10 +269,10 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
net/third_party/uri_template \
third_party/abseil-cpp \
third_party/adobe \
- third_party/analytics \
third_party/angle \
third_party/angle/src/common/third_party/base \
third_party/angle/src/common/third_party/smhasher \
+ third_party/angle/src/common/third_party/xxhash \
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
@@ -306,18 +304,20 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/catapult/tracing/third_party/pako \
third_party/ced \
third_party/cld_3 \
+ third_party/closure_compiler \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/zlib \
third_party/crc32c \
third_party/cros_system_api \
third_party/devscripts \
third_party/dom_distiller_js \
+%if !%{with system_ffmpeg}
third_party/ffmpeg \
+%endif
third_party/fips181 \
third_party/flatbuffers \
third_party/flot \
third_party/freetype \
- third_party/glslang-angle \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
third_party/google_input_tools/third_party/closure_library/third_party/closure \
@@ -369,6 +369,7 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/minizip/ \
%endif
third_party/modp_b64 \
+ third_party/nasm \
third_party/node \
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/openh264 \
@@ -407,22 +408,16 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/speech-dispatcher \
third_party/spirv-headers \
third_party/SPIRV-Tools \
- third_party/spirv-tools-angle \
third_party/sqlite \
- third_party/swiftshader \
- third_party/swiftshader/third_party/llvm-subzero \
- third_party/swiftshader/third_party/subzero \
third_party/tcmalloc \
third_party/usb_ids \
third_party/usrsctp \
third_party/vulkan \
- third_party/vulkan-validation-layers \
%if %{ozone}
third_party/wayland \
%endif
third_party/web-animations-js \
third_party/webdriver \
- third_party/WebKit \
third_party/webrtc \
third_party/webrtc/common_audio/third_party/fft4g \
third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
@@ -447,6 +442,9 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
v8/third_party/v8
./build/linux/unbundle/replace_gn_files.py --system-libraries \
+%if %{with system_ffmpeg}
+ ffmpeg \
+%endif
flac \
freetype \
fontconfig \
@@ -495,10 +493,6 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"chromium-vaapi"/' $FILE
#####################################BUILD#############################################
%build
#export compilar variables
-%if %{clang}
-export AR=llvm-ar NM=llvm-nm
-export CC=clang CXX=clang++
-%else
export AR=ar NM=nm
export CC=gcc CXX=g++
%if %{fedora_compilation_flags}
@@ -520,7 +514,6 @@ export LDFLAGS='%{__global_ldflags}'
%else
export CXXFLAGS=$CXXFLAGS" -fpermissive"
%endif
-%endif
gn_args=(
is_debug=false
use_vaapi=true
@@ -564,17 +557,11 @@ gn_args=(
)
# Gold is faulty on rawhide so disabled it.
gn_args+=(
-%if %{clang}
- is_clang=true
- 'clang_base_path = "/usr"'
- clang_use_chrome_plugins=false
-%else
is_clang=false
use_lld=false
%if %{stopgold}
use_gold=false
%endif
-%endif
)
#Jumbo stuff
gn_args+=(
@@ -587,11 +574,11 @@ gn_args+=(
# Ozone stuff
+# Tracking bug : https://github.com/Igalia/chromium/issues/512
gn_args+=(
%if %{ozone}
use_ozone=true
- ozone_auto_platforms=true
- ozone_platform_wayland=true
+ use_system_minigbm=true
use_xkbcommon=true
%endif
)
@@ -692,6 +679,14 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/locales/*.pak
#########################################changelogs#################################################
%changelog
+* Tue Feb 05 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-1
+- Update to 72.0.3626.81
+- Add a patch to fix missing includes in webrtc
+- ozone updates (WIP)
+- Fix gn where it now needs gold linker in bootstrap
+- remove clang building implementation in this spec (out of scope)
+- Make sure chromium uses the x11 GDK backend in wayland
+
* Fri Dec 21 2018 Akarshan Biswas <akarshan.biswas(a)hotmail.com> 71.0.3578.98-2
- Re enable the non effective enable_widevine flag
diff --git a/chromium-webrtc-includes.patch b/chromium-webrtc-includes.patch
new file mode 100644
index 0000000..0c66920
--- /dev/null
+++ b/chromium-webrtc-includes.patch
@@ -0,0 +1,16754 @@
+From 3e70781361ed0666b925fe4333a567025de211bb Mon Sep 17 00:00:00 2001
+From: Yves Gerey <yvesg(a)webrtc.org>
+Date: Wed, 28 Nov 2018 16:47:49 +0100
+Subject: [PATCH] [Cleanup] Add missing #include. Remove useless ones. IWYU part 2.
+
+This is a follow-up to
+https://webrtc-review.googlesource.com/c/src/+/106280.
+This time the whole code base is covered.
+Some files may have not been fixed though, whenever the IWYU tool
+was breaking the build.
+
+Bug: webrtc:8311
+Change-Id: I2c31f552a87e887d33931d46e87b6208b1e483ef
+Reviewed-on: https://webrtc-review.googlesource.com/c/111965
+Commit-Queue: Yves Gerey <yvesg(a)google.com>
+Reviewed-by: Karl Wiberg <kwiberg(a)webrtc.org>
+Reviewed-by: Mirko Bonadei <mbonadei(a)webrtc.org>
+Cr-Commit-Position: refs/heads/master@{#25830}
+---
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+@@ -58,6 +58,7 @@ rtc_static_library("create_peerconnectio
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+ "../media:rtc_audio_video",
++ "../media:rtc_media_base",
+ "../modules/audio_device:audio_device_api",
+ "../modules/audio_processing:api",
+ "../pc:peerconnection",
+@@ -202,6 +203,7 @@ rtc_source_set("test_dependency_factory"
+ ]
+ deps = [
+ ":video_quality_test_fixture_api",
++ "../rtc_base:checks",
+ "../rtc_base:thread_checker",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -279,6 +281,7 @@ rtc_source_set("audio_options_api") {
+ ]
+
+ deps = [
++ ":array_view",
+ "../rtc_base:stringutils",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -636,7 +639,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":libjingle_peerconnection_api",
+ "../rtc_base:checks",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+@@ -110,6 +110,12 @@ specific_include_rules = {
+ "+rtc_base/bind.h",
+ ],
+
++ "proxy\.h": [
++ "+rtc_base/messagehandler.h", # Inherits from it.
++ "+rtc_base/messagequeue.h", # Inherits from MessageData.
++ "+rtc_base/scoped_ref_ptr.h",
++ ],
++
+ "refcountedbase\.h": [
+ "+rtc_base/constructormagic.h",
+ "+rtc_base/refcount.h",
+@@ -258,7 +264,8 @@ specific_include_rules = {
+ ],
+
+ "i010_buffer\.h": [
+- "+rtc_base/memory/aligned_malloc.h"
++ "+rtc_base/memory/aligned_malloc.h",
++ "+rtc_base/scoped_ref_ptr.h",
+ ],
+
+ "i420_buffer\.h": [
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+@@ -55,6 +55,7 @@ rtc_source_set("aec3_config_json") {
+ ]
+ deps = [
+ ":aec3_config",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_json",
+ "../../rtc_base/system:rtc_export",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+@@ -9,9 +9,11 @@
+ */
+ #include "api/audio/echo_canceller3_config_json.h"
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/json.h"
+ #include "rtc_base/strings/string_builder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h> // memcmp
+
+ #include "api/audio/audio_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
+-
+ #include "api/audio/echo_canceller3_config.h"
+ #include "api/audio/echo_canceller3_config_json.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio_options.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/audio_options.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/create_peerconnection_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+@@ -13,16 +13,21 @@
+ #include <memory>
+ #include <utility>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/call/callfactoryinterface.h"
++#include "api/fec_controller.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/transport/network_control.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/mediaengine.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/mediastreaminterface.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+@@ -9,8 +9,6 @@
+ */
+
+ #include "api/mediastreaminterface.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+@@ -53,12 +53,20 @@
+ #define API_PROXY_H_
+
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "rtc_base/event.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
++namespace rtc {
++class Location;
++}
++
+ namespace webrtc {
+
+ template <typename R>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/rtpparameters_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
+-
+ #include "api/rtpparameters.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_STATS_RTCSTATS_H_
+ #define API_STATS_RTCSTATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats_objects.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+@@ -11,6 +11,7 @@
+ #ifndef API_STATS_RTCSTATS_OBJECTS_H_
+ #define API_STATS_RTCSTATS_OBJECTS_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstatsreport.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+@@ -11,6 +11,8 @@
+ #ifndef API_STATS_RTCSTATSREPORT_H_
+ #define API_STATS_RTCSTATSREPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_decryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+@@ -11,9 +11,13 @@
+ #ifndef API_TEST_FAKE_FRAME_DECRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_DECRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
++#include "api/array_view.h"
+ #include "api/crypto/framedecryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_encryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+@@ -11,7 +11,12 @@
+ #ifndef API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/array_view.h"
+ #include "api/crypto/frameencryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+@@ -13,6 +13,7 @@
+
+ #include "absl/memory/memory.h"
+ #include "api/test/test_dependency_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+@@ -14,7 +14,6 @@
+ #include <memory>
+
+ #include "api/test/video_quality_test_fixture.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/videocodec_test_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_TEST_VIDEOCODEC_TEST_STATS_H_
+ #define API_TEST_VIDEOCODEC_TEST_STATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+@@ -69,6 +69,10 @@ if (rtc_include_tests) {
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../test:test_support",
++ "../units:data_rate",
++ "../units:data_size",
++ "../units:time_delta",
++ "../units:timestamp",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/goog_cc_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+@@ -10,8 +10,11 @@
+
+ #include "api/transport/goog_cc_factory.h"
+
++#include <stdint.h>
++
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
++
+ namespace webrtc {
+ GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory(
+ RtcEventLog* event_log)
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+@@ -11,8 +11,13 @@
+ #include "api/transport/test/network_control_tester.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/units/data_size.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+@@ -11,12 +11,16 @@
+ #ifndef API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+ #define API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <functional>
+ #include <memory>
+
+-#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+@@ -18,6 +18,7 @@ rtc_source_set("data_rate") {
+ deps = [
+ ":data_size",
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -32,6 +33,7 @@ rtc_source_set("data_size") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -46,6 +48,7 @@ rtc_source_set("time_delta") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -61,6 +64,7 @@ rtc_source_set("timestamp") {
+
+ deps = [
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_rate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_rate.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_size.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_size.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/time_delta.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/time_delta.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/timestamp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/timestamp.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+@@ -32,6 +32,7 @@ rtc_source_set("video_frame") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:rtc_export",
+@@ -199,6 +200,7 @@ rtc_source_set("video_stream_encoder_cre
+ }
+
+ deps = [
++ ":video_frame",
+ ":video_stream_encoder",
+ "../../rtc_base:ptr_util",
+ "../../video:video_stream_encoder_impl",
+@@ -216,12 +218,15 @@ rtc_static_library("builtin_video_bitrat
+
+ deps = [
+ ":video_bitrate_allocation",
++ ":video_bitrate_allocator",
+ ":video_bitrate_allocator_factory",
++ "../../:webrtc_common",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_coding_utility",
+ "../../modules/video_coding:webrtc_vp9_helpers",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:fallthrough",
++ "../video_codecs:video_codecs_api",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+@@ -11,7 +11,9 @@
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/encoded_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+@@ -13,6 +13,9 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ namespace webrtc {
+ namespace video_coding {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+@@ -9,14 +9,12 @@
+ */
+ #include "api/video/i010_buffer.h"
+
+-#include <algorithm>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+ // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD.
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+@@ -11,11 +11,13 @@
+ #ifndef API_VIDEO_I010_BUFFER_H_
+ #define API_VIDEO_I010_BUFFER_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+ #include "rtc_base/memory/aligned_malloc.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i420_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+@@ -10,12 +10,11 @@
+ #include "api/video/i420_buffer.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+@@ -18,5 +18,6 @@ rtc_source_set("rtc_api_video_unittests"
+ "..:video_bitrate_allocation",
+ "..:video_frame",
+ "../../../test:test_support",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+@@ -8,9 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/video_bitrate_allocation.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+@@ -11,6 +11,7 @@
+ #include "api/video/video_stream_encoder_create.h"
+
+ #include "absl/memory/memory.h"
++#include "video/overuse_frame_detector.h"
+ #include "video/video_stream_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+@@ -11,10 +11,11 @@
+ #ifndef API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+ #define API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+
+-#include <map>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_stream_encoder_interface.h"
+ #include "api/video/video_stream_encoder_observer.h"
+ #include "api/video/video_stream_encoder_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/video/video_timing.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+@@ -80,6 +80,7 @@ rtc_static_library("builtin_video_encode
+ "../../media:rtc_internal_video_codecs",
+ "../../media:rtc_media_base",
+ "../../media:rtc_vp8_encoder_simulcast_proxy",
++ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:rtc_export",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -101,7 +102,7 @@ rtc_static_library("create_vp8_temporal_
+ "../../modules/video_coding:video_codec_interface",
+ "../../modules/video_coding:webrtc_vp8_temporal_layers",
+ "../../system_wrappers:system_wrappers",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -122,6 +123,7 @@ rtc_static_library("rtc_software_fallbac
+
+ deps = [
+ ":video_codecs_api",
++ "../../:webrtc_common",
+ "../../media:rtc_h264_profile_id",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_codec_interface",
+@@ -129,7 +131,10 @@ rtc_static_library("rtc_software_fallbac
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:fallthrough",
+ "../../system_wrappers:field_trial",
++ "../video:encoded_image",
+ "../video:video_bitrate_allocation",
++ "../video:video_frame",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+@@ -15,10 +15,12 @@
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+@@ -22,14 +22,19 @@ if (rtc_include_tests) {
+ "..:rtc_software_fallback_wrappers",
+ "..:video_codecs_api",
+ "../..:mock_video_encoder",
++ "../../../:webrtc_common",
++ "../../../modules:module_api",
+ "../../../modules/video_coding:video_codec_interface",
+ "../../../modules/video_coding:video_coding_utility",
+ "../../../modules/video_coding:webrtc_vp8",
+ "../../../rtc_base:checks",
++ "../../../rtc_base:ptr_util",
+ "../../../rtc_base:rtc_base_tests_utils",
+ "../../../test:field_trial",
+ "../../../test:test_support",
++ "../../video:encoded_image",
+ "../../video:video_bitrate_allocation",
++ "../../video:video_frame",
+ "../../video:video_frame_i420",
+ "//testing/gtest",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+@@ -11,9 +11,11 @@
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
+
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "api/video_codecs/sdp_video_format.h"
+-#include "test/gmock.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+@@ -9,8 +9,17 @@
+ */
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_encoder.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/field_trial.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+@@ -10,10 +10,13 @@
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+@@ -10,18 +10,21 @@
+
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <cstdio>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+@@ -124,6 +124,10 @@ rtc_source_set("rtp_sender") {
+ "../api:fec_controller_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:data_rate",
++ "../api/units:time_delta",
++ "../api/units:timestamp",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
+ "../logging:rtc_event_log_api",
+ "../modules/congestion_controller",
+@@ -133,6 +137,7 @@ rtc_source_set("rtp_sender") {
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/utility",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../rtc_base:checks",
+ "../rtc_base:rate_limiter",
+@@ -140,7 +145,10 @@ rtc_source_set("rtp_sender") {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_task_queue",
+ "../system_wrappers:field_trial",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ }
+
+@@ -155,6 +163,7 @@ rtc_source_set("bitrate_configurator") {
+ "../api/transport:bitrate_settings",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -199,10 +208,16 @@ rtc_static_library("call") {
+ ":rtp_sender",
+ ":simulated_network",
+ ":video_stream_api",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:callfactory_api",
++ "../api:fec_controller_api",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:time_delta",
++ "../api/video_codecs:video_codecs_api",
+ "../audio",
+ "../logging:rtc_event_audio",
+ "../logging:rtc_event_log_api",
+@@ -223,6 +238,7 @@ rtc_static_library("call") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:sequenced_task_checker",
+ "../rtc_base/experiments:field_trial_parser",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/synchronization:rw_lock_wrapper",
+ "../system_wrappers",
+ "../system_wrappers:field_trial",
+@@ -265,6 +281,7 @@ rtc_source_set("simulated_network") {
+ "../api/units:data_rate",
+ "../api/units:data_size",
+ "../api/units:time_delta",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+@@ -291,10 +308,13 @@ rtc_source_set("fake_network") {
+ ":call_interfaces",
+ ":simulated_network",
+ ":simulated_packet_receiver",
++ "..:webrtc_common",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../modules:module_api",
+ "../modules/utility",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
+@@ -330,12 +350,15 @@ if (rtc_include_tests) {
+ ":rtp_receiver",
+ ":rtp_sender",
+ ":simulated_network",
++ "../:webrtc_common",
+ "../api:array_view",
+ "../api:fake_media_transport",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../api:mock_audio_mixer",
++ "../api:transport_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
++ "../api/video:video_frame",
+ "../audio:audio",
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+@@ -351,6 +374,7 @@ if (rtc_include_tests) {
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/utility:mock_process_thread",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+ "../rtc_base:checks",
+@@ -367,6 +391,7 @@ if (rtc_include_tests) {
+ "../video:video",
+ "//testing/gmock",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+@@ -10,14 +10,15 @@
+
+ #include "call/callfactory.h"
+
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
+ #include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "call/call.h"
+ #include "call/degraded_call.h"
+-#include "call/fake_network_pipe.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+@@ -12,6 +12,8 @@
+ #define CALL_CALLFACTORY_H_
+
+ #include "api/call/callfactoryinterface.h"
++#include "call/call.h"
++#include "call/call_config.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+@@ -10,9 +10,9 @@
+
+ #include <utility>
+
+-#include "call/degraded_call.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/degraded_call.h"
++#include "rtc_base/location.h"
+
+ namespace webrtc {
+ DegradedCall::DegradedCall(
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+@@ -11,15 +11,31 @@
+ #ifndef CALL_DEGRADED_CALL_H_
+ #define CALL_DEGRADED_CALL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+ #include "api/call/transport.h"
++#include "api/fec_controller.h"
++#include "api/mediatypes.h"
++#include "api/rtp_headers.h"
+ #include "api/test/simulated_network.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/audio_receive_stream.h"
++#include "call/audio_send_stream.h"
+ #include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/packet_receiver.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/simulated_network.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/bitrateallocationstrategy.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/fake_network_pipe.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+ #include <string.h>
+-
+ #include <algorithm>
++#include <queue>
+ #include <utility>
++#include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "call/call.h"
++#include "api/mediatypes.h"
+ #include "call/fake_network_pipe.h"
+-#include "call/simulated_network.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+@@ -10,8 +10,14 @@
+
+ #include "call/flexfec_receive_stream_impl.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <string>
++#include <vector>
+
++#include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtpparameters.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "modules/rtp_rtcp/include/flexfec_receiver.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "call/flexfec_receive_stream_impl.h"
+-
+-#include <stdint.h>
++#include <cstdint>
+ #include <memory>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/flexfec_receive_stream_impl.h"
+ #include "call/rtp_stream_receiver_controller.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/flexfec_receiver.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/mocks/mock_recovered_packet_receiver.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
+ #include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/utility/include/mock/mock_process_thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+@@ -11,10 +11,10 @@
+ #include "call/receive_time_calculator.h"
+
+ #include <string>
++#include <type_traits>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+@@ -10,9 +10,11 @@
+ #ifndef CALL_RECEIVE_TIME_CALCULATOR_H_
+ #define CALL_RECEIVE_TIME_CALCULATOR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "rtc_base/experiments/field_trial_units.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "call/receive_time_calculator.h"
+
++#include <stdlib.h>
+ #include <algorithm>
+-#include <iostream>
+-#include <tuple>
++#include <cmath>
++#include <cstdint>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+@@ -10,6 +10,11 @@
+
+ #include "call/rtcp_demuxer.h"
+
++#include <stddef.h>
++#include <algorithm>
++#include <utility>
++
++#include "absl/types/optional.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "call/rtp_rtcp_demuxer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+@@ -10,14 +10,14 @@
+
+ #include "call/rtcp_demuxer.h"
+
+-#include <memory>
++#include <stddef.h>
+ #include <set>
+
+-#include "absl/memory/memory.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_bitrate_configurator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTP_BITRATE_CONFIGURATOR_H_
+ #define CALL_RTP_BITRATE_CONFIGURATOR_H_
+
++#include "absl/types/optional.h"
+ #include "api/bitrate_constraints.h"
+ #include "api/transport/bitrate_settings.h"
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+@@ -10,7 +10,17 @@
+
+ #include "call/rtp_payload_params.h"
+
+-#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include <stddef.h>
++
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+@@ -8,10 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
++#include <string.h>
++#include <map>
+ #include <set>
+
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_rotation.h"
+ #include "call/rtp_payload_params.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+@@ -11,9 +11,8 @@
+ #ifndef CALL_RTP_RTCP_DEMUXER_HELPER_H_
+ #define CALL_RTP_RTCP_DEMUXER_HELPER_H_
+
+-#include <algorithm>
+-#include <map>
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
+ #include "api/array_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <cstdio>
+
+ #include "call/rtp_rtcp_demuxer_helper.h"
+-
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_reports.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_transport_controller_send.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+@@ -11,9 +11,16 @@
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "call/rtp_transport_controller_send.h"
++#include "call/rtp_video_sender.h"
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+ #include "modules/congestion_controller/rtp/include/send_side_congestion_controller.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/rate_limiter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtx_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "call/rtx_receive_stream.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+@@ -13,7 +13,11 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <utility>
++
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+@@ -10,11 +10,11 @@
+ #ifndef CALL_SIMULATED_NETWORK_H_
+ #define CALL_SIMULATED_NETWORK_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <queue>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "api/test/simulated_network.h"
+ #include "rtc_base/criticalsection.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+@@ -58,7 +58,7 @@ rtc_static_library("common_audio") {
+ "../system_wrappers:cpu_features_api",
+ "third_party/fft4g:fft4g",
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+@@ -86,10 +86,14 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":common_video",
++ "../:webrtc_common",
++ "../api/units:time_delta",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i010",
+ "../api/video:video_frame_i420",
++ "../media:rtc_h264_profile_id",
+ "../modules/video_capture:video_capture",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "common_video/include/bitrate_adjuster.h"
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/fakeclock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+@@ -10,12 +10,10 @@
+
+ #include "common_video/h264/pps_parser.h"
+
+-#include <limits>
+-#include <memory>
+-
+ #include "common_video/h264/h264_common.h"
+ #include "rtc_base/bitbuffer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+@@ -10,6 +10,12 @@
+
+ #include "common_video/h264/profile_level_id.h"
+
++#include <map>
++#include <string>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "media/base/h264_profile_level_id.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <vector>
+
+ #include "common_video/h264/h264_common.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+@@ -8,9 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
++#include <stdint.h>
++#include <string.h>
+
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+@@ -10,7 +10,7 @@
+
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+
+-#include <string.h>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "common_video/include/video_frame_buffer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+@@ -9,16 +9,10 @@
+ */
+ #include "common_video/include/video_frame_buffer.h"
+
+-#include <string.h>
+-
+-#include <algorithm>
+-
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+@@ -681,14 +681,21 @@ if (is_linux || is_win) {
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ deps = [
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame_i420",
++ "../api/video_codecs:video_codecs_api",
++ "../media:rtc_media_base",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/sigslot",
+ "../system_wrappers:field_trial",
+ "../test:field_trial",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (is_win) {
+ sources += [
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/conductor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+@@ -10,22 +10,37 @@
+
+ #include "examples/peerconnection/client/conductor.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/rtpsenderinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "examples/peerconnection/client/defaults.h"
++#include "media/base/device.h"
+ #include "media/engine/webrtcvideocapturerfactory.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_factory.h"
++#include "p2p/base/portallocator.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/strings/json.h"
+
+ // Names used for a IceCandidate JSON object.
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/defaults.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+@@ -11,7 +11,6 @@
+ #include "examples/peerconnection/client/defaults.h"
+
+ #include <stdlib.h>
+-#include <string.h>
+
+ #ifdef WIN32
+ #include <winsock2.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <glib.h>
+ #include <gtk/gtk.h>
++#include <stdio.h>
+
+ #include "examples/peerconnection/client/conductor.h"
+ #include "examples/peerconnection/client/flagdefs.h"
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
+-
++#include "rtc_base/flags.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+@@ -10,12 +10,25 @@
+
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+
++#include <cairo.h>
++#include <gdk/gdk.h>
+ #include <gdk/gdkkeysyms.h>
++#include <glib-object.h>
++#include <glib.h>
++#include <gobject/gclosure.h>
+ #include <gtk/gtk.h>
+ #include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
++#include <utility>
+
+ #include "api/video/i420_buffer.h"
+-#include "examples/peerconnection/client/defaults.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_source_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "third_party/libyuv/include/libyuv/convert_from.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+@@ -11,11 +11,16 @@
+ #ifndef EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+ #define EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "examples/peerconnection/client/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // Forward declarations.
+ typedef struct _GtkWidget GtkWidget;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+@@ -11,13 +11,15 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
++#if defined(WEBRTC_POSIX)
++#include <sys/select.h>
++#endif
++#include <time.h>
++#include <string>
+ #include <vector>
+
+ #include "examples/peerconnection/server/data_socket.h"
+ #include "examples/peerconnection/server/peer_channel.h"
+-#include "examples/peerconnection/server/utils.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+@@ -10,10 +10,9 @@
+
+ #include "examples/peerconnection/server/peer_channel.h"
+
++#include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <algorithm>
+
+ #include "examples/peerconnection/server/data_socket.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+@@ -11,6 +11,7 @@
+ #ifndef EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+ #define EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+
++#include <stddef.h>
+ #include <string>
+
+ #ifndef ARRAYSIZE
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/relayserver/relayserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+@@ -12,6 +12,9 @@
+ #include <memory>
+
+ #include "p2p/base/relayserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ int main(int argc, char** argv) {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunprober/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+@@ -8,25 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <map>
+ #include <memory>
++#include <set>
+ #include <sstream>
++#include <string>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/ssladapter.h"
+-#include "rtc_base/strings/string_builder.h"
+-#include "rtc_base/stringutils.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunserver/stunserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+@@ -7,14 +7,12 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-
+-#if defined(WEBRTC_POSIX)
+-#include <errno.h>
+-#endif // WEBRTC_POSIX
+-
+ #include <iostream>
+
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ using cricket::StunServer;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/read_auth_file.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "examples/turnserver/read_auth_file.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/stringencode.h"
+
+ namespace webrtc_examples {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/turnserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+@@ -12,12 +12,16 @@
+ #include <iostream>
+ #include <map>
+ #include <string>
++#include <utility>
+
+ #include "examples/turnserver/read_auth_file.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/turnserver.h"
+ #include "rtc_base/asyncudpsocket.h"
+-#include "rtc_base/stringencode.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+@@ -173,6 +173,8 @@ rtc_static_library("rtc_event_log_impl_e
+ defines = []
+
+ deps = [
++ "../api:libjingle_peerconnection_api",
++ "../api/transport:network_control",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -346,6 +348,7 @@ if (rtc_enable_protobuf) {
+ ":rtc_event_rtp_rtcp",
+ ":rtc_event_video",
+ ":rtc_stream_config",
++ "../api:array_view",
+ "../api:libjingle_peerconnection_api",
+ "../call",
+ "../call:call_interfaces",
+@@ -355,6 +358,7 @@ if (rtc_enable_protobuf) {
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -375,13 +379,15 @@ if (rtc_enable_protobuf) {
+ deps = [
+ ":rtc_event_log_api",
+ ":rtc_event_log_parser",
++ "../api:array_view",
++ "../api:libjingle_peerconnection_api",
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../test:rtp_test_utils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+@@ -4,4 +4,5 @@ include_rules = [
+ "+modules/congestion_controller",
+ "+modules/remote_bitrate_estimator/include",
+ "+modules/rtp_rtcp",
++ "+system_wrappers",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+@@ -10,9 +10,10 @@
+
+ #include "logging/rtc_event_log/encoder/blob_encoding.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "logging/rtc_event_log/encoder/varint.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_common.h"
+
++#include <cstdint>
+ #include <limits>
+ #include <type_traits>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+@@ -10,6 +10,13 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
+
++#include <string.h>
++#include <vector>
++
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "api/transport/network_types.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+
+ #include "absl/strings/string_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+@@ -10,8 +10,7 @@
+
+ #include "logging/rtc_event_log/fake_rtc_event_log_factory.h"
+
+-#include <utility>
+-
++#include "logging/rtc_event_log/fake_rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+@@ -13,8 +13,6 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
+-
+-#include <memory>
+ #include <string>
+
+ #include "api/rtceventlogoutput.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+@@ -11,6 +11,7 @@
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
+
+ #include <fstream>
++#include <iterator>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+@@ -8,24 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <iostream>
+ #include <memory>
+-#include <sstream>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet.h"
+-#include "modules/rtp_rtcp/source/rtp_utility.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
++#include "test/rtp_file_reader.h"
+ #include "test/rtp_file_writer.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+@@ -13,6 +13,7 @@
+
+ #include <memory>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
+ #include "rtc_base/task_queue.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+@@ -11,8 +11,8 @@
+ #include "logging/rtc_event_log/rtc_event_log_unittest_helper.h"
+
+ #include <string.h> // memcmp
+-
+-#include <algorithm>
++#include <cmath>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+ #include <numeric>
+@@ -20,14 +20,21 @@
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+-#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/rtp_rtcp/include/rtp_cvo.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+@@ -11,9 +11,10 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+-#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+@@ -34,9 +35,11 @@
+ #include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_stream_config.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
++#include "modules/rtp_rtcp/source/rtp_packet.h"
+ #include "rtc_base/random.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+@@ -11,11 +11,13 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <initializer_list>
+ #include <numeric>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+@@ -73,6 +73,7 @@ rtc_static_library("rtc_media_base") {
+ defines = []
+ libs = []
+ deps = [
++ "../api:array_view",
+ "../api:audio_options_api",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+@@ -172,6 +173,7 @@ rtc_static_library("rtc_simulcast_encode
+ ]
+ deps = [
+ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+@@ -200,7 +202,11 @@ rtc_static_library("rtc_vp8_encoder_simu
+ ]
+ deps = [
+ ":rtc_simulcast_encoder_adapter",
++ "../:webrtc_common",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
++ "../modules/video_coding:video_codec_interface",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -217,6 +223,9 @@ rtc_static_library("rtc_internal_video_c
+ ":rtc_h264_profile_id",
+ ":rtc_simulcast_encoder_adapter",
+ ":rtc_vp8_encoder_simulcast_proxy",
++ "../:webrtc_common",
++ "../api/video:encoded_image",
++ "../api/video:video_frame",
+ "../modules/video_coding:video_codec_interface",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -278,8 +287,10 @@ rtc_static_library("rtc_audio_video") {
+ defines = []
+ libs = []
+ deps = [
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator_factory",
+ "../modules/audio_processing:api",
++ "../modules/audio_processing:gain_control_interface",
+ "../modules/audio_processing/aec_dump:aec_dump",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -446,6 +457,7 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_simulcast_encoder_adapter",
+ "../api:libjingle_peerconnection_api",
++ "../api/video:encoded_image",
+ "../api/video:video_frame_i420",
+ "../call:video_stream_api",
+ "../common_video:common_video",
+@@ -543,12 +555,17 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_constants",
+ ":rtc_data",
++ "../:webrtc_common",
+ "../api/test/video:function_video_factory",
+ "../api/units:time_delta",
+ "../api/video:video_frame_i420",
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:mocks",
+ "../modules/rtp_rtcp",
++
++ # TODO(http://crbug.com/908819): Add this dependency when Chromium
++ # android templates stop to consider *_module to have a special meaning.
++ # "../modules/video_capture:video_capture_module",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:webrtc_vp8",
+ "../pc:rtc_pc",
+@@ -558,6 +575,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:stringutils",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../test:field_trial",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+@@ -11,6 +11,11 @@
+ #include "media/base/adaptedvideotracksource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+@@ -11,10 +11,19 @@
+ #ifndef MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+ #define MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+
++#include <stdint.h>
++
++#include "absl/types/optional.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videoadapter.h"
+ #include "media/base/videobroadcaster.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakeframesource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+@@ -11,7 +11,10 @@
+ #include "media/base/fakeframesource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakertp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+@@ -8,10 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "media/base/fakertp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/checks.h"
++#include "test/gtest.h"
+
+ void CompareHeaderExtensions(const char* packet1,
+ size_t packet1_size,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+@@ -10,7 +10,15 @@
+
+ #include "media/base/fakevideocapturer.h"
+
++#include <string.h>
++#include <cstdint>
++
++#include "absl/memory/memory.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideorenderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+@@ -11,10 +11,14 @@
+ #ifndef MEDIA_BASE_FAKEVIDEORENDERER_H_
+ #define MEDIA_BASE_FAKEVIDEORENDERER_H_
+
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video/video_sink_interface.h"
+ #include "rtc_base/criticalsection.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "media/base/mediaconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const int kVideoCodecClockrate = 90000;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+@@ -11,7 +11,7 @@
+ #ifndef MEDIA_BASE_MEDIACONSTANTS_H_
+ #define MEDIA_BASE_MEDIACONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+@@ -10,9 +10,13 @@
+
+ #include "media/base/mediaengine.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
+ #include <utility>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/stringencode.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtpdataengine_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+@@ -16,9 +17,10 @@
+ #include "media/base/rtpdataengine.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/fakeclock.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ class FakeDataReceiver : public sigslot::has_slots<> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+@@ -10,10 +10,14 @@
+
+ #include "media/base/rtputils.h"
+
++#include <string.h>
++#include <vector>
++
+ // PacketTimeUpdateParams is defined in asyncpacketsocket.h.
+ // TODO(sergeyu): Find more appropriate place for PacketTimeUpdateParams.
+ #include "media/base/turnutils.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/messagedigest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <vector>
+
+ #include "media/base/fakertp.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+@@ -10,9 +10,10 @@
+
+ #include "media/base/streamparams.h"
+
++#include <stdint.h>
+ #include <list>
+
+-#include "rtc_base/checks.h"
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+@@ -26,10 +26,9 @@
+ #ifndef MEDIA_BASE_STREAMPARAMS_H_
+ #define MEDIA_BASE_STREAMPARAMS_H_
+
+-#include <stdint.h>
+-
++#include <stddef.h>
+ #include <algorithm>
+-#include <set>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "media/base/streamparams.h"
++
++#include <stdint.h>
++
+ #include "media/base/testutils.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ static const uint32_t kSsrcs1[] = {1};
+ static const uint32_t kSsrcs2[] = {1, 2};
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/testutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+@@ -10,10 +10,10 @@
+
+ #include "media/base/testutils.h"
+
+-#include <algorithm>
+-#include <memory>
++#include <cstdint>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videocapturer.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+@@ -12,7 +12,6 @@
+
+ #include "p2p/base/stun.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/turnutils.h"
+
+-#include <stddef.h>
+-
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+@@ -17,11 +17,10 @@
+ #include <utility>
+
+ #include "absl/types/optional.h"
+-#include "media/base/mediaconstants.h"
+ #include "media/base/videocommon.h"
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
+
+ namespace {
+ struct Fraction {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+@@ -11,12 +11,14 @@
+ #ifndef MEDIA_BASE_VIDEOADAPTER_H_
+ #define MEDIA_BASE_VIDEOADAPTER_H_
+
++#include <stdint.h>
+ #include <utility>
+
+ #include "absl/types/optional.h"
+ #include "media/base/videocommon.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+@@ -8,19 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h> // For INT_MAX
+-
+ #include <limits>
+ #include <memory>
+-#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_frame.h"
+ #include "media/base/fakeframesource.h"
+-#include "media/base/mediachannel.h"
+ #include "media/base/videoadapter.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+@@ -10,9 +10,11 @@
+
+ #include "media/base/videobroadcaster.h"
+
+-#include <limits>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+@@ -11,14 +11,12 @@
+ #ifndef MEDIA_BASE_VIDEOBROADCASTER_H_
+ #define MEDIA_BASE_VIDEOBROADCASTER_H_
+
+-#include <memory>
+-#include <utility>
+-#include <vector>
+-
+-#include "api/video/video_frame.h"
+-#include "api/video/video_sink_interface.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <limits>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videobroadcaster.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using rtc::VideoBroadcaster;
+ using rtc::VideoSinkWants;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+@@ -12,11 +12,16 @@
+
+ #include "media/base/videocapturer.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+@@ -9,16 +9,17 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videocapturer.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::FakeVideoCapturerWithTaskQueue;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/videocommon.h"
+
+-#include <limits.h> // For INT_MAX
+-#include <math.h>
+-
++#include "api/array_view.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "media/base/videocommon.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/base/videosourcebase.h"
+
++#include <algorithm>
++
+ #include "rtc_base/checks.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+@@ -14,6 +14,7 @@
+ #include <vector>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_source_interface.h"
+ #include "rtc_base/thread_checker.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+@@ -10,6 +10,9 @@
+
+ #include "media/base/vp9_profile.h"
+
++#include <map>
++#include <utility>
++
+ #include "rtc_base/string_to_number.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+@@ -11,7 +11,6 @@
+ #ifndef MEDIA_BASE_VP9_PROFILE_H_
+ #define MEDIA_BASE_VP9_PROFILE_H_
+
+-#include <map>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/adm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/adm_helpers.h"
+
+ #include "modules/audio_device/include/audio_device.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/apm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+@@ -10,8 +10,9 @@
+
+ #include "media/engine/apm_helpers.h"
+
+-#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/audio_processing/include/gain_control.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+@@ -16,11 +16,16 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/scopedvideodecoder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+@@ -10,14 +10,15 @@
+
+ #include "media/engine/fakewebrtcvideoengine.h"
+
++#include <algorithm>
++
++#include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/simulcast_encoder_adapter.h"
+-#include "media/engine/webrtcvideodecoderfactory.h"
+-#include "media/engine/webrtcvideoencoderfactory.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+@@ -11,15 +11,23 @@
+ #ifndef MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+ #define MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+@@ -12,6 +12,7 @@
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+@@ -10,10 +10,12 @@
+
+ #include "media/engine/internalencoderfactory.h"
+
+-#include <utility>
++#include <string>
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/engine/multiplexcodecfactory.h"
+
++#include <map>
++#include <string>
+ #include <utility>
+
+ #include "absl/strings/match.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+@@ -14,7 +14,10 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+@@ -11,6 +11,8 @@
+ #include <set>
+ #include <string>
+
++#include "absl/strings/string_view.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/payload_type_mapper.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+@@ -10,8 +10,10 @@
+
+ #include "media/engine/scopedvideodecoder.h"
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_decoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+@@ -10,10 +10,15 @@
+
+ #include "media/engine/scopedvideoencoder.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_encoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideoencoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/base/streamparams.h"
+ #include "media/engine/constants.h"
+ #include "media/engine/simulcast.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+@@ -11,6 +11,7 @@
+ #ifndef MEDIA_ENGINE_SIMULCAST_H_
+ #define MEDIA_ENGINE_SIMULCAST_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "api/video_codecs/video_encoder_config.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+@@ -10,17 +10,23 @@
+
+ #include "media/engine/simulcast_encoder_adapter.h"
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
+
+ #include "media/engine/simulcast_encoder_adapter.h"
++#include "modules/video_coding/include/video_error_codes.h"
+
+ namespace webrtc {
+ VP8EncoderSimulcastProxy::VP8EncoderSimulcastProxy(VideoEncoderFactory* factory,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+@@ -12,12 +12,19 @@
+ #ifndef MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+ #define MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+@@ -10,17 +10,19 @@
+
+ #include "media/engine/webrtcvideocapturer.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
++
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_factory.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+-#include "modules/video_capture/video_capture_factory.h"
+-
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32.h" // Need this to #include the impl files.
+ #endif // WEBRTC_WIN
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+@@ -11,17 +11,19 @@
+ #ifndef MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+ #define MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/device.h"
+ #include "media/base/videocapturer.h"
++#include "media/base/videocommon.h"
+ #include "modules/video_capture/video_capture.h"
+-#include "rtc_base/asyncinvoker.h"
+-#include "rtc_base/messagehandler.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+@@ -11,18 +11,21 @@
+ #ifdef HAVE_WEBRTC_VIDEO
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/testutils.h"
+ #include "media/base/videocommon.h"
++#include "media/engine/fakewebrtcdeviceinfo.h"
+ #include "media/engine/fakewebrtcvcmfactory.h"
++#include "media/engine/fakewebrtcvideocapturemodule.h"
+ #include "media/engine/webrtcvideocapturer.h"
++// TODO(http://crbug.com/908819): Add this when Chromium android templates
++// stop to consider *_module to have a special meaning. See media/BUILD.gn
++// #include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+-#include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::VideoFormat;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+@@ -14,6 +14,8 @@
+
+ #include <memory>
+
++#include "media/base/device.h"
++#include "media/base/videocapturer.h"
+ #include "media/base/videocapturerfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ #include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/sctp/sctptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+@@ -8,23 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <errno.h>
+-#include <stdarg.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "media/sctp/sctptransport.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ static const int kDefaultTimeout = 10000; // 10 seconds.
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+@@ -236,6 +236,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":module_api",
++ ":module_api_public",
+ "../test:test_main",
+ "../test:test_support",
+ "audio_coding:audio_coding_unittests",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+@@ -2090,6 +2090,7 @@ if (rtc_include_tests) {
+ ":webrtc_cng",
+ ":webrtc_opus",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../api/audio:audio_frame_api",
+ "../../api/audio_codecs:audio_codecs_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/audio_mixer/audio_mixer_impl.h"
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <functional>
+ #include <iterator>
++#include <type_traits>
+ #include <utility>
+
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+
++#include <stddef.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/audio/audio_frame.h"
+ #include "api/audio/audio_mixer.h"
+ #include "modules/audio_mixer/frame_combiner.h"
+ #include "modules/audio_mixer/output_rate_calculator.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+@@ -11,8 +11,10 @@
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
+
+ #include <algorithm>
++#include <iterator>
+
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+@@ -12,18 +12,19 @@
+
+ #include <algorithm>
+ #include <array>
+-#include <functional>
++#include <cstdint>
++#include <iterator>
++#include <string>
+
+ #include "api/array_view.h"
+-#include "audio/utility/audio_frame_operations.h"
+ #include "common_audio/include/audio_util.h"
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/audio_mixer_impl.h"
++#include "modules/audio_processing/include/audio_frame_view.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "modules/audio_processing/logging/apm_data_dumper.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/audio_mixer/frame_combiner.h"
+
++#include <cstdint>
++#include <initializer_list>
+ #include <numeric>
+ #include <string>
++#include <type_traits>
+
++#include "api/array_view.h"
+ #include "audio/utility/audio_frame_operations.h"
+ #include "modules/audio_mixer/gain_change_calculator.h"
+ #include "modules/audio_mixer/sine_wave_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+@@ -11,8 +11,11 @@
+ #include "modules/audio_mixer/gain_change_calculator.h"
+
+ #include <math.h>
++#include <cstdlib>
+ #include <vector>
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+ #define MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+@@ -11,6 +11,7 @@
+ #include "modules/audio_mixer/sine_wave_generator.h"
+
+ #include <math.h>
++#include <stddef.h>
+
+ #include "rtc_base/numerics/safe_conversions.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+ #define MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+@@ -80,10 +80,14 @@ if (rtc_include_tests) {
+ "../../logging:mocks",
+ "../../logging:rtc_event_bwe",
+ "../../logging:rtc_event_log_api",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:test_support",
++ "../congestion_controller/goog_cc:delay_based_bwe",
+ "../pacing:mock_paced_sender",
++ "../pacing:pacing",
+ "../remote_bitrate_estimator:remote_bitrate_estimator",
++ "../rtp_rtcp:rtp_rtcp_format",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+@@ -8,14 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
++#include <stdint.h>
++#include <memory>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/pacing/mock/mock_paced_sender.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++#include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ using ::testing::Exactly;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
+-
++#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h"
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+@@ -38,6 +38,8 @@ rtc_static_library("congestion_controlle
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base:rate_limiter",
+@@ -53,6 +55,7 @@ rtc_static_library("congestion_controlle
+ "goog_cc:probe_controller",
+ "goog_cc:pushback_controller",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -69,6 +72,7 @@ rtc_static_library("transport_feedback")
+
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_size",
+ "../../modules:module_api",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+@@ -91,7 +95,12 @@ if (rtc_include_tests) {
+ }
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:data_size",
++ "../../api/units:time_delta",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("congestion_controller_unittests") {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+@@ -16,6 +16,7 @@ rtc_static_library("bbr") {
+ deps = [
+ ":bbr_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -104,6 +105,7 @@ rtc_source_set("rtt_stats") {
+ deps = [
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -124,6 +126,9 @@ if (rtc_include_tests) {
+ ":bbr",
+ ":bbr_controller",
+ "..:test_controller_printer",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ ]
+ }
+ rtc_source_set("bbr_unittests") {
+@@ -150,6 +155,7 @@ if (rtc_include_tests) {
+ "../../../api/units:data_rate",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:logging",
+ "../../../test:test_support",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+@@ -9,10 +9,9 @@
+ */
+ // Based on the Quic implementation in Chromium.
+
+-#include <algorithm>
++#include <stddef.h>
+
+ #include "modules/congestion_controller/bbr/bandwidth_sampler.h"
+-
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+@@ -11,7 +11,6 @@
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+@@ -10,7 +10,7 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+
+-#include "absl/types/optional.h"
++#include <stdint.h>
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "modules/congestion_controller/bbr/loss_rate_filter.h"
++
++#include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+@@ -13,8 +13,10 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <deque>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/congestion_controller/bbr/packet_number_indexed_queue.h"
+
+-#include <limits>
+-#include <map>
+ #include <string>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
+-#include <cstdlib>
++#include <algorithm>
++#include <string>
++#include <type_traits>
+
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+@@ -13,11 +13,9 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+
+-#include <algorithm>
+-#include <cstdint>
+-
+ #include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
++#include <stdlib.h>
++#include <cmath>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+@@ -9,6 +9,8 @@
+ */
+ #include "modules/congestion_controller/bbr/test/bbr_printer.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ BbrStatePrinter::BbrStatePrinter() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+@@ -10,8 +10,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/bbr/bbr_factory.h"
+ #include "modules/congestion_controller/bbr/bbr_network_controller.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+@@ -10,10 +10,13 @@
+
+ #include "modules/congestion_controller/bbr/windowed_filter.h"
+
++#include <stdint.h>
++#include <string>
++#include <type_traits>
++
+ #include "api/units/data_rate.h"
+ #include "api/units/time_delta.h"
+-
+-#include "modules/congestion_controller/bbr/rtt_stats.h"
++#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+@@ -32,6 +32,10 @@ rtc_static_library("goog_cc") {
+ "../..:module_api",
+ "../../..:webrtc_common",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -55,6 +59,7 @@ rtc_source_set("pushback_controller") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_size",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../system_wrappers:field_trial",
+@@ -144,6 +149,9 @@ rtc_source_set("probe_controller") {
+
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -163,10 +171,18 @@ if (rtc_include_tests) {
+ "test/goog_cc_printer.h",
+ ]
+ deps = [
++ ":alr_detector",
++ ":delay_based_bwe",
+ ":estimators",
+ ":goog_cc",
+ "..:test_controller_printer",
+ "../../../api/transport:goog_cc",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../logging:rtc_event_log_api",
++ "../../../rtc_base:checks",
++ "../../remote_bitrate_estimator:remote_bitrate_estimator",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("goog_cc_unittests") {
+@@ -198,6 +214,8 @@ if (rtc_include_tests) {
+ "../../../api/transport:goog_cc",
+ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
++ "../../../api/units:data_rate",
++ "../../../api/units:timestamp",
+ "../../../logging:mocks",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+@@ -11,7 +11,11 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+
+-#include "api/transport/network_types.h"
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+@@ -9,12 +9,11 @@
+ */
+
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++
++#include "api/transport/network_types.h"
++#include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+-#include "modules/pacing/paced_sender.h"
+-#include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+-#include "test/field_trial.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+@@ -10,8 +10,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+
+ #include <algorithm>
+-#include <limits>
+-#include <utility>
++#include <cstdint>
+
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+
+-#include <list>
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+@@ -10,25 +10,25 @@
+
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+-#include <functional>
+-#include <limits>
++#include <cstdint>
+ #include <memory>
+ #include <numeric>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/alr_detector.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+@@ -18,6 +18,10 @@
+
+ #include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/timestamp.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+@@ -26,6 +30,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/congestion_controller/goog_cc/probe_bitrate_estimator.h"
+
+-#include <utility>
+-#include <vector>
++#include <stddef.h>
+
+-#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+-#include "test/gmock.h"
++#include "api/transport/network_types.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+@@ -12,7 +12,12 @@
+
+ #include <algorithm>
+ #include <initializer_list>
++#include <string>
+
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+@@ -10,8 +10,9 @@
+ #include <memory>
+
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+@@ -11,7 +11,12 @@
+
+ #include <math.h>
+
++#include "absl/types/optional.h"
++#include "modules/congestion_controller/goog_cc/alr_detector.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/trendline_estimator.h"
++#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+@@ -10,9 +10,14 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
+ #include "api/transport/goog_cc_factory.h"
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+@@ -20,12 +20,9 @@
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/networkroute.h"
+
+-namespace rtc {
+-struct SentPacket;
+-}
+-
+ namespace webrtc {
+
+ class BitrateController;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+@@ -16,8 +16,9 @@ rtc_static_library("pcc") {
+ deps = [
+ ":pcc_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -31,8 +32,14 @@ rtc_static_library("pcc_controller") {
+ ":monitor_interval",
+ ":rtt_tracker",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -43,6 +50,10 @@ rtc_static_library("monitor_interval") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -54,6 +65,8 @@ rtc_static_library("rtt_tracker") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -66,6 +79,8 @@ rtc_static_library("utility_function") {
+ deps = [
+ ":monitor_interval",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -79,8 +94,9 @@ rtc_static_library("bitrate_controller")
+ ":monitor_interval",
+ ":utility_function",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+@@ -102,13 +118,15 @@ if (rtc_include_tests) {
+ ":pcc_controller",
+ ":rtt_tracker",
+ ":utility_function",
++ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
+ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../test:test_support",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+@@ -9,10 +9,8 @@
+ */
+
+ #include <algorithm>
+-#include <array>
+ #include <cmath>
+ #include <cstdlib>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+-#include "api/transport/network_types.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++#include <cmath>
++
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+@@ -13,8 +13,11 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+ #include "modules/congestion_controller/pcc/pcc_network_controller.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+@@ -11,11 +11,16 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <deque>
+ #include <vector>
+
+ #include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/bitrate_controller.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/rtt_tracker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+@@ -13,8 +13,9 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+@@ -12,7 +12,9 @@
+
+ #include <algorithm>
+ #include <cmath>
+-#include <vector>
++
++#include "api/units/data_rate.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+@@ -11,7 +11,6 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+
+-#include "api/transport/network_control.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+@@ -8,8 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cmath>
++#include <type_traits>
+ #include <vector>
+
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+@@ -11,6 +11,7 @@
+ #include "modules/congestion_controller/include/receive_side_congestion_controller.h"
+
+ #include "modules/pacing/packet_router.h"
++#include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+@@ -72,6 +72,9 @@ rtc_source_set("control_handler") {
+ deps = [
+ "../:congestion_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rate_limiter",
+ "../../../rtc_base:safe_minmax",
+@@ -83,6 +86,7 @@ rtc_source_set("control_handler") {
+ "../../remote_bitrate_estimator",
+ "../../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -102,6 +106,7 @@ rtc_static_library("transport_feedback")
+ "../..:module_api",
+ "../../../api/transport:network_control",
+ "../../../api/units:data_size",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../rtc_base/network:sent_packet",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/congestion_controller/rtp/congestion_controller_unittests_helper.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+@@ -10,8 +10,12 @@
+
+ #include "modules/congestion_controller/rtp/control_handler.h"
+
+-#include "rtc_base/checks.h"
++#include <algorithm>
++#include <vector>
++
++#include "api/units/data_rate.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+
+-#include <algorithm>
+-#include <memory>
++#include <stdint.h>
+
+-#include "api/transport/network_control.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/include/network_changed_observer.h"
+ #include "modules/pacing/paced_sender.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+@@ -13,6 +13,7 @@
+ #include <random>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/congestion_controller/rtp/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
+
++#include "api/units/timestamp.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+@@ -10,23 +10,26 @@
+
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+
++#include <inttypes.h>
+ #include <algorithm>
+ #include <cstdio>
+ #include <iterator>
+ #include <memory>
++#include <string>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/network/sent_packet.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rate_limiter.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+@@ -9,11 +9,13 @@
+ */
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+-#include <cmath>
+ #include <limits>
+ #include <utility>
+
+-#include "rtc_base/checks.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+@@ -13,7 +13,8 @@
+ #include <cstdio>
+ #include <memory>
+
+-#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ class DebugStatePrinter {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+@@ -10,13 +10,16 @@
+
+ #include "modules/congestion_controller/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
++#include <cstdint>
+
++#include "api/units/data_size.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h"
+
+-#include <algorithm>
++#include <stdint.h>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+@@ -13,8 +13,11 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/rgba_color.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+@@ -16,6 +16,8 @@
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/fake_desktop_capturer.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+@@ -15,6 +15,7 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_capturer_wrapper.h"
++#include "modules/desktop_capture/desktop_frame.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+-
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+@@ -11,7 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/cropping_window_capturer.h"
+
++#include <stddef.h>
++#include <utility>
++
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+@@ -14,7 +14,11 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+@@ -14,8 +14,13 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+@@ -8,10 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+-#include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+@@ -10,7 +10,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+@@ -12,6 +12,10 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+
++#include <stdlib.h>
++#include <string.h>
++#include <utility>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+@@ -10,12 +10,12 @@
+
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+-#include <algorithm>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/differ_block.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+@@ -13,8 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_desktop_frame.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+@@ -13,7 +13,10 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+@@ -10,11 +10,11 @@
+
+ #include "modules/desktop_capture/desktop_frame.h"
+
+-#include <utility>
+-
+ #include <string.h>
++#include <utility>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+@@ -12,10 +12,10 @@
+
+ #include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/rgba_color.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
+-#include <string.h>
+-
+ #include "rtc_base/checks.h"
+ #include "third_party/libyuv/include/libyuv/rotate_argb.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
++#include <stdint.h>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/test_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+@@ -13,7 +13,6 @@
+
+ #include <stdint.h>
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+@@ -11,8 +11,8 @@
+ #include "modules/desktop_capture/desktop_region.h"
+
+ #include <assert.h>
+-
+ #include <algorithm>
++#include <utility>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+@@ -11,11 +11,11 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/desktop_capture/desktop_region.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cstdint>
+
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/desktop_capture/differ_block.h"
+-#include "test/gmock.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+@@ -12,6 +12,9 @@
+
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_frame.h"
++
+ namespace webrtc {
+
+ FakeDesktopCapturer::FakeDesktopCapturer() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+@@ -13,7 +13,6 @@
+
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+@@ -10,9 +10,11 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
++#include "rtc_base/thread_checker.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+@@ -16,6 +16,7 @@
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+@@ -10,18 +10,22 @@
+
+ #include "modules/desktop_capture/linux/mouse_cursor_monitor_x11.h"
+
+-#include <X11/Xutil.h>
++#include <X11/Xlib.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/xfixeswire.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+
+-#include <X11/Xlib.h>
+-
++#include <X11/X.h>
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+@@ -10,20 +10,19 @@
+
+ #include "modules/desktop_capture/linux/screen_capturer_x11.h"
+
+-#include <string.h>
+-
+ #include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+ #include <X11/extensions/Xdamage.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/damagewire.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <set>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/Xdamage.h>
+-
++#include <X11/extensions/Xfixes.h>
+ #include <memory>
+-#include <set>
+-#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+@@ -12,13 +12,15 @@
+
+ #include <X11/Xutil.h>
+ #include <X11/extensions/Xcomposite.h>
+-#include <X11/extensions/Xrender.h>
+-
++#include <X11/extensions/composite.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+@@ -11,15 +11,20 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+
++#include <X11/X.h>
++#include <X11/Xlib.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+
++#include <X11/X.h>
+ #include <memory>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+
+-#include <X11/Xatom.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <string.h>
+-
+ #include <algorithm>
+
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stdint.h>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+@@ -11,7 +11,7 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+
+-#include <X11/Xatom.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+@@ -11,6 +11,7 @@
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+
+ #include <assert.h>
++#include <stddef.h>
+
+ #if defined(TOOLKIT_GTK)
+ #include <gdk/gdk.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+@@ -10,7 +10,10 @@
+
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+
++#include <X11/Xutil.h>
++#include <stdint.h>
+ #include <string.h>
++#include <sys/ipc.h>
+ #include <sys/shm.h>
+
+ #include "modules/desktop_capture/desktop_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+@@ -13,13 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+
+-class DesktopFrame;
+-
+ class MouseCursor {
+ public:
+ MouseCursor();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+@@ -15,6 +17,7 @@
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/rgba_color.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+@@ -11,7 +11,6 @@
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+
+ #include <assert.h>
+-#include <algorithm>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+@@ -11,10 +11,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+ #define MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+
+-#include <stdint.h>
+-
+-#include <memory>
+-
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+@@ -8,16 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/rgba_color.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "modules/desktop_capture/screen_drawer_lock_posix.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/sleep.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+@@ -11,11 +11,9 @@
+ #include "modules/desktop_capture/shared_desktop_frame.h"
+
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+-#include "absl/memory/memory.h"
+-#include "rtc_base/constructormagic.h"
+-
+ namespace webrtc {
+
+ SharedDesktopFrame::~SharedDesktopFrame() {}
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+@@ -11,9 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_memory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+@@ -20,7 +20,6 @@
+ #include <memory>
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+@@ -10,8 +10,10 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
+ #include <string.h>
+
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
++
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+@@ -9,11 +9,14 @@
+ */
+
+ #include <memory>
++#include <string>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+-#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+@@ -11,12 +11,12 @@
+ #include "modules/desktop_capture/window_finder.h"
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/module_common_types_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/include/module_common_types.h"
+
++#include "modules/include/module_common_types_public.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+@@ -73,6 +73,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":interval_budget",
+ ":pacing",
++ "../../api/units:time_delta",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-
+ #include "modules/pacing/bitrate_prober.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/packet_router_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+@@ -8,11 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <list>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+
++#include "api/units/time_delta.h"
+ #include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+@@ -41,6 +41,7 @@ rtc_static_library("remote_bitrate_estim
+
+ deps = [
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../../api/units:data_rate",
+ "../../api/units:timestamp",
+ "../../modules:module_api",
+@@ -124,7 +125,10 @@ if (rtc_include_tests) {
+ deps = [
+ ":remote_bitrate_estimator",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/transport:network_control",
+ "../../logging:mocks",
+ "../../rtc_base:checks",
+ "../../rtc_base:gtest_prod",
+@@ -166,6 +170,7 @@ if (rtc_include_tests) {
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:fileutils",
+ "../../test:test_support",
+@@ -199,6 +204,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+@@ -227,6 +233,7 @@ if (rtc_include_tests) {
+ ":remote_bitrate_estimator",
+ "../..:webrtc_common",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:fileutils",
+ "../../test:test_main",
+ "../../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+@@ -8,13 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
++#include <string>
++#include <vector>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include <memory>
+
+-#include "common_types.h" // NOLINT(build/include)
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+-#include <cmath>
+ #include <cstdlib>
+ #include <memory>
+
+@@ -20,7 +19,6 @@
+ #include "modules/remote_bitrate_estimator/overuse_detector.h"
+ #include "modules/remote_bitrate_estimator/overuse_estimator.h"
+ #include "rtc_base/random.h"
+-#include "rtc_base/rate_statistics.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+@@ -26,6 +29,8 @@
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/rate_statistics.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+@@ -9,20 +9,22 @@
+ */
+
+ #ifndef WEBRTC_WIN
+-#include <sys/types.h>
+ #include <unistd.h>
+ #endif
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <sstream>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+@@ -11,10 +11,8 @@
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+
+ #include <algorithm>
+-#include <queue>
+-#include <set>
+-#include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+@@ -11,17 +11,21 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iterator>
+ #include <list>
+ #include <map>
+-#include <sstream>
+-#include <string>
++#include <utility>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
++#include "modules/include/module.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gtest_prod_util.h"
+ #include "rtc_base/numerics/sequence_number_util.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+@@ -11,13 +11,12 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h"
+
+ #include <stdio.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_fileutils.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+@@ -11,8 +11,8 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+
++#include <stdint.h>
+ #include <string>
+-#include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+@@ -11,11 +11,10 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+-#include "modules/include/module_common_types.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+@@ -11,10 +11,13 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+ #include <stdio.h>
+-
++#include <stdlib.h>
++#include <string.h>
++#include <cmath>
+ #include <sstream>
+
+-#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "rtc_base/system/unused.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+-#include <numeric>
+-
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+
++#include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+@@ -12,6 +12,7 @@
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ #include <stdlib.h>
++#include <time.h>
+ #include <algorithm>
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+@@ -11,9 +11,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+
+-#include <algorithm>
+-
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+@@ -12,9 +12,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+
+-#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
++#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+@@ -12,15 +12,9 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+
+-#include <climits>
+-#include <list>
+-#include <map>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+ #include <utility>
+-#include <vector>
+-
+-#include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/remote_bitrate_estimator/test/bwe.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+@@ -12,8 +12,7 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+
+-#include <cstdint>
+-#include <limits>
++#include <stddef.h>
+ #include <list>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+@@ -15,10 +15,12 @@
+ // From March 26, 2015.
+
+ #include <math.h>
++#include <stddef.h>
+ #include <algorithm>
++#include <cstdint>
++#include <list>
+ #include <vector>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+ #include "rtc_base/arraysize.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+@@ -10,17 +10,14 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+
++#include <math.h>
++#include <stddef.h>
+ #include <algorithm>
+ #include <memory>
+-#include <numeric>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+-#include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+-#include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+@@ -8,14 +8,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+-
+-#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
++#include <cstdint>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/system/unused.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/send_side.h"
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "absl/memory/memory.h"
++#include "api/rtp_headers.h"
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+@@ -11,13 +11,23 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
++#include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "rtc_base/constructormagic.h"
++#include "system_wrappers/include/clock.h"
++#include "test/gmock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+@@ -8,15 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdint>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/tcp.h"
+
+-#include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "test/gtest.h"
+-
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+
++#include <stdint.h>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <math.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+
++#include <assert.h>
++#include <cstdint>
++
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+@@ -11,13 +11,13 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+-#include <utility>
+ #include <vector>
+
+-#include "common_types.h" // NOLINT(build/include)
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "api/rtp_headers.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+@@ -10,14 +10,12 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+
++#include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "system_wrappers/include/clock.h"
+-#include "test/gtest.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+@@ -10,15 +10,20 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+
++#include <assert.h>
++#include <math.h>
+ #include <algorithm>
++#include <limits>
+ #include <list>
+-#include <sstream>
++#include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/pacing/pacer.h"
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+@@ -12,10 +12,10 @@
+ #include <stdlib.h>
+
+ #include "absl/strings/match.h"
++#include "absl/strings/string_view.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_config.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+
+ #ifndef abs
+ #define abs(a) (a >= 0 ? a : -a)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+
++#include <stdint.h>
+ #include <vector>
+
++#include "api/video/video_rotation.h"
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/synchronization/rw_lock_wrapper.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/device_info_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+@@ -8,9 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -14,12 +14,17 @@
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/stat.h>
+ #include <unistd.h>
+ // v4l includes
+ #include <linux/videodev2.h>
++#include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+@@ -11,8 +11,9 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+ namespace videocapturemodule {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -17,14 +17,15 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+-#include <sys/stat.h>
++#include <sys/select.h>
++#include <time.h>
+ #include <unistd.h>
+-
+ #include <new>
++#include <string>
+
+ #include "media/base/videocommon.h"
++#include "modules/video_capture/video_capture.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/platform_thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+@@ -15,6 +15,8 @@
+ #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_
+
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+@@ -9,18 +9,18 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_capture/video_capture_config.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/clock.h"
+ #include "third_party/libyuv/include/libyuv.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+@@ -15,10 +15,15 @@
+ * video_capture_impl.h
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_sink_interface.h"
+ #include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_config.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+@@ -15,9 +15,11 @@ rtc_static_library("encoded_frame") {
+ "encoded_frame.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../../:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../modules:module_api",
+ "../../modules:module_api_public",
+@@ -28,6 +30,7 @@ rtc_static_library("encoded_frame") {
+ "../../rtc_base/experiments:rtt_mult_experiment",
+ "../../system_wrappers:system_wrappers",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -70,15 +73,26 @@ rtc_static_library("packet") {
+ ]
+ deps = [
+ "..:module_api",
++ "../../:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+ rtc_static_library("video_coding") {
+ visibility = [ "*" ]
+ deps = [
++ "..:module_fec_api",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../system_wrappers:field_trial",
+ "../../system_wrappers:metrics",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+
+ sources = [
+@@ -201,6 +215,7 @@ rtc_source_set("video_codec_interface")
+ "../../api/video:video_frame",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -264,6 +279,7 @@ rtc_source_set("video_coding_utility") {
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -298,6 +314,7 @@ rtc_static_library("webrtc_h264") {
+ deps = [
+ ":video_codec_interface",
+ ":video_coding_utility",
++ "../../:webrtc_common",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -309,6 +326,7 @@ rtc_static_library("webrtc_h264") {
+ "../../system_wrappers:metrics",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+
+@@ -386,6 +404,7 @@ rtc_static_library("webrtc_multiplex") {
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+ "../../system_wrappers",
+ "../rtp_rtcp:rtp_rtcp_format",
+@@ -420,6 +439,7 @@ rtc_static_library("webrtc_vp8") {
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:create_vp8_temporal_layers",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -489,8 +509,10 @@ rtc_static_library("webrtc_vp9_helpers")
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../..:webrtc_common",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -635,14 +657,19 @@ if (rtc_include_tests) {
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_coding",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
++ "..:module_api",
+ "../..:webrtc_common",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -656,6 +683,8 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+ }
+@@ -704,13 +733,16 @@ if (rtc_include_tests) {
+ "codecs/test/videocodec_test_stats_impl.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video_codecs:video_codecs_api",
+ "../../call:video_stream_api",
+ "../../common_video",
+@@ -731,6 +763,7 @@ if (rtc_include_tests) {
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -757,6 +790,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":mock_headers",
++ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":videocodec_test_impl",
+@@ -772,6 +806,7 @@ if (rtc_include_tests) {
+ "../../api:mock_video_encoder",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:rtc_software_fallback_wrappers",
+@@ -886,14 +921,18 @@ if (rtc_include_tests) {
+ ":webrtc_vp9",
+ ":webrtc_vp9_helpers",
+ "..:module_api",
++ "..:module_fec_api",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:create_simulcast_test_fixture_api",
++ "../../api:fec_controller_api",
+ "../../api:mock_video_decoder",
+ "../../api:mock_video_encoder",
+ "../../api:simulcast_test_fixture_api",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+@@ -920,8 +959,10 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ if (rtc_build_libvpx) {
+ deps += [ rtc_libvpx_dir ]
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codec_timer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/codec_timer.h"
+
++#include <cstdint>
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+@@ -11,15 +11,19 @@
+
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+
++#include <string>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/h264_profile_level_id.h"
++#include "media/base/mediaconstants.h"
+
+ #if defined(WEBRTC_USE_H264)
+ #include "modules/video_coding/codecs/h264/h264_decoder_impl.h"
+ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h"
+ #endif
+
+-#include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/color_space.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+@@ -14,6 +14,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+ #define MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+
++#include <stdint.h>
++
+ namespace webrtc {
+
+ const int16_t kNoPictureId = -1;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h"
++
++#include <stdint.h>
++#include <utility>
++
+ #include "api/video/video_frame_buffer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+
++#include <cstdint>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ class AugmentedVideoFrameBuffer : public VideoFrameBuffer {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+@@ -14,6 +14,7 @@
+ #include <utility>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ int PackHeader(uint8_t* buffer, MultiplexImageHeader header) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <memory>
++#include <utility>
++#include <vector>
++
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_decoder_factory.h"
+ #include "api/test/mock_video_encoder_factory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "media/base/mediaconstants.h"
+@@ -21,7 +36,13 @@
+ #include "modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ using testing::_;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include <utility>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "test/video_codec_settings.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++
+ #include "api/test/videocodec_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+@@ -10,30 +10,43 @@
+
+ #include "modules/video_coding/codecs/test/videocodec_test_fixture_impl.h"
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <cmath>
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "common_types.h" // NOLINT(build/include)
++#include "common_video/h264/h264_common.h"
+ #include "media/base/h264_profile_level_id.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/simulcast.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/cpu_time.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_writer.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+@@ -11,12 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+
++#include <stddef.h>
+ #include <map>
+-#include <string>
+ #include <vector>
+
+ #include "api/test/videocodec_test_stats.h" // NOLINT(build/include)
+-#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+@@ -10,21 +10,27 @@
+
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <limits>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_bitrate_allocator_factory.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+@@ -11,21 +11,32 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/test/videocodec_test_stats.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_frame.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "test/testsupport/frame_reader.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+@@ -15,12 +15,10 @@
+ #include "api/test/mock_video_encoder.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/video/i420_buffer.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/test/videocodec_test_stats_impl.h"
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+-#include "modules/video_coding/include/video_coding.h"
+-#include "rtc_base/event.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+@@ -12,6 +12,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <limits>
+ #include <map>
+ #include <memory>
+@@ -19,9 +21,9 @@
+ #include <vector>
+
+ #include "absl/types/optional.h"
+-
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "modules/video_coding/codecs/vp8/include/temporal_layers_checker.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+@@ -9,11 +9,18 @@
+ */
+
+ #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
++
++#include <cstdint>
++
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+@@ -11,10 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "vpx/vp8cx.h"
++#include "vpx/vpx_codec.h"
+ #include "vpx/vpx_encoder.h"
++#include "vpx/vpx_image.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+@@ -8,18 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_decoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/numerics/exp_filter.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8.h"
++#include "vpx/vp8dx.h"
++#include "vpx/vpx_decoder.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+@@ -8,24 +8,33 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_timing.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/field_trial.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+@@ -8,16 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/codecs/vp8/screenshare_layers.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ using ::testing::_;
+ using ::testing::ElementsAre;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+@@ -15,6 +15,7 @@
+ #define MODULES_VIDEO_CODING_CODECS_VP9_INCLUDE_VP9_GLOBALS_H_
+
+ #include <assert.h>
++#include <stdint.h>
+
+ #include "modules/video_coding/codecs/interface/common_constants.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+@@ -10,6 +10,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+@@ -9,7 +9,6 @@
+ */
+
+ #include <cstddef>
+-#include <cstdint>
+ #include <vector>
+
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+@@ -12,8 +12,10 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <numeric>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+@@ -11,10 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+@@ -8,13 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string.h>
+-
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/decoding_state.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/frame_buffer.h"
+-#include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/session_info.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoded_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+@@ -10,6 +10,14 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <string.h>
++
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
++
+ namespace webrtc {
+
+ VCMEncodedFrame::VCMEncodedFrame()
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/video_coding/encoder_database.h"
+
++#include <string.h>
++
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+@@ -11,8 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+ #define MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+
++#include <stddef.h>
+ #include <memory>
+
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "modules/video_coding/generic_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <string>
+
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h" // NOLINT
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+ #define MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
++
+ #include "api/fec_controller.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/media_opt_util.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+@@ -8,6 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <vector>
++
++#include "api/fec_controller.h"
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+@@ -13,6 +13,10 @@
+ #include <assert.h>
+ #include <string.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/session_info.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+@@ -11,15 +11,22 @@
+ #include "modules/video_coding/frame_buffer2.h"
+
+ #include <algorithm>
+-#include <cstring>
++#include <cstdlib>
++#include <iterator>
+ #include <queue>
++#include <utility>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/experiments/rtt_mult_experiment.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/sequence_number_util.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_object.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/frame_object.h"
+
+-#include "common_video/h264/h264_common.h"
++#include <string.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/packet_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/video_coding/generic_decoder.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+-#include "modules/video_coding/include/video_coding.h"
+-#include "modules/video_coding/internal_defines.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+@@ -10,19 +10,24 @@
+
+ #include "modules/video_coding/generic_encoder.h"
+
++#include <cstddef>
++#include <cstdint>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_timing.h"
+ #include "modules/include/module_common_types_public.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/media_optimization.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstddef>
+ #include <vector>
+
+-#include "modules/video_coding/encoded_frame.h"
++#include "api/video/video_timing.h"
+ #include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+ #define MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
+-#include <stdint.h>
+-
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/h264_sps_pps_tracker.h"
+
++#include <string.h>
+ #include <vector>
+
++#include "absl/types/variant.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/packet.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/histogram.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+@@ -12,7 +12,7 @@
+
+ #include <algorithm>
+
+-#include "rtc_base/numerics/sequence_number_util.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+ #define MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+
+-#include <string>
+-#include <vector>
++#include <stddef.h>
++#include <stdint.h>
+
++#include "absl/types/optional.h"
++#include "api/video/video_content_type.h"
+ #include "api/video/video_frame.h"
+-#include "modules/include/module_common_types.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+@@ -12,17 +12,16 @@
+
+ #include <assert.h>
+ #include <math.h>
+-#include <stdlib.h>
+ #include <string.h>
+ #include <algorithm>
+-#include <string>
++#include <cstdint>
+
+ #include "absl/types/optional.h"
+ #include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/rtt_filter.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+@@ -7,11 +7,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/jitter_estimator.h"
++#include <stdint.h>
++#include <memory>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "modules/video_coding/jitter_estimator.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
++#include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_opt_util.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+@@ -10,18 +10,14 @@
+
+ #include "modules/video_coding/media_opt_util.h"
+
+-#include <float.h>
+-#include <limits.h>
++#include <assert.h>
+ #include <math.h>
+-
+ #include <algorithm>
+-#include <limits>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/fec_rate_table.h"
+-#include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/nack_fec_tables.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_optimization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/media_optimization.h"
+
++#include <string.h>
++#include <algorithm>
+ #include <limits>
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_NACK_MODULE_H_
+ #define MODULES_VIDEO_CODING_NACK_MODULE_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <set>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <cstring>
+ #include <memory>
+
+-#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/nack_module.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/packet.h"
+
++#include "api/rtp_headers.h"
+ #include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+@@ -11,8 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_PACKET_H_
+ #define MODULES_VIDEO_CODING_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+@@ -10,15 +10,22 @@
+
+ #include "modules/video_coding/packet_buffer.h"
+
++#include <string.h>
+ #include <algorithm>
+-#include <limits>
++#include <cstdint>
+ #include <utility>
+
++#include "absl/types/variant.h"
++#include "api/video/encoded_frame.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/frame_object.h"
+ #include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/mod_ops.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+@@ -11,14 +11,17 @@
+ #include "modules/video_coding/receiver.h"
+
+ #include <assert.h>
+-
++#include <cstdint>
+ #include <cstdlib>
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/internal_defines.h"
+-#include "modules/video_coding/media_opt_util.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/trace_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+@@ -8,13 +8,14 @@
+ */
+
+ #include <string.h>
+-
+-#include <list>
++#include <cstdint>
+ #include <memory>
+ #include <queue>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "modules/video_coding/receiver.h"
+ #include "modules/video_coding/test/stream_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+@@ -9,6 +9,17 @@
+ */
+
+ #include "modules/video_coding/session_info.h"
++
++#include <assert.h>
++#include <string.h>
++#include <vector>
++
++#include "absl/types/variant.h"
++#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+@@ -11,10 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_SESSION_INFO_H_
+ #define MODULES_VIDEO_CODING_SESSION_INFO_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+@@ -11,11 +11,10 @@
+ #include "modules/video_coding/test/stream_generator.h"
+
+ #include <string.h>
+-
+ #include <list>
+
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/packet.h"
+-#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+@@ -10,8 +10,10 @@
+ #ifndef MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+ #define MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+
++#include <stdint.h>
+ #include <list>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timestamp_map.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+@@ -10,7 +10,7 @@
+
+ #include <stdlib.h>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/video_coding/timestamp_map.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/timing.h"
+
++#include <assert.h>
+ #include <algorithm>
+
+ #include "rtc_base/time/timestamp_extrapolator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <algorithm>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+
++#include <stdint.h>
++
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+@@ -11,6 +11,7 @@
+ #include <limits>
+ #include <memory>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+
+-#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+@@ -10,7 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
+-#include "rtc_base/checks.h"
++#include <stddef.h>
++#include <cstdint>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+
++#include <stdint.h>
++
+ #include "absl/types/optional.h"
+ #include "rtc_base/rate_statistics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
+-#include <string>
+ #include <utility>
+
+ #include "api/video_codecs/video_codec.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+
+ #include "api/video/encoded_image.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+@@ -10,13 +10,12 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/thread.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/video_coding/utility/quality_scaler.h"
+
+-#include <math.h>
+-
+-#include <algorithm>
+ #include <memory>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/exp_filter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+@@ -11,15 +11,15 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
+-#include "absl/types/optional.h"
+ #include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+ #include "rtc_base/numerics/moving_average.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+@@ -66,6 +66,7 @@ class QualityScaler {
+ private:
+ class CheckQpTask;
+ class QpSmoother;
++
+ void CheckQp();
+ void ClearSamples();
+ void ReportQpLow();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+@@ -13,10 +13,10 @@
+ #include <memory>
+ #include <string>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
+ #include "test/field_trial.h"
+-#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+@@ -10,10 +10,10 @@
+
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+
++#include <stdio.h>
+ #include <algorithm>
+-#include <memory>
++#include <cstdint>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+@@ -11,15 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+-#include <map>
+-#include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+-#include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
++#include "api/video_codecs/video_codec.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+@@ -10,7 +10,9 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/simulcast_utility.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+
+-#include "api/video_codecs/video_encoder.h"
++#include <stdint.h>
++
++#include "api/video_codecs/video_codec.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+@@ -10,17 +10,19 @@
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
+
+-#include "api/video/video_bitrate_allocator.h"
++#include <stdint.h>
++#include <string.h>
++#include <algorithm>
++
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/system/fallthrough.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+@@ -9,7 +9,16 @@
+ */
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
++
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+@@ -17,6 +26,7 @@
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_coding_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+@@ -11,17 +11,14 @@
+ #include "modules/video_coding/video_coding_impl.h"
+
+ #include <algorithm>
+-#include <utility>
++#include <memory>
+
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "modules/video_coding/jitter_buffer.h"
+-#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+@@ -8,17 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <vector>
++
++#include "api/rtp_headers.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/decoder_database.h"
+ #include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/generic_decoder.h"
++#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/jitter_buffer.h"
++#include "modules/video_coding/media_opt_util.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/receiver.h"
++#include "modules/video_coding/timing.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/onetimeevent.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <vector>
+
+-#include <algorithm> // std::max
+-
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/encoder_database.h"
++#include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "modules/video_coding/internal_defines.h"
++#include "modules/video_coding/media_optimization.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/quality_scaler.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+@@ -27,6 +27,8 @@ rtc_static_library("video_processing") {
+ deps = [
+ ":denoiser_filter",
+ "..:module_api",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_audio",
+ "../../common_video",
+ "../../modules/utility",
+@@ -110,8 +112,12 @@ if (rtc_include_tests) {
+ "test/denoiser_test.cc",
+ ]
+ deps = [
++ ":denoiser_filter",
+ ":video_processing",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_video:common_video",
++ "../../rtc_base:ptr_util",
+ "../../test:fileutils",
+ "../../test:test_support",
+ "../../test:video_test_common",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+@@ -8,12 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <string.h>
+-
+ #include <memory>
++#include <string>
+
+-#include "common_video/include/i420_buffer_pool.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "modules/video_processing/util/denoiser_filter.h"
++#include "modules/video_processing/util/skin_detection.h"
+ #include "modules/video_processing/video_denoiser.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+@@ -11,11 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+
+-#include <climits>
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+-
+ namespace webrtc {
+
+ extern const int kMotionMagnitudeThreshold;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "modules/video_processing/util/denoiser_filter_c.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/video_processing/util/denoiser_filter_sse2.h"
++
+ #include <emmintrin.h>
++#include <stdlib.h>
++#include <string.h>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/noise_estimation.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+
++#include <cstdint>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/skin_detection.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+@@ -8,9 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h>
+-#include <math.h>
+-
+ #include "modules/video_processing/util/skin_detection.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "modules/video_processing/video_denoiser.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++
++#include <stdint.h>
++#include <string.h>
++
++#include "api/video/i420_buffer.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+@@ -13,10 +13,12 @@
+
+ #include <memory>
+
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+ #include "modules/video_processing/util/noise_estimation.h"
+ #include "modules/video_processing/util/skin_detection.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+@@ -93,6 +93,7 @@ rtc_static_library("rtc_p2p") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:stringutils",
+ "../rtc_base:weak_ptr",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/system:rtc_export",
+ "../rtc_base/third_party/base64",
+ "../rtc_base/third_party/sigslot",
+@@ -180,7 +181,9 @@ if (rtc_include_tests) {
+ deps = [
+ ":p2p_test_utils",
+ ":rtc_p2p",
++ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
++ "../api/units:time_delta",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -188,6 +191,8 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base:testclient",
++ "../rtc_base/network:sent_packet",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -231,6 +236,7 @@ if (rtc_include_tests) {
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_tests_utils",
++ "../test:test_support",
+ "//testing/gtest",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+@@ -10,11 +10,16 @@
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+
++#include <errno.h>
++#include <stdint.h>
+ #include <string.h>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+@@ -11,9 +11,13 @@
+ #ifndef P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+ #define P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+
++#include <stddef.h>
++
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+@@ -8,14 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <list>
+ #include <memory>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+@@ -12,6 +12,7 @@
+ #define P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
+
+ #include "api/asyncresolverfactory.h"
++#include "rtc_base/asyncresolverinterface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "p2p/base/basicasyncresolverfactory.h"
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+@@ -10,17 +10,18 @@
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+
++#include <stddef.h>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+-#include "p2p/base/stun.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketadapters.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/dtlstransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+@@ -11,14 +11,20 @@
+ #ifndef P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+ #define P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <vector>
+
+ #include "api/crypto/cryptooptions.h"
+ #include "p2p/base/icetransportinternal.h"
+ #include "p2p/base/packettransportinternal.h"
++#include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "p2p/base/icecredentialsiterator.h"
++
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/helpers.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
+ #include "p2p/base/icecredentialsiterator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::IceParameters;
+ using cricket::IceCredentialsIterator;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icetransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+@@ -11,16 +11,20 @@
+ #ifndef P2P_BASE_ICETRANSPORTINTERNAL_H_
+ #define P2P_BASE_ICETRANSPORTINTERNAL_H_
+
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/candidate.h"
+ #include "api/transport/enums.h"
+-#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/packettransportinternal.h"
+ #include "p2p/base/port.h"
+ #include "p2p/base/transportdescription.h"
++#include "rtc_base/network_constants.h"
+ #include "rtc_base/system/rtc_export.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/mdns_message.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+@@ -21,9 +21,7 @@
+ // Fuzzer tests (test/fuzzers/mdns_parser_fuzzer.cc) MUST always be performed
+ // after changes made to this file.
+
+-#include <map>
+-#include <memory>
+-#include <set>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "p2p/base/p2pconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const char CN_AUDIO[] = "audio";
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+@@ -11,7 +11,8 @@
+ #ifndef P2P_BASE_P2PCONSTANTS_H_
+ #define P2P_BASE_P2PCONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+@@ -11,6 +11,7 @@
+ #ifndef P2P_BASE_PACKETLOSSESTIMATOR_H_
+ #define P2P_BASE_PACKETLOSSESTIMATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <string>
+ #include <unordered_map>
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+@@ -8,10 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <utility>
+
+ #include "p2p/base/packetlossestimator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::PacketLossEstimator;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/port_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+@@ -8,32 +8,63 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <list>
+ #include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/candidate.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
++#include "p2p/base/packetsocketfactory.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/tcpport.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
++#include "p2p/base/turnserver.h"
++#include "p2p/client/relayportfactoryinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/crc32.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/network.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketadapters.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::AsyncPacketSocket;
+ using rtc::ByteBufferReader;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+@@ -11,10 +11,12 @@
+ #include "p2p/base/portallocator.h"
+
+ #include <iterator>
++#include <set>
+ #include <utility>
+
+ #include "p2p/base/icecredentialsiterator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+@@ -12,9 +12,9 @@
+
+ #include "p2p/base/fakeportallocator.h"
+ #include "p2p/base/portallocator.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ static const char kContentName[] = "test content";
+ // Based on ICE_UFRAG_LENGTH
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+@@ -10,14 +10,13 @@
+
+ #include "p2p/base/pseudotcp.h"
+
++#include <errno.h>
+ #include <stdio.h>
+-#include <stdlib.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <set>
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+@@ -11,6 +11,8 @@
+ #ifndef P2P_BASE_PSEUDOTCP_H_
+ #define P2P_BASE_PSEUDOTCP_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+
+ #include "rtc_base/stream.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+@@ -8,17 +8,23 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
+ #include "p2p/base/pseudotcp.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/memory_stream.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using cricket::PseudoTcp;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+@@ -7,13 +7,24 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
++#include "p2p/base/stunrequest.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/helpers.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/relayserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+@@ -14,11 +14,14 @@
+ // This file contains classes for dealing with the STUN protocol, as specified
+ // in RFC 5389, and its descendants.
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+@@ -116,14 +119,15 @@ const size_t kStunLegacyTransactionIdLen
+ // STUN Message Integrity HMAC length.
+ const size_t kStunMessageIntegritySize = 20;
+
+-class StunAttribute;
+ class StunAddressAttribute;
+-class StunXorAddressAttribute;
+-class StunUInt32Attribute;
+-class StunUInt64Attribute;
++class StunAttribute;
+ class StunByteStringAttribute;
+ class StunErrorCodeAttribute;
++
+ class StunUInt16ListAttribute;
++class StunUInt32Attribute;
++class StunUInt64Attribute;
++class StunXorAddressAttribute;
+
+ // Records a complete STUN/TURN message. Each message consists of a type and
+ // any number of attributes. Each attribute is parsed into an instance of an
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+@@ -15,10 +16,9 @@
+ #include "p2p/base/stun.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+@@ -11,9 +11,14 @@
+ #ifndef P2P_BASE_STUNREQUEST_H_
+ #define P2P_BASE_STUNREQUEST_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <string>
++
+ #include "p2p/base/stun.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+@@ -13,10 +13,9 @@
+ #include "p2p/base/stunrequest.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+@@ -11,10 +11,15 @@
+ #ifndef P2P_BASE_STUNSERVER_H_
+ #define P2P_BASE_STUNSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/stunserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+@@ -66,10 +66,18 @@
+
+ #include "p2p/base/tcpport.h"
+
++#include <errno.h>
++#include <algorithm>
+ #include <vector>
+
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/ratetracker.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+@@ -10,13 +10,20 @@
+
+ #include <list>
+ #include <memory>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/p2pconstants.h"
+ #include "p2p/base/tcpport.h"
++#include "p2p/base/transportdescription.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+ using cricket::Connection;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+@@ -10,6 +10,9 @@
+
+ #include "p2p/base/teststunserver.h"
+
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/socketserver.h"
++
+ namespace cricket {
+
+ TestStunServer* TestStunServer::Create(rtc::Thread* thread,
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+@@ -11,7 +11,9 @@
+ #ifndef P2P_BASE_TESTSTUNSERVER_H_
+ #define P2P_BASE_TESTSTUNSERVER_H_
+
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+@@ -11,7 +11,6 @@
+ #include "p2p/base/transportdescription.h"
+
+ #include "absl/strings/match.h"
+-#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/arraysize.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+@@ -10,12 +10,12 @@
+
+ #include "p2p/base/transportdescriptionfactory.h"
+
++#include <stddef.h>
+ #include <memory>
++#include <string>
+
+ #include "p2p/base/transportdescription.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
+ #include "rtc_base/sslfingerprint.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+@@ -15,9 +17,12 @@
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::TransportDescriptionFactory;
+ using cricket::TransportDescription;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+@@ -16,29 +16,31 @@
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/portallocator.h"
+-#include "p2p/base/tcpport.h"
++#include "p2p/base/stunport.h"
+ #include "p2p/base/testturncustomizer.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
+-#include "p2p/base/udpport.h"
+-#include "rtc_base/asynctcpsocket.h"
++#include "p2p/base/turnserver.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/dscp.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/socketadapters.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include "p2p/base/turnserver.h"
++
+ #include "p2p/base/basicpacketsocketfactory.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ // NOTE: This is a work in progress. Currently this file only has tests for
+ // TurnServerConnection, a primitive class used by TurnServer.
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <algorithm>
+ #include <memory>
++#include <ostream> // no-presubmit-check TODO(webrtc:8982)
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+-#include "p2p/base/p2ptransportchannel.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunrequest.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
+@@ -23,18 +25,23 @@
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/networkmonitor.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/socketaddresspair.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ using rtc::IPAddress;
+ using rtc::SocketAddress;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+@@ -13,6 +13,7 @@
+ #include <memory>
+ #include <utility>
+
++#include "p2p/base/portallocator.h"
+ #include "p2p/base/turnport.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+@@ -13,7 +13,9 @@
+
+ #include <memory>
+
++#include "p2p/base/port.h"
+ #include "p2p/client/relayportfactoryinterface.h"
++#include "rtc_base/asyncpacketsocket.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+@@ -9,18 +9,16 @@
+ */
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/asyncresolverinterface.h"
+-#include "rtc_base/bind.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using stunprober::StunProber;
+ using stunprober::AsyncCallback;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+@@ -67,10 +67,12 @@ rtc_static_library("rtc_pc_base") {
+ deps = [
+ "..:webrtc_common",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
+ "../api/video:video_frame",
++ "../call:call_interfaces",
+ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../common_video:common_video",
+@@ -78,6 +80,7 @@ rtc_static_library("rtc_pc_base") {
+ "../media:rtc_data",
+ "../media:rtc_h264_profile_id",
+ "../media:rtc_media_base",
++ "../media:rtc_media_config",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+@@ -185,6 +188,8 @@ rtc_static_library("peerconnection") {
+ deps = [
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+@@ -269,9 +274,11 @@ if (rtc_include_tests) {
+ ":rtc_pc",
+ ":rtc_pc_base",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../call:rtp_interfaces",
++ "../call:rtp_receiver",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_media_base",
+ "../media:rtc_media_tests_utils",
+@@ -308,24 +315,33 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":pc_test_utils",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
+ "../api/audio_codecs:builtin_audio_encoder_factory",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_media_tests_utils",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:api",
+ "../p2p:p2p_test_utils",
+ "../p2p:rtc_p2p",
+ "../pc:peerconnection",
++ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:perf_test",
+ "../test:test_support",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -364,13 +380,17 @@ if (rtc_include_tests) {
+ ":peerconnection",
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:libjingle_peerconnection_test_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../call:call_interfaces",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_data",
+@@ -381,6 +401,7 @@ if (rtc_include_tests) {
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:audio_processing",
+ "../p2p:p2p_test_utils",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -390,6 +411,7 @@ if (rtc_include_tests) {
+ "../test:test_support",
+ "../test:video_test_common",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -453,19 +475,27 @@ if (rtc_include_tests) {
+ deps = [
+ ":peerconnection",
+ ":rtc_pc_base",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_logging_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:loopback_media_transport",
+ "../api:mock_rtp",
++ "../api/audio:audio_mixer_api",
+ "../api/units:time_delta",
+ "../logging:fake_rtc_event_log",
++ "../media:rtc_media_config",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:audio_processing_statistics",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/base64",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:fileutils",
+ "//third_party/abseil-cpp/absl/memory",
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/audiotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+@@ -14,7 +14,6 @@
+ #include <string>
+
+ #include "api/mediastreaminterface.h"
+-#include "api/notifier.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+@@ -8,23 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <memory>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/audio_options.h"
++#include "api/rtpparameters.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/fakertp.h"
+ #include "media/base/mediachannel.h"
+-#include "p2p/base/fakecandidatepair.h"
++#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/fakedtlstransport.h"
+ #include "p2p/base/fakepackettransport.h"
++#include "p2p/base/icetransportinternal.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/channel.h"
++#include "pc/dtlssrtptransport.h"
++#include "pc/jseptransport.h"
++#include "pc/rtptransport.h"
++#include "rtc_base/arraysize.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::DtlsTransportInternal;
+ using cricket::FakeVoiceMediaChannel;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+@@ -15,9 +15,11 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+-#include "media/base/rtpdataengine.h"
++#include "media/base/mediaconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+@@ -11,12 +11,23 @@
+ #ifndef PC_CHANNELMANAGER_H_
+ #define PC_CHANNELMANAGER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/media_transport_interface.h"
++#include "call/call.h"
++#include "media/base/codec.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
+ #include "media/base/mediaengine.h"
+ #include "pc/channel.h"
++#include "pc/rtptransportinternal.h"
++#include "pc/sessiondescription.h"
++#include "rtc_base/platform_file.h"
+ #include "rtc_base/thread.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+@@ -9,17 +9,22 @@
+ */
+
+ #include <memory>
+-#include <utility>
+
++#include "absl/memory/memory.h"
++#include "api/rtcerror.h"
+ #include "api/test/fake_media_transport.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/channelmanager.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "pc/dtlssrtptransport.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ const bool kDefaultSrtpRequired = true;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+@@ -16,8 +16,10 @@
+ #include "media/sctp/sctptransportinternal.h"
+ #include "pc/sctputils.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <vector>
+
+@@ -16,6 +17,7 @@
+ #include "pc/test/fakedatachannelprovider.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "test/gtest.h"
+
+ using webrtc::DataChannel;
+ using webrtc::SctpSidAllocator;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+@@ -10,11 +10,12 @@
+
+ #include "pc/dtlssrtptransport.h"
+
+-#include <memory>
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+-#include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/sslstreamadapter.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+@@ -11,13 +11,16 @@
+ #ifndef PC_DTLSSRTPTRANSPORT_H_
+ #define PC_DTLSSRTPTRANSPORT_H_
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
+ #include "p2p/base/dtlstransportinternal.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/srtptransport.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+@@ -10,20 +10,26 @@
+
+ #include "pc/dtlssrtptransport.h"
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+-#include <utility>
++#include <set>
+
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "p2p/base/fakepackettransport.h"
++#include "p2p/base/fakeicetransport.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::FakeDtlsTransport;
+ using cricket::FakeIceTransport;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+@@ -11,11 +11,12 @@
+ #include "pc/dtmfsender.h"
+
+ #include <ctype.h>
+-
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+@@ -10,14 +10,16 @@
+
+ #include "pc/dtmfsender.h"
+
++#include <stddef.h>
+ #include <memory>
+-#include <set>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using webrtc::DtmfProviderInterface;
+ using webrtc::DtmfSender;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+@@ -11,11 +11,10 @@
+ #include "pc/externalhmac.h"
+
+ #include <stdlib.h> // For malloc/free.
++#include <string.h>
+
+ #include "rtc_base/logging.h"
+ #include "rtc_base/zero_memory.h"
+-
+-#include "third_party/libsrtp/crypto/include/crypto_kernel.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ // Begin test case 0 */
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+@@ -31,6 +31,8 @@
+ #include <stdint.h>
+
+ #include "third_party/libsrtp/crypto/include/auth.h"
++#include "third_party/libsrtp/crypto/include/crypto_types.h"
++#include "third_party/libsrtp/include/srtp.h"
+
+ #define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1
+ #define HMAC_KEY_LENGTH 20
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+@@ -10,10 +10,17 @@
+
+ #include "pc/iceserverparsing.h"
+
++#include <stddef.h>
+ #include <cctype> // For std::isdigit.
+ #include <string>
+
++#include "p2p/base/portinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/stringencode.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+@@ -15,6 +15,8 @@
+
+ #include "api/peerconnectioninterface.h"
+ #include "api/rtcerror.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+@@ -11,8 +11,11 @@
+ #include <string>
+ #include <vector>
+
++#include "p2p/base/portinterface.h"
+ #include "pc/iceserverparsing.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepicecandidate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+@@ -10,7 +10,7 @@
+
+ #include "api/jsepicecandidate.h"
+
+-#include <vector>
++#include <memory>
+
+ #include "absl/memory/memory.h"
+ #include "pc/webrtcsdp.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+@@ -8,20 +8,29 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/candidate.h"
++#include "api/jsep.h"
+ #include "api/jsepicecandidate.h"
+ #include "api/jsepsessiondescription.h"
++#include "media/base/codec.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
+-#include "pc/mediasession.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/sessiondescription.h"
+ #include "pc/webrtcsdp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ using cricket::MediaProtocolType;
+ using ::testing::Values;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jseptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+@@ -10,15 +10,19 @@
+
+ #include "pc/jseptransport.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
++#include <type_traits>
+ #include <utility> // for std::pair
+
++#include "absl/memory/memory.h"
++#include "api/array_view.h"
+ #include "api/candidate.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/p2ptransportchannel.h"
+-#include "p2p/base/port.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+@@ -10,9 +10,7 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <vector>
+-
+-#include "media/base/mediaengine.h"
++#include "rtc_base/refcountedobject.h"
+
+ using webrtc::MediaSourceInterface;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+@@ -11,9 +11,10 @@
+ #ifndef PC_LOCALAUDIOSOURCE_H_
+ #define PC_LOCALAUDIOSOURCE_H_
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
+-#include "media/base/mediachannel.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // LocalAudioSource implements AudioSourceInterface.
+ // This contains settings for switching audio processing on and off.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+@@ -10,12 +10,8 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <string>
+-#include <vector>
+-
+-#include "media/base/fakemediaengine.h"
+-#include "media/base/fakevideorenderer.h"
+-#include "rtc_base/gunit.h"
++#include "absl/types/optional.h"
++#include "test/gtest.h"
+
+ using webrtc::LocalAudioSource;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "api/mediaconstraintsinterface.h"
+
++#include "absl/types/optional.h"
+ #include "api/test/fakeconstraints.h"
+-#include "rtc_base/gunit.h"
++#include "media/base/mediaconfig.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+@@ -9,8 +9,11 @@
+ */
+
+ #include "pc/mediastream.h"
++
++#include <stddef.h>
++#include <vector>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+@@ -14,10 +14,10 @@
+ #define PC_MEDIASTREAM_H_
+
+ #include <string>
+-#include <vector>
+
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+@@ -8,14 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <string>
+
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastreamobserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+@@ -11,6 +11,8 @@
+ #include "pc/mediastreamobserver.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+@@ -8,22 +8,45 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <string>
++#include <type_traits>
++#include <utility>
++#include <vector>
+
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
++#include "api/jsep.h"
++#include "api/media_transport_interface.h"
++#include "api/mediatypes.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
+ #include "api/test/fake_media_transport.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediaconstants.h"
++#include "media/base/mediaengine.h"
++#include "media/sctp/sctptransportinternal.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
++#include "test/gtest.h"
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+ #endif
+ #include "absl/memory/memory.h"
+ #include "pc/test/fakesctptransport.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+@@ -8,23 +8,38 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <set>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
++#include "api/rtcerror.h"
+ #include "media/base/fakemediaengine.h"
++#include "p2p/base/portallocator.h"
+ #include "p2p/client/basicportallocator.h"
+-#include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
+-#include "pc/test/fakesctptransport.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+@@ -71,6 +86,7 @@ class PeerConnectionFactoryForUsageHisto
+ };
+
+ class PeerConnectionWrapperForUsageHistogramTest;
++
+ typedef PeerConnectionWrapperForUsageHistogramTest* RawWrapperPtr;
+
+ class ObserverForUsageHistogramTest : public MockPeerConnectionObserver {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rampup_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+@@ -8,28 +8,55 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/peerconnectioninterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/testturnserver.h"
+ #include "p2p/client/basicportallocator.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "pc/test/fakeperiodicvideotracksource.h"
+-#include "pc/test/fakertccertificategenerator.h"
+-#include "pc/test/fakevideotrackrenderer.h"
+ #include "pc/test/framegeneratorcapturervideotracksource.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/platform_thread.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/testcertificateverifier.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/perf_test.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+@@ -8,33 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <memory>
++#include <string>
++#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
+ #include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpparameters.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "api/umametrics.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "media/base/streamparams.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+-#include "pc/mediastream.h"
+-#include "pc/mediastreamtrack.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+
+ // This file contains tests for RTP Media API-related behavior of
+ // |webrtc::PeerConnection|, see https://w3c.github.io/webrtc-pc/#rtp-media-api.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+@@ -8,22 +8,35 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "media/base/fakevideocapturer.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portinterface.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+@@ -8,46 +8,86 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <limits.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <sstream>
+ #include <string>
+ #include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtceventlogoutput.h"
+ #include "api/rtpreceiverinterface.h"
+ #include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/codec.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
++#include "media/base/streamparams.h"
++#include "media/base/videocapturer.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "media/sctp/sctptransportinternal.h"
++#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/audiotrack.h"
+ #include "pc/mediasession.h"
+ #include "pc/mediastream.h"
+ #include "pc/peerconnection.h"
++#include "pc/peerconnectionfactory.h"
++#include "pc/rtcstatscollector.h"
+ #include "pc/rtpsender.h"
++#include "pc/sessiondescription.h"
+ #include "pc/streamcollection.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/fakertccertificategenerator.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "pc/test/testsdpstrings.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/platform_file.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #ifdef WEBRTC_ANDROID
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+@@ -10,17 +10,21 @@
+
+ #include "pc/peerconnectionwrapper.h"
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "api/jsepsessiondescription.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "pc/sdputils.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+@@ -11,14 +11,22 @@
+ #ifndef PC_PEERCONNECTIONWRAPPER_H_
+ #define PC_PEERCONNECTIONWRAPPER_H_
+
+-#include <functional>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/function_view.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/remoteaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+@@ -10,16 +10,18 @@
+
+ #include "pc/remoteaudiosource.h"
+
++#include <stddef.h>
+ #include <algorithm>
+-#include <functional>
+-#include <memory>
+-#include <utility>
++#include <string>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "pc/rtcpmuxfilter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ TEST(RtcpMuxFilterTest, IsActiveSender) {
+ cricket::RtcpMuxFilter filter;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstats_integrationtest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+@@ -8,16 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
++#include <memory>
+ #include <set>
++#include <string>
+ #include <vector>
+
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/datachannelinterface.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
+ #include "api/stats/rtcstatsreport.h"
++#include "api/test/fakeconstraints.h"
+ #include "pc/rtcstatstraversal.h"
+ #include "pc/test/peerconnectiontestwrapper.h"
+ #include "pc/test/rtcstatsobtainer.h"
+@@ -27,8 +38,10 @@
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+@@ -14,6 +14,7 @@
+ #include <string>
+ #include <vector>
+
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstatsreport.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+@@ -15,8 +15,7 @@
+ #include <vector>
+
+ #include "api/stats/rtcstats_objects.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ // This file contains tests for TakeReferencedStats().
+ // GetStatsNeighborIds() is tested in rtcstats_integrationtest.cc.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpmediautils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+@@ -10,6 +10,8 @@
+
+ #include "pc/rtpmediautils.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ RtpTransceiverDirection RtpTransceiverDirectionFromSendRecv(bool send,
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+@@ -10,10 +10,19 @@
+
+ #include "pc/rtpparametersconversion.h"
+
++#include <cstdint>
+ #include <set>
++#include <string>
++#include <unordered_map>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "api/mediatypes.h"
++#include "media/base/mediaconstants.h"
+ #include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+@@ -11,14 +11,15 @@
+ #ifndef PC_RTPPARAMETERSCONVERSION_H_
+ #define PC_RTPPARAMETERSCONVERSION_H_
+
+-#include <memory>
++#include <iosfwd>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "media/base/codec.h"
+-#include "pc/mediasession.h"
++#include "media/base/streamparams.h"
++#include "pc/sessiondescription.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+@@ -10,6 +10,7 @@
+
+ #include "pc/rtpreceiver.h"
+
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +20,9 @@
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+@@ -16,15 +16,25 @@
+ #define PC_RTPRECEIVER_H_
+
+ #include <stdint.h>
+-
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/crypto/framedecryptorinterface.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
+ #include "api/rtpreceiverinterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "media/base/mediachannel.h"
+ #include "media/base/videobroadcaster.h"
+ #include "pc/remoteaudiosource.h"
+ #include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+@@ -13,11 +13,14 @@
+ #include <utility>
+ #include <vector>
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+-#include "pc/localaudiosource.h"
++#include "media/base/mediaengine.h"
+ #include "pc/statscollector.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+@@ -8,30 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+ #include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/crypto/frameencryptorinterface.h"
++#include "api/dtmfsenderinterface.h"
++#include "api/mediastreaminterface.h"
++#include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "api/test/fake_frame_decryptor.h"
+ #include "api/test/fake_frame_encryptor.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
+ #include "media/base/rtpdataengine.h"
++#include "media/base/streamparams.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/audiotrack.h"
++#include "pc/channel.h"
+ #include "pc/channelmanager.h"
++#include "pc/dtlssrtptransport.h"
+ #include "pc/localaudiosource.h"
+ #include "pc/mediastream.h"
+-#include "pc/remoteaudiosource.h"
+ #include "pc/rtpreceiver.h"
+ #include "pc/rtpsender.h"
+-#include "pc/streamcollection.h"
++#include "pc/rtptransportinternal.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "pc/videotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+@@ -10,9 +10,12 @@
+
+ #include "pc/rtptransceiver.h"
+
++#include <algorithm>
+ #include <string>
+
+ #include "pc/rtpmediautils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+@@ -11,8 +11,9 @@
+ // This file contains tests for |RtpTransceiver|.
+
+ #include "pc/rtptransceiver.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/mock_channelinterface.h"
+
+ using ::testing::Return;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+@@ -10,14 +10,18 @@
+
+ #include "pc/rtptransport.h"
+
++#include <errno.h>
++#include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "media/base/rtputils.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+-#include "p2p/base/p2pconstants.h"
+-#include "p2p/base/packettransportinterface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <set>
+ #include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "p2p/base/fakepackettransport.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+@@ -10,6 +10,9 @@
+
+ #include "pc/sctputils.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "pc/sctputils.h"
++
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ class SctpUtilsTest : public testing::Test {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+@@ -10,8 +10,11 @@
+
+ #include "pc/sessiondescription.h"
+
++#include <algorithm>
+ #include <utility>
+
++#include "rtc_base/checks.h"
++
+ namespace cricket {
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+@@ -11,17 +11,21 @@
+ #ifndef PC_SESSIONDESCRIPTION_H_
+ #define PC_SESSIONDESCRIPTION_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iosfwd>
+ #include <string>
+ #include <vector>
+
+ #include "api/cryptoparams.h"
++#include "api/mediatypes.h"
+ #include "api/rtpparameters.h"
+ #include "api/rtptransceiverinterface.h"
+-#include "media/base/codec.h"
+ #include "media/base/mediachannel.h"
+ #include "media/base/streamparams.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportinfo.h"
+-#include "rtc_base/constructormagic.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+@@ -49,8 +53,8 @@ extern const char kMediaProtocolTcpDtlsS
+ const int kAutoBandwidth = -1;
+
+ class AudioContentDescription;
+-class VideoContentDescription;
+ class DataContentDescription;
++class VideoContentDescription;
+
+ // Describes a session description media section. There are subclasses for each
+ // media type (audio, video, data) that will have additional information.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+@@ -8,7 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "pc/sessiondescription.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+@@ -11,16 +11,11 @@
+ #include "pc/srtpfilter.h"
+
+ #include <string.h>
+-#include <algorithm>
+-#include <utility>
++#include <cstdint>
+
+-#include "media/base/rtputils.h"
+-#include "pc/srtpsession.h"
+-#include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+ #include "rtc_base/zero_memory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-
+-#include "pc/srtpfilter.h"
++#include <string.h>
+
+ #include "api/cryptoparams.h"
+-#include "rtc_base/gunit.h"
++#include "pc/srtpfilter.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "test/gtest.h"
+
+ using cricket::CryptoParams;
+ using cricket::CS_LOCAL;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpsession_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+@@ -10,14 +10,15 @@
+
+ #include "pc/srtpsession.h"
+
++#include <string.h>
+ #include <string>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/fakertp.h"
+ #include "pc/srtptestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/sslstreamadapter.h" // For rtc::SRTP_*
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+@@ -10,17 +10,22 @@
+
+ #include "pc/srtptransport.h"
+
++#include <stdint.h>
++#include <string.h>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/rtputils.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/zero_memory.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+@@ -11,18 +11,22 @@
+ #ifndef PC_SRTPTRANSPORT_H_
+ #define PC_SRTPTRANSPORT_H_
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/ortc/srtptransportinterface.h"
+-#include "p2p/base/dtlstransportinternal.h"
+-#include "p2p/base/icetransportinternal.h"
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/networkroute.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <set>
+ #include <vector>
+
+-#include "pc/srtptransport.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakepackettransport.h"
+-#include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "pc/srtptestutil.h"
++#include "pc/srtptransport.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ using rtc::kTestKey1;
+ using rtc::kTestKey2;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+@@ -14,6 +14,7 @@
+ #ifndef PC_STATSCOLLECTOR_H_
+ #define PC_STATSCOLLECTOR_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+@@ -23,7 +24,10 @@
+ #include "api/mediastreaminterface.h"
+ #include "api/peerconnectioninterface.h"
+ #include "api/statstypes.h"
++#include "p2p/base/port.h"
+ #include "pc/peerconnectioninternal.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/sslcertificate.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+@@ -9,21 +9,37 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <algorithm>
+ #include <memory>
+-#include <utility>
+-
+-#include "pc/statscollector.h"
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_codecs/audio_encoder.h"
++#include "api/candidate.h"
++#include "api/datachannelinterface.h"
++#include "call/call.h"
++#include "media/base/mediachannel.h"
++#include "modules/audio_processing/include/audio_processing_statistics.h"
++#include "pc/datachannel.h"
+ #include "pc/mediastream.h"
+ #include "pc/mediastreamtrack.h"
++#include "pc/statscollector.h"
+ #include "pc/test/fakepeerconnectionforstats.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "pc/transportstats.h"
+ #include "pc/videotrack.h"
+ #include "rtc_base/fakesslidentity.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/thread.h"
+ #include "test/gtest.h"
+
+ using cricket::ConnectionInfo;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+@@ -10,8 +10,10 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
+ #include <algorithm>
+
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ using std::min;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/transportstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+@@ -14,8 +14,9 @@
+ #include <string>
+ #include <vector>
+
+-#include "p2p/base/dtlstransport.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/port.h"
++#include "rtc_base/sslstreamadapter.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videocapturertracksource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "api/test/fakeconstraints.h"
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
++#include "media/base/mediachannel.h"
+ #include "pc/videocapturertracksource.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
++#include "test/gtest.h"
+
+ using cricket::FOURCC_I420;
+ using cricket::VideoFormat;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+@@ -9,8 +9,12 @@
+ */
+
+ #include <string>
++#include <vector>
+
++#include "api/notifier.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+@@ -12,12 +12,16 @@
+ #define PC_VIDEOTRACK_H_
+
+ #include <string>
+-#include <vector>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+@@ -9,14 +9,14 @@
+ */
+
+ #include <memory>
+-#include <string>
+
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/videocommon.h"
+ #include "pc/test/fakevideotrackrenderer.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
++#include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ using webrtc::FakeVideoTrackRenderer;
+ using webrtc::MediaSourceInterface;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+@@ -10,7 +10,7 @@
+
+ #include "pc/videotracksource.h"
+
+-#include <string>
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsdp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
++#include <utility>
+ #include <vector>
+
++#include "api/array_view.h"
++#include "api/cryptoparams.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
++#include "api/rtptransceiverinterface.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/engine/webrtcvideoengine.h"
++#include "media/base/streamparams.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/mediasession.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/stringencode.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+@@ -10,16 +10,25 @@
+
+ #include "pc/webrtcsessiondescriptionfactory.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/rtcerror.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+
+ using cricket::MediaSessionOptions;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+@@ -11,17 +11,25 @@
+ #ifndef PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+ #define PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <queue>
+ #include <string>
+
++#include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnectioninternal.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+@@ -84,7 +84,7 @@ rtc_source_set("rtc_base_approved") {
+ "system:arch",
+ "system:unused",
+ "third_party/base64",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+@@ -992,7 +992,7 @@ rtc_source_set("testclient") {
+ ":rtc_base",
+ ":rtc_base_tests_utils",
+ ":timeutils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1068,6 +1068,7 @@ if (rtc_include_tests) {
+ ":gunit_helpers",
+ ":rtc_base",
+ ":rtc_base_tests_utils",
++ "../test:test_support",
+ "third_party/sigslot",
+ ]
+ }
+@@ -1115,6 +1116,7 @@ if (rtc_include_tests) {
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
++ "third_party/sigslot:sigslot",
+ "//testing/gtest",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -1191,11 +1193,13 @@ if (rtc_include_tests) {
+ ":stringutils",
+ ":testclient",
+ "../api:array_view",
++ "../api/units:time_delta",
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "memory:unittests",
+ "third_party/base64",
++ "third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+@@ -1217,6 +1221,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":rtc_task_queue_for_test",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1251,6 +1256,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":weak_ptr",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncpacketsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+@@ -14,6 +14,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/deprecation.h"
+ #include "rtc_base/dscp.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socket.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+@@ -11,7 +11,11 @@
+ #ifndef RTC_BASE_ASYNCSOCKET_H_
+ #define RTC_BASE_ASYNCSOCKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asynctcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+@@ -10,14 +10,16 @@
+
+ #include "rtc_base/asynctcpsocket.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h" // for TimeMillis
+
+ #if defined(WEBRTC_POSIX)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncudpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+@@ -9,8 +9,15 @@
+ */
+
+ #include "rtc_base/asyncudpsocket.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/base64_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+@@ -9,10 +9,14 @@
+ */
+
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+
++#include <stdio.h>
++#include <string.h>
++#include <algorithm>
++
++#include "rtc_base/logging.h"
+ #include "rtc_base/testbase64.h"
++#include "test/gtest.h"
+
+ using namespace std;
+ using namespace rtc;
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bind_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+@@ -8,13 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <type_traits>
++#include <string>
+
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+-
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bitbuffer.h"
++
++#include <limits>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bitrateallocationstrategy.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_BUFFER_H_
+ #define RTC_BASE_BUFFER_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <cstring>
+ #include <memory>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "rtc_base/buffer.h"
+
+-#include "api/array_view.h"
+-#include "rtc_base/gunit.h"
+-
+-#include <type_traits>
++#include <cstdint>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bufferqueue.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bytebuffer.h"
++
++#include <string.h>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/byteorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+@@ -11,7 +11,7 @@
+ #include <stdint.h>
+
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/callback_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/callback.h"
++
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/refcount.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cancelable_task_handle.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+@@ -12,6 +12,8 @@
+
+ #include <utility>
+
++#include "rtc_base/checks.h"
++#include "rtc_base/refcount.h"
+ #include "rtc_base/refcounter.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
++
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+@@ -9,11 +9,9 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
+-#include <algorithm>
+-#include <memory>
++
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/timeutils.h"
+-#include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/crc32_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/crc32.h"
+-#include "rtc_base/gunit.h"
+
+ #include <string>
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ TEST(Crc32Test, TestBasic) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/criticalsection_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <set>
++#include <utility>
+ #include <vector>
+
+ #include "rtc_base/arraysize.h"
+@@ -17,9 +20,12 @@
+ #include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/data_rate_limiter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/event_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/platform_thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/congestion_controller_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ TEST(CongestionControllerExperimentTest, BbrDisabledByDefault) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/cpu_speed_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+ #include <string>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+ #include "rtc_base/experiments/field_trial_units.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+@@ -10,7 +10,7 @@
+
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+
+-#include <algorithm>
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakeclock.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+@@ -11,8 +11,11 @@
+ #ifndef RTC_BASE_FAKECLOCK_H_
+ #define RTC_BASE_FAKECLOCK_H_
+
++#include <stdint.h>
++
+ #include "api/units/time_delta.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakesslidentity.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+@@ -10,7 +10,6 @@
+
+ #include "rtc_base/fakesslidentity.h"
+
+-#include <algorithm>
+ #include <string>
+ #include <utility>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-#include <memory>
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/file.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+@@ -25,6 +25,7 @@
+ #endif // WEBRTC_WIN
+
+ #include "absl/strings/match.h"
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/filerotatingstream.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_base/firewallsocketserver.h"
+
++#include <errno.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
++#include <string>
+
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+@@ -12,7 +12,12 @@
+ #define RTC_BASE_FIREWALLSOCKETSERVER_H_
+
+ #include <vector>
++
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/function_view_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+@@ -12,7 +12,7 @@
+ #include <utility>
+
+ #include "rtc_base/function_view.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+@@ -10,15 +10,13 @@
+
+ #include "rtc_base/helpers.h"
+
++#include <openssl/rand.h>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+
+-#include <openssl/rand.h>
+-
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+
+ // Protect against max macro inclusion.
+ #undef max
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/httpcommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+@@ -14,25 +14,24 @@
+ #include <windows.h>
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
++
+ #define SECURITY_WIN32
+ #include <security.h>
+ #endif
+
+ #include <ctype.h> // for isspace
+ #include <stdio.h> // for sprintf
+-#include <algorithm>
+ #include <utility> // for pair
+ #include <vector>
+
+ #include "absl/strings/match.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/cryptstring.h" // for CryptString
+ #include "rtc_base/httpcommon.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/stringutils.h"
+ #include "rtc_base/third_party/base64/base64.h" // for Base64
+ #include "rtc_base/zero_memory.h" // for ExplicitZeroMemory
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+@@ -23,7 +23,6 @@
+ #endif
+ #include <string.h>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/byteorder.h"
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ipaddress.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -11,6 +11,7 @@
+ #include "rtc_base/key_derivation.h"
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/openssl_key_derivation_hkdf.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_KEY_DERIVATION_H_
+ #define RTC_BASE_KEY_DERIVATION_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/location.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/location.h"
+
++#include <stdio.h>
++
+ namespace rtc {
+
+ Location::Location(const char* function_name, const char* file_and_line)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/logging_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+@@ -9,13 +9,17 @@
+ */
+
+ #include "rtc_base/logging.h"
++
++#include <string.h>
++#include <algorithm>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/stream.h"
+-#include "test/testsupport/fileutils.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory/aligned_array.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+ #define RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/memory/aligned_malloc.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/memory_stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_STREAM_H_
+ #define RTC_BASE_MEMORY_STREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+@@ -13,15 +13,13 @@
+ #if defined(WEBRTC_LINUX)
+ #include <unistd.h>
+ #include <cstdio>
+-#include <cstdlib>
+-#include <cstring>
+ #elif defined(WEBRTC_MAC)
+ #include <mach/mach.h>
+ #elif defined(WEBRTC_WIN)
+ // clang-format off
+ // clang formating would change include order.
+ #include <windows.h>
+-#include <psapi.h> // must come after windows.h
++#include <psapi.h> // must come after windows.h
+ // clang-format on
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+@@ -9,7 +9,7 @@
+ */
+
+ #include "rtc_base/memory_usage.h"
+-#include <cstdio>
++
+ #include "test/gtest.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/messagedigest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nat_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
+ #include <memory>
+ #include <string>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
+ #include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/natsocketfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+@@ -11,14 +11,19 @@
+ #ifndef RTC_BASE_NATSOCKETFACTORY_H_
+ #define RTC_BASE_NATSOCKETFACTORY_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+-#include <string>
+
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/natserver.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+@@ -80,6 +85,7 @@ class NATSocketFactory : public SocketFa
+ class NATSocketServer : public SocketServer, public NATInternalSocketFactory {
+ public:
+ class Translator;
++
+ // holds a list of NATs
+ class TranslatorMap : private std::map<SocketAddress, Translator*> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include "rtc_base/nullsocketserver.h"
++
++#include <stdint.h>
++#include <memory>
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+ #define RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <map>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
+
++#include <cstdint>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_MOD_OPS_H_
+
+ #include <algorithm>
+-#include <limits>
+ #include <type_traits>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/mod_ops.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_average.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+ #define RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+ #define RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+
++#include <stddef.h>
+ #include <list>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/moving_median_filter.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_PERCENTILE_FILTER_H_
+
+ #include <stdint.h>
+-
+ #include <iterator>
+ #include <set>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+@@ -8,8 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
+ #include <climits>
++#include <cstdint>
+ #include <random>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+@@ -10,8 +10,7 @@
+
+ #include "rtc_base/numerics/sample_counter.h"
+
+-#include <utility>
+-#include <vector>
++#include <initializer_list>
+
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+@@ -11,12 +11,13 @@
+ #ifndef RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+ #define RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+
++#include <stdint.h>
+ #include <limits>
+ #include <type_traits>
+
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/mod_ops.h"
+-#include "rtc_base/numerics/safe_compare.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <iterator>
+ #include <set>
+
+ #include "rtc_base/numerics/sequence_number_util.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/onetimeevent.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+@@ -9,16 +9,18 @@
+ */
+
+ #include <signal.h>
+-#include <stdarg.h>
++#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/networkmonitor.h"
+ #include "rtc_base/physicalsocketserver.h"
+ #include "rtc_base/socket_unittest.h"
+ #include "rtc_base/testutils.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/proxyserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/proxyserver.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+@@ -8,13 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/event.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/rate_limiter.h"
+-#include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+@@ -8,7 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdlib>
+
+ #include "rtc_base/rate_statistics.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ratetracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ratetracker.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+@@ -10,6 +10,7 @@
+ #ifndef RTC_BASE_REFCOUNTEDOBJECT_H_
+ #define RTC_BASE_REFCOUNTEDOBJECT_H_
+
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
++#include <utility>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_ROLLINGACCUMULATOR_H_
+ #define RTC_BASE_ROLLINGACCUMULATOR_H_
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/rollingaccumulator.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+@@ -8,18 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <time.h>
+ #include <memory>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/sslidentity.h"
+-#include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+@@ -15,9 +15,9 @@
+ #include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sanitizer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "rtc_base/sanitizer.h"
+
+-#include "rtc_base/gunit.h"
++#include <stdint.h>
++
+ #include "rtc_base/logging.h"
++#include "test/gtest.h"
+
+ #if RTC_HAS_MSAN
+ #include <sanitizer/msan_interface.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/sequenced_task_checker.h"
+
++#include <memory>
++#include <utility>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/signalthread_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+@@ -13,7 +13,9 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/signalthread.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslot_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/sigslotrepeater.h"
++#include "test/gtest.h"
+
+ // This function, when passed a has_slots or signalx, will break the build if
+ // its threading requirement is not single threaded
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslottester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+@@ -12,8 +12,8 @@
+
+ #include <string>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+@@ -26,7 +26,6 @@
+ #endif
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socketaddress.h"
+
+ // Rather than converting errors into a private namespace,
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+@@ -8,20 +8,32 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+
+-#include "rtc_base/socket_unittest.h"
+-
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/buffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/nethelpers.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socket_unittest.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+@@ -12,9 +12,11 @@
+ #include <netinet/in.h> // for sockaddr_in
+ #endif
+
+-#include "rtc_base/gunit.h"
++#include <string.h>
++
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketstream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+@@ -11,9 +11,12 @@
+ #ifndef RTC_BASE_SOCKETSTREAM_H_
+ #define RTC_BASE_SOCKETSTREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslidentity_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+@@ -8,17 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
++#include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stringutils.h"
++#include "test/gtest.h"
+
+ using rtc::SSLIdentity;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslstreamadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+@@ -11,12 +11,16 @@
+ #ifndef RTC_BASE_SSLSTREAMADAPTER_H_
+ #define RTC_BASE_SSLSTREAMADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/stream.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/string_to_number_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+@@ -10,11 +10,11 @@
+
+ #include "rtc_base/string_to_number.h"
+
++#include <stdint.h>
+ #include <limits>
+ #include <string>
+-#include <type_traits>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringencode_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+@@ -9,12 +9,12 @@
+ */
+
+ #include "rtc_base/stringencode.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
+
++#include <string.h>
+ #include <sstream> // no-presubmit-check TODO(webrtc:8982)
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ class HexEncodeTest : public testing::Test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/json_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include <vector>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+@@ -10,8 +10,9 @@
+
+ #include "rtc_base/strings/string_builder.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/stringutils.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+@@ -11,7 +11,7 @@
+ #ifndef RTC_BASE_SWAP_QUEUE_H_
+ #define RTC_BASE_SWAP_QUEUE_H_
+
+-#include <algorithm>
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +19,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/system/unused.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/swap_queue.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_TASK_QUEUE_H_
+ #define RTC_BASE_TASK_QUEUE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <type_traits>
+ #include <utility>
+@@ -233,6 +234,7 @@ class RTC_LOCKABLE RTC_EXPORT TaskQueue
+
+ private:
+ class Impl;
++
+ const scoped_refptr<Impl> impl_;
+
+ RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue);
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_for_test.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+@@ -11,11 +11,11 @@
+ #ifndef RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+ #define RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+
+-#include <utility>
+-
+ #include "rtc_base/checks.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace rtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+@@ -15,14 +15,18 @@
+ // clang-format on
+ #endif
+
++#include <stdint.h>
+ #include <memory>
++#include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/bind.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/task_queue.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using rtc::test::TaskQueueForTest;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/testclient.h"
+
++#include <string.h>
++#include <utility>
++
+ #include "absl/memory/memory.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+@@ -9,12 +9,19 @@
+ */
+
+ #include "rtc_base/testclient.h"
++
++#include <utility>
++
+ #include "absl/memory/memory.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testechoserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/testechoserver.h"
+
++#include "rtc_base/socketserver.h"
++
+ namespace rtc {
+
+ TestEchoServer::TestEchoServer(Thread* thread, const SocketAddress& addr)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+@@ -11,12 +11,18 @@
+ #ifndef RTC_BASE_TESTECHOSERVER_H_
+ #define RTC_BASE_TESTECHOSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <algorithm>
+ #include <list>
+ #include <memory>
+
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+@@ -13,13 +13,12 @@
+
+ // Utilities for testing rtc infrastructure in unittests
+
+-#include <algorithm>
+ #include <map>
+-#include <memory>
+-#include <vector>
++#include <utility>
++
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/thread_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+@@ -11,10 +11,12 @@
+ // Borrowed from Chromium's src/base/threading/thread_checker_unittest.cc.
+
+ #include <memory>
++#include <utility>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/nullsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+@@ -9,13 +9,13 @@
+ */
+
+ #include <math.h>
+-
+ #include <algorithm>
+ #include <limits>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timestampaligner.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timeutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+@@ -9,11 +9,17 @@
+ */
+
+ #include "rtc_base/timeutils.h"
++
++#include <memory>
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/unittest_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+@@ -15,13 +15,13 @@
+ #endif
+
+ #include "rtc_base/flags.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslstreamadapter.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32socketinit.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+@@ -9,23 +9,39 @@
+ */
+
+ #include <math.h>
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <time.h>
+ #if defined(WEBRTC_POSIX)
+ #include <netinet/in.h>
+ #endif
+
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/weak_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/zero_memory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #include "rtc_base/zero_memory.h"
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+-#include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+@@ -67,6 +67,7 @@ rtc_static_library("video_file_reader")
+ deps = [
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -124,6 +125,7 @@ rtc_executable("frame_analyzer") {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../rtc_base:ptr_util",
+ "../rtc_base:stringutils",
+ "../test:perf_test",
+ ]
+@@ -154,6 +156,8 @@ if (!build_with_chromium) {
+ ":command_line_parser",
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -166,6 +170,8 @@ if (!build_with_chromium) {
+ deps = [
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -295,7 +301,11 @@ if (rtc_include_tests) {
+ defines = [ "ENABLE_RTC_EVENT_LOG" ]
+ deps = [
+ ":event_log_visualizer_utils",
++ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_parser",
++ "../modules/audio_coding:neteq",
++ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -366,6 +376,9 @@ if (rtc_include_tests) {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../:webrtc_common",
++ "../api/video:video_frame",
++ "../api/video:video_frame_i420",
+ "../common_video:common_video",
+ "../rtc_base",
+ "../rtc_base:checks",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+@@ -1,9 +1,11 @@
+ include_rules = [
+ "+call",
++ "+common_audio",
+ "+common_video",
+ "+logging/rtc_event_log",
+ "+modules/audio_device",
+ "+modules/audio_coding/audio_network_adaptor",
++ "+modules/audio_coding/neteq/include",
+ "+modules/audio_coding/neteq/tools",
+ "+modules/audio_processing",
+ "+modules/bitrate_controller",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/agc/activity_metric.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
++#include <assert.h>
++#include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <algorithm>
++#include <string.h>
++#include <iostream>
+ #include <memory>
+
+ #include "api/audio/audio_frame.h"
+-#include "modules/audio_processing/agc/agc.h"
+ #include "modules/audio_processing/agc/loudness_histogram.h"
+-#include "modules/audio_processing/agc/utility.h"
+ #include "modules/audio_processing/vad/common.h"
+ #include "modules/audio_processing/vad/pitch_based_vad.h"
+ #include "modules/audio_processing/vad/standalone_vad.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+@@ -7,14 +7,15 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include "rtc_tools/converter/converter.h"
++
+ #include <stdio.h>
+-#include <stdlib.h>
+ #include <sys/stat.h>
+-
+ #include <iomanip>
+ #include <sstream>
+
+-#include "rtc_tools/converter/converter.h"
++#include "third_party/libyuv/include/libyuv/compare.h"
++#include "third_party/libyuv/include/libyuv/convert.h"
+
+ #ifdef WIN32
+ #define SEPARATOR '\\'
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+@@ -11,11 +11,9 @@
+ #ifndef RTC_TOOLS_CONVERTER_CONVERTER_H_
+ #define RTC_TOOLS_CONVERTER_CONVERTER_H_
+
++#include <stdio.h>
+ #include <string>
+
+-#include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+@@ -10,10 +10,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_tools/converter/converter.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+@@ -8,9 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <iostream>
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
++#include "modules/audio_coding/neteq/include/neteq.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/event_log_visualizer/analyzer.h"
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+@@ -11,7 +11,6 @@
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+
+ #include <algorithm>
+-#include <limits>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+@@ -10,7 +10,10 @@
+
+ #include "rtc_tools/event_log_visualizer/plot_protobuf.h"
+
++#include <stddef.h>
++#include <iostream>
+ #include <memory>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+@@ -11,8 +11,9 @@
+ #include "rtc_tools/event_log_visualizer/plot_python.h"
+
+ #include <stdio.h>
+-
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+@@ -10,11 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/stringutils.h"
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+@@ -10,7 +10,12 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <math.h>
++#include <cstdint>
++#include <cstdlib>
++#include <functional>
+ #include <numeric>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+
++#include <stdint.h>
+ #include <valarray>
+ #include <vector>
++
+ #include "absl/types/optional.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <cstdint>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <iostream>
+ #include <numeric>
+ #include <vector>
+
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+@@ -11,9 +11,11 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ // Returns true if the frame is frozen based on psnr and ssim freezing
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+@@ -7,13 +7,11 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
+-#include <string.h>
+-#include <cstring>
+-#include <iostream>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
++#include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+@@ -10,20 +10,17 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <cmath>
+-#include <deque>
+-#include <limits>
++#include <cstdint>
+ #include <vector>
+
+ #include "api/array_view.h"
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+-#include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+@@ -13,6 +13,8 @@
+
+ #include <array>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stdint.h>
++
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <vector>
+
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+@@ -11,12 +11,13 @@
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+ #include <algorithm>
+-#include <numeric>
++#include <array>
++#include <cstddef>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "test/testsupport/perf_test.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+@@ -11,11 +11,12 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+
++#include <stdio.h>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+@@ -12,6 +12,7 @@
+ // to stdout by void functions, but it's still useful as it executes the code.
+
+ #include <stdio.h>
++#include <cstddef>
+ #include <fstream>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+@@ -12,15 +12,16 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <deque>
++#include <iterator>
+ #include <limits>
+ #include <vector>
+
+ #include "api/video/i420_buffer.h"
+-#include "rtc_base/checks.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+
++#include <stddef.h>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/video_temporal_aligner.h"
+
++#include <cstddef>
++
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_tools/frame_editing/frame_editing_lib.h"
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <string>
+
++#include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+
+ // A command-line tool to edit a YUV-video (I420 sub-sampled).
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+@@ -9,11 +9,11 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+@@ -9,11 +9,12 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <string.h>
+ #include <fstream>
+ #include <memory>
++#include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+@@ -48,6 +48,7 @@ if (rtc_enable_protobuf) {
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_task_queue",
+ "../../rtc_base:sequenced_task_checker",
++ "../../rtc_base/third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+@@ -9,8 +9,9 @@
+ */
+ #include "rtc_tools/network_tester/config_reader.h"
+
++#include <fstream>
++#include <iterator>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #ifdef WEBRTC_NETWORK_TESTER_TEST_ENABLED
+
+-#include "rtc_tools/network_tester/test_controller.h"
++#include <string>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_tools/network_tester/test_controller.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+@@ -11,9 +11,11 @@
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #include <algorithm>
++#include <memory>
+ #include <string>
+ #include <utility>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_tools/network_tester/config_reader.h"
+ #include "rtc_tools/network_tester/test_controller.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_tools/network_tester/test_controller.h"
+
++#include <limits>
++
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+@@ -11,22 +11,30 @@
+ #ifndef RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+ #define RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <array>
+-#include <limits>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
++#include "absl/types/optional.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/ignore_wundef.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_tools/network_tester/packet_logger.h"
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #ifdef WEBRTC_NETWORK_TESTER_PROTO
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "rtc_tools/network_tester/network_tester_packet.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+ using webrtc::network_tester::packet::NetworkTesterPacket;
+ #else
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+@@ -10,9 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++#include <algorithm>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "rtc_tools/video_file_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_tools/simple_command_line_parser.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+@@ -13,10 +13,14 @@
+ // The debug files are dumped as protobuf blobs. For analysis, it's necessary
+ // to unpack the file into its component parts: audio and other data.
+
++#include <inttypes.h>
++#include <stdint.h>
+ #include <stdio.h>
+-
++#include <stdlib.h>
+ #include <memory>
++#include <string>
+
++#include "common_audio/wav_file.h"
+ #include "modules/audio_processing/test/protobuf_utils.h"
+ #include "modules/audio_processing/test/test_utils.h"
+ #include "rtc_base/flags.h"
+@@ -26,6 +30,7 @@
+
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "modules/audio_processing/debug.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+
+ // TODO(andrew): unpack more of the data.
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+@@ -10,14 +10,13 @@
+
+ #include "rtc_tools/video_file_reader.h"
+
+-#include <algorithm>
+-#include <cmath>
+ #include <cstdio>
+ #include <string>
+-#include <utility>
++#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/string_to_number.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+@@ -10,13 +10,14 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_READER_H_
+ #define RTC_TOOLS_VIDEO_FILE_READER_H_
+
++#include <stddef.h>
+ #include <cstdio>
+ #include <iterator>
+ #include <string>
+-#include <vector>
+
+-#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "rtc_tools/video_file_reader.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+@@ -10,11 +10,12 @@
+
+ #include "rtc_tools/video_file_writer.h"
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/stringutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+@@ -10,10 +10,9 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_WRITER_H_
+ #define RTC_TOOLS_VIDEO_FILE_WRITER_H_
+
+-#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcountedobject.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "rtc_tools/video_file_writer.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+@@ -25,6 +25,7 @@ rtc_static_library("rtc_stats") {
+
+ deps = [
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -40,6 +41,7 @@ rtc_source_set("rtc_stats_test_utils") {
+ deps = [
+ ":rtc_stats",
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base/system:rtc_export",
+ ]
+ }
+@@ -61,6 +63,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_main",
+ "../rtc_base:rtc_json",
++ "../test:test_support",
+ ]
+
+ if (is_android) {
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_objects.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+@@ -10,6 +10,10 @@
+
+ #include "api/stats/rtcstats_objects.h"
+
++#include <utility>
++
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ const char* const RTCDataChannelState::kConnecting = "connecting";
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+@@ -11,12 +11,14 @@
+ #include "api/stats/rtcstats.h"
+
+ #include <cmath>
++#include <cstdint>
+ #include <cstring>
++#include <iostream>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/strings/json.h"
+ #include "stats/test/rtcteststats.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+@@ -11,6 +11,10 @@
+ #include "api/stats/rtcstatsreport.h"
+
+ #include <sstream>
++#include <type_traits>
++#include <utility>
++
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include "api/stats/rtcstats.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+@@ -10,6 +10,8 @@
+
+ #include "stats/test/rtcteststats.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ WEBRTC_RTCSTATS_IMPL(RTCTestStats,
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.h
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+@@ -11,6 +11,7 @@
+ #ifndef STATS_TEST_RTCTESTSTATS_H_
+ #define STATS_TEST_RTCTESTSTATS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+@@ -174,6 +174,7 @@ if (rtc_include_tests) {
+ ":metrics",
+ ":system_wrappers",
+ "..:webrtc_common",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../test:test_main",
+ "../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/include/metrics.h
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+@@ -11,6 +11,7 @@
+ #ifndef SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+ #define SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+@@ -8,6 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
++
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/random.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+@@ -219,11 +219,12 @@ if (rtc_include_tests) {
+ ":field_trial",
+ ":perf_test",
+ ":test_support",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../system_wrappers:field_trial",
+ "../system_wrappers:metrics",
+ "//testing/gtest",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+
+ # TODO(bugs.webrtc.org/9792): This is needed for downstream projects on
+ # Android, where it's replaced by an internal version of fileutils that
+@@ -339,6 +340,7 @@ if (rtc_include_tests) {
+ "../api:simulcast_test_fixture_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../modules/rtp_rtcp:rtp_rtcp",
+ "../modules/video_capture",
+@@ -607,10 +609,14 @@ rtc_source_set("fake_video_codecs") {
+ deps = [
+ "..:webrtc_common",
+ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:create_vp8_temporal_layers",
+ "../api/video_codecs:video_codecs_api",
+ "../common_video:common_video",
++ "../modules:module_api",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+@@ -621,6 +627,7 @@ rtc_source_set("fake_video_codecs") {
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -668,6 +675,7 @@ rtc_source_set("test_common") {
+ ":rtp_test_utils",
+ ":test_support",
+ ":video_test_common",
++ "../:webrtc_common",
+ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+@@ -682,6 +690,7 @@ rtc_source_set("test_common") {
+ "../call",
+ "../call:call_interfaces",
+ "../call:fake_network",
++ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:simulated_network",
+ "../call:simulated_packet_receiver",
+@@ -699,6 +708,8 @@ rtc_source_set("test_common") {
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../modules/rtp_rtcp:rtp_video_header",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+ "../modules/video_coding:webrtc_multiplex",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+@@ -11,9 +11,14 @@
+ #include "test/configurable_frame_size_encoder.h"
+
+ #include <string.h>
++#include <cstdint>
++#include <type_traits>
++#include <utility>
+
+ #include "api/video/encoded_image.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+@@ -11,10 +11,19 @@
+ #ifndef TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+ #define TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <functional>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/direct_transport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "test/direct_transport.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/drifting_clock.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+@@ -10,7 +10,10 @@
+ #ifndef TEST_DRIFTING_CLOCK_H_
+ #define TEST_DRIFTING_CLOCK_H_
+
++#include <stdint.h>
++
+ #include "system_wrappers/include/clock.h"
++#include "system_wrappers/include/ntp_time.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+@@ -12,7 +12,11 @@
+ #include <algorithm>
+ #include <string>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "call/rtp_config.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+@@ -10,10 +10,14 @@
+ #ifndef TEST_ENCODER_SETTINGS_H_
+ #define TEST_ENCODER_SETTINGS_H_
+
++#include <stddef.h>
++#include <string>
+ #include <vector>
+
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/video_receive_stream.h"
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_decoder.h"
+
++#include <string.h>
++
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+@@ -11,10 +11,12 @@
+ #ifndef TEST_FAKE_DECODER_H_
+ #define TEST_FAKE_DECODER_H_
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+@@ -11,12 +11,16 @@
+ #include "test/fake_encoder.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
++#include <string>
+
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "api/video/video_content_type.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/sleep.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+@@ -11,13 +11,23 @@
+ #ifndef TEST_FAKE_ENCODER_H_
+ #define TEST_FAKE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_texture_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/fake_texture_frame.h"
+
++#include "api/video/i420_buffer.h"
++#include "rtc_base/refcountedobject.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_vp8_decoder.h"
+
++#include <stddef.h>
++
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+@@ -11,8 +11,12 @@
+ #ifndef TEST_FAKE_VP8_DECODER_H_
+ #define TEST_FAKE_VP8_DECODER_H_
+
++#include <stdint.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+@@ -10,15 +10,16 @@
+
+ #include "test/fake_vp8_encoder.h"
+
++#include <algorithm>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/random.h"
+-#include "rtc_base/timeutils.h"
+
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+@@ -11,14 +11,22 @@
+ #ifndef TEST_FAKE_VP8_ENCODER_H_
+ #define TEST_FAKE_VP8_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+-#include "test/fake_encoder.h"
+-
+-#include "rtc_base/criticalsection.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
++#include "test/fake_encoder.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+@@ -9,19 +9,23 @@
+ */
+ #include "test/frame_generator.h"
+
+-#include <math.h>
+-#include <stdio.h>
+ #include <string.h>
+-
++#include <cstdint>
++#include <cstdio>
+ #include <memory>
+
+ #include "api/video/i010_buffer.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/random.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/frame_utils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+@@ -10,11 +10,14 @@
+
+ #include "test/frame_generator_capturer.h"
+
++#include <algorithm>
++#include <cmath>
++#include <limits>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_generator.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+@@ -12,6 +12,7 @@
+
+ #include <string.h>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+@@ -17,6 +17,10 @@
+ #include <GL/gl.h>
+ #endif
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/video/video_frame.h"
+ #include "test/video_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+@@ -8,12 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
++#include "api/rtp_headers.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_format.h"
+ #include "modules/rtp_rtcp/source/rtp_utility.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "test/layer_filtering_transport.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+@@ -10,9 +10,13 @@
+ #ifndef TEST_LAYER_FILTERING_TRANSPORT_H_
+ #define TEST_LAYER_FILTERING_TRANSPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
++#include <memory>
+
+-#include "api/test/simulated_network.h"
++#include "api/call/transport.h"
++#include "api/mediatypes.h"
+ #include "call/call.h"
+ #include "call/simulated_packet_receiver.h"
+ #include "test/direct_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+@@ -10,14 +10,11 @@
+
+ #include "test/linux/glx_renderer.h"
+
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
+ #include <assert.h>
+ #include <stdlib.h>
+
+-#include <X11/Xatom.h>
+-#include <X11/Xlib.h>
+-
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+@@ -12,8 +12,11 @@
+ #define TEST_LINUX_GLX_RENDERER_H_
+
+ #include <GL/glx.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stddef.h>
+
++#include "api/video/video_frame.h"
+ #include "test/gl/gl_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/video_renderer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+@@ -7,9 +7,10 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include "test/video_renderer.h"
++#include <stddef.h>
+
+ #include "test/linux/glx_renderer.h"
++#include "test/video_renderer.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "test/rtcp_packet_parser.h"
++
++#include "modules/rtp_rtcp/source/rtcp_packet/psfb.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/rtpfb.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+@@ -12,6 +12,9 @@
+ #ifndef TEST_RTCP_PACKET_PARSER_H_
+ #define TEST_RTCP_PACKET_PARSER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/array_view.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/app.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+@@ -10,8 +10,8 @@
+
+ #include "test/rtp_file_writer.h"
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+@@ -8,8 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/run_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+@@ -10,8 +10,6 @@
+
+ #include "test/run_test.h"
+
+-#include <stdio.h>
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+@@ -37,12 +37,15 @@ if (rtc_include_tests) {
+ "../:test_common",
+ "../:test_support",
+ "../:video_test_common",
++ "../../:webrtc_common",
+ "../../api:libjingle_peerconnection_api",
+ "../../api:transport_api",
+ "../../api/audio_codecs:builtin_audio_decoder_factory",
+ "../../api/audio_codecs:builtin_audio_encoder_factory",
+ "../../api/test/video:function_video_factory",
++ "../../api/transport:network_control",
+ "../../api/units:data_rate",
++ "../../api/units:data_size",
+ "../../api/units:time_delta",
+ "../../api/units:timestamp",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/scenario_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+@@ -10,15 +10,15 @@
+ #ifndef TEST_SCENARIO_SCENARIO_CONFIG_H_
+ #define TEST_SCENARIO_SCENARIO_CONFIG_H_
+
+-#include <memory>
++#include <stddef.h>
+ #include <string>
+-#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtpparameters.h"
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
+ #include "api/units/time_delta.h"
+-#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/frame_generator.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+@@ -9,9 +9,14 @@
+ */
+ #include "test/scenario/simulated_time.h"
+
++#include <inttypes.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
++#include <utility>
+
+-#include "rtc_base/format_macros.h"
++#include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+@@ -10,16 +10,22 @@
+ #ifndef TEST_SCENARIO_SIMULATED_TIME_H_
+ #define TEST_SCENARIO_SIMULATED_TIME_H_
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <deque>
+ #include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "test/scenario/call_client.h"
+-#include "test/scenario/column_printer.h"
+ #include "test/scenario/network_node.h"
+ #include "test/scenario/scenario_config.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/statistics.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+@@ -10,8 +10,8 @@
+ #include "test/statistics.h"
+
+ #include <math.h>
+-
+ #include <algorithm>
++#include <limits>
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_main_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+@@ -14,6 +14,7 @@
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_video_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+@@ -10,7 +10,10 @@
+
+ #include "test/test_video_capturer.h"
+
+-#include "rtc_base/constructormagic.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+@@ -26,12 +26,11 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+ #include <dirent.h>
+-#include <unistd.h>
+
+ #define GET_CURRENT_DIR getcwd
+ #endif
+@@ -43,9 +42,8 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+ #if defined(WEBRTC_IOS)
+@@ -56,7 +54,6 @@
+ #include "test/testsupport/macfileutils.h"
+ #endif
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/testsupport/fileutils_override.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/testsupport/fileutils_override.h"
+
++#include <limits.h>
++#include <stdio.h>
++
+ #if defined(WEBRTC_WIN)
+ #include <direct.h>
+ #include <tchar.h>
+@@ -20,12 +23,12 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+-#include <dirent.h>
+ #include <unistd.h>
++
+ #define GET_CURRENT_DIR getcwd
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+@@ -8,7 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+ #include <string>
+
+ #ifndef TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+@@ -11,10 +11,8 @@
+ #include "test/testsupport/fileutils.h"
+
+ #include <stdio.h>
+-
++#include <algorithm>
+ #include <fstream>
+-#include <iostream>
+-#include <list>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/perf_test_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "test/testsupport/perf_test.h"
+
++#include <algorithm>
+ #include <limits>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+@@ -11,8 +11,8 @@
+ #ifndef TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+ #define TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+
++#include <stdint.h>
+ #include <stdlib.h>
+-
+ #include <string>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+@@ -11,12 +11,10 @@
+ #include "test/testsupport/test_artifacts.h"
+
+ #include <string.h>
+-
+ #include <string>
+
+ #include "rtc_base/file.h"
+ #include "rtc_base/flags.h"
+-#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_base/checks.h"
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "test/testsupport/frame_writer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "test/testsupport/frame_reader.h"
++#include <stdio.h>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_reader.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+@@ -8,10 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+ #include "test/testsupport/frame_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+@@ -8,6 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/vcm_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+@@ -10,9 +10,15 @@
+
+ #include "test/vcm_capturer.h"
+
+-#include "call/video_send_stream.h"
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/video_capture_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+@@ -53,9 +53,13 @@ rtc_static_library("video") {
+
+ deps = [
+ ":frame_dumping_decoder",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:transport_api",
++ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+@@ -67,6 +71,8 @@ rtc_static_library("video") {
+ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:video_stream_api",
++ "../media:rtc_h264_profile_id",
++ "../modules:module_api_public",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/video_coding:codec_globals_headers",
+@@ -143,6 +149,7 @@ rtc_source_set("frame_dumping_decoder")
+
+ deps = [
+ "../api/video:encoded_frame",
++ "../api/video:encoded_image",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -276,7 +283,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../:webrtc_common",
++ "../api:simulated_network_api",
+ "../api:test_dependency_factory",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_vp9_profile",
+ "../modules/pacing:pacing",
+ "../modules/video_coding:webrtc_vp9",
+@@ -287,6 +298,7 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -304,6 +316,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -314,6 +331,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -329,6 +347,11 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -338,6 +361,8 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_renderer",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from Chrome's Clang plugins.
+@@ -353,6 +378,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -363,6 +393,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -451,8 +482,10 @@ if (rtc_include_tests) {
+ ":video",
+ ":video_mocks",
+ ":video_stream_encoder_impl",
++ "../:webrtc_common",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
+@@ -465,9 +498,11 @@ if (rtc_include_tests) {
+ "../call:fake_network",
+ "../call:mock_bitrate_allocator",
+ "../call:mock_rtp_interfaces",
++ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../call:rtp_sender",
+ "../call:simulated_network",
++ "../call:simulated_packet_receiver",
+ "../call:video_stream_api",
+ "../common_video",
+ "../logging:rtc_event_log_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/call_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+@@ -11,12 +11,11 @@
+ #include "video/call_stats.h"
+
+ #include <algorithm>
++#include <memory>
+
+ #include "modules/utility/include/process_thread.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/location.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/cpu_scaling_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+@@ -8,9 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++#include <vector>
++
++#include "api/rtpparameters.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/frame_generator_capturer.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/config_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+@@ -8,6 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <vector>
++
++#include "api/crypto/cryptooptions.h"
++#include "api/rtp_headers.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "test/call_test.h"
+ #include "test/gtest.h"
+ #include "test/null_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+@@ -8,13 +8,39 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/test/simulated_network.h"
++#include "api/video_codecs/sdp_video_format.h"
+ #include "api/video_codecs/video_encoder_config.h"
++#include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/rtp_config.h"
+ #include "call/simulated_network.h"
++#include "call/simulated_packet_receiver.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/event.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+ #include "test/rtcp_packet_parser.h"
++#include "test/rtp_rtcp_observer.h"
++#include "test/single_threaded_task_queue.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+@@ -8,12 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "logging/rtc_event_log/rtc_event_log.h"
+-#include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <vector>
++
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+-#include "test/encoder_settings.h"
+-#include "test/field_trial.h"
++#include "test/frame_generator_capturer.h"
+ #include "test/gtest.h"
++#include "test/single_threaded_task_queue.h"
+ #include "video/end_to_end_tests/multi_stream_tester.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+@@ -13,6 +13,7 @@
+ #include <utility>
+
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/file.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+@@ -11,9 +11,13 @@
+ #ifndef VIDEO_FRAME_DUMPING_DECODER_H_
+ #define VIDEO_FRAME_DUMPING_DECODER_H_
+
++#include <stdint.h>
+ #include <memory>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/platform_file.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/full_stack_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+@@ -7,12 +7,22 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "api/test/test_dependency_factory.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/vp9_profile.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+-#include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/flags.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/quality_threshold.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+@@ -11,7 +11,6 @@
+ #include "video/quality_threshold.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+@@ -12,12 +12,13 @@
+
+ #include <limits>
+ #include <memory>
+-#include <utility>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/report_block_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+@@ -11,6 +11,7 @@
+ #ifndef VIDEO_REPORT_BLOCK_STATS_H_
+ #define VIDEO_REPORT_BLOCK_STATS_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/rtp_streams_synchronizer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+@@ -10,12 +10,12 @@
+
+ #include "video/rtp_streams_synchronizer.h"
+
++#include "absl/types/optional.h"
+ #include "call/syncable.h"
+-#include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/screenshare_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+@@ -11,11 +11,15 @@
+ #ifndef VIDEO_SEND_DELAY_STATS_H_
+ #define VIDEO_SEND_DELAY_STATS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types_public.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+@@ -10,6 +10,10 @@
+
+ #include "video/send_delay_stats.h"
+
++#include <cstdint>
++#include <vector>
++
++#include "call/rtp_config.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+@@ -11,9 +11,7 @@
+ #include "video/stream_synchronization.h"
+
+ #include <assert.h>
+-#include <math.h>
+ #include <stdlib.h>
+-
+ #include <algorithm>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+@@ -11,7 +11,7 @@
+ #ifndef VIDEO_STREAM_SYNCHRONIZATION_H_
+ #define VIDEO_STREAM_SYNCHRONIZATION_H_
+
+-#include <list>
++#include <stdint.h>
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
+ #include <algorithm>
+
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+ #include "video/stream_synchronization.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/sv_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/transport_adapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+@@ -10,6 +10,8 @@
+ #ifndef VIDEO_TRANSPORT_ADAPTER_H_
+ #define VIDEO_TRANSPORT_ADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <atomic>
+
+ #include "api/call/transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_quality_observer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+@@ -11,9 +11,9 @@
+ #include "video/video_quality_observer.h"
+
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "system_wrappers/include/metrics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+@@ -11,23 +11,29 @@
+ #include "video/video_receive_stream.h"
+
+ #include <stdlib.h>
+-
++#include <string.h>
+ #include <set>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "call/rtx_receive_stream.h"
+-#include "common_video/h264/profile_level_id.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/incoming_video_stream.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
++#include "media/base/h264_profile_level_id.h"
+ #include "modules/utility/include/process_thread.h"
+-#include "modules/video_coding/frame_object.h"
+-#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "modules/video_coding/utility/vp8_header_parser.h"
+@@ -36,6 +42,7 @@
+ #include "rtc_base/logging.h"
+ #include "rtc_base/platform_file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+@@ -11,10 +11,15 @@
+
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "api/video/video_stream_encoder_create.h"
++#include "api/video/video_stream_encoder_settings.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extension_size.h"
+ #include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "video/video_send_stream_impl.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+@@ -9,20 +9,30 @@
+ */
+ #include "video/video_send_stream_impl.h"
+
++#include <stdio.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
++#include "api/crypto/cryptooptions.h"
++#include "api/rtpparameters.h"
++#include "api/video_codecs/video_codec.h"
+ #include "call/rtp_transport_controller_send_interface.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/pacing/paced_sender.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+-#include "rtc_base/file.h"
+-#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_checker.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+@@ -10,15 +10,32 @@
+ #ifndef VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+ #define VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/fec_controller.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_stream_encoder_interface.h"
++#include "api/video_codecs/video_encoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/bitrate_allocator.h"
++#include "call/rtp_config.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/rtp_video_sender_interface.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "modules/include/module_common_types.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/weak_ptr.h"
+ #include "video/call_stats.h"
+ #include "video/encoder_rtcp_feedback.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_stream_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+@@ -10,15 +10,9 @@
+
+ #include "video/video_stream_decoder.h"
+
+-#include <algorithm>
+-#include <map>
+-#include <vector>
+-
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/metrics.h"
+-#include "video/call_stats.h"
+ #include "video/receive_statistics_proxy.h"
+
+ namespace webrtc {
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index 1997af3..6e09024 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,26 +1,22 @@
-From efdd5bdf093e9074c9eba73650ff5ad95b280ec8 Mon Sep 17 00:00:00 2001
+From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
-Date: Sun, 4 Nov 2018 20:26:54 +0530
-Subject: [PATCH] Enable vaapi on Linux
+Date: Thu, 24 Jan 2019 12:45:29 +0530
+Subject: [PATCH] Enable mojo with VDA2 on Linux
---
- chrome/browser/about_flags.cc | 14 +++++++------
- chrome/browser/flag_descriptions.cc | 22 +++++++++++++-------
- chrome/browser/flag_descriptions.h | 16 +++++++++-----
- components/viz/service/main/viz_main_impl.cc | 2 +-
- content/gpu/BUILD.gn | 6 ++++++
- content/gpu/gpu_main.cc | 4 ++--
- gpu/config/software_rendering_list.json | 11 ----------
- media/base/media_switches.cc | 2 +-
- media/filters/BUILD.gn | 3 ++-
- media/gpu/BUILD.gn | 7 +++++++
- 10 files changed, 52 insertions(+), 35 deletions(-)
+ chrome/browser/about_flags.cc | 8 ++++----
+ chrome/browser/flag_descriptions.cc | 9 +++++++--
+ chrome/browser/flag_descriptions.h | 10 ++++++++--
+ gpu/config/software_rendering_list.json | 3 ++-
+ media/media_options.gni | 9 ++++++---
+ media/mojo/services/gpu_mojo_media_client.cc | 4 ++--
+ 6 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index db54ccb61..f32075fb8 100644
+index 0a84c6ac1..be2aa1d8b 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1797,7 +1797,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -29,7 +25,7 @@ index db54ccb61..f32075fb8 100644
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
#if defined(OS_WIN)
-@@ -2456,12 +2456,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
#endif // ENABLE_ISOLATED_XR_SERVICE
#endif // ENABLE_VR
@@ -41,80 +37,42 @@ index db54ccb61..f32075fb8 100644
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS OS_LINUX
++#endif // OS_CHROMEOS // OS_LINUX
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-@@ -4371,12 +4371,14 @@ const FeatureEntry kFeatureEntries[] = {
- "AutofillDropdownLayout")},
- #endif // OS_ANDROID
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- {"enable-vaapi-jpeg-image-decode-acceleration",
- flag_descriptions::kVaapiJpegImageDecodeAccelerationName,
-- flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS,
-+ flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(features::kVaapiJpegImageDecodeAcceleration)},
-+#endif
-
-+#if defined(OS_CHROMEOS)
- {"enable-home-launcher-gestures",
- flag_descriptions::kEnableHomeLauncherGesturesName,
- flag_descriptions::kEnableHomeLauncherGesturesDescription, kOsCrOS,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 6cc51bbfb..3c4babe3d 100644
+index 62637e092..86f89fc6e 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2996,9 +2996,9 @@ const char kTextSuggestionsTouchBarDescription[] =
+@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
#endif
-// Chrome OS -------------------------------------------------------------------
-+// Chrome OS and Linux -------------------------------------------------------------------
++// Chrome OS Linux-------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
const char kAcceleratedMjpegDecodeName[] =
"Hardware-accelerated mjpeg decode for captured frame";
-@@ -3006,6 +3006,18 @@ const char kAcceleratedMjpegDecodeDescription[] =
+ const char kAcceleratedMjpegDecodeDescription[] =
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
-
-+const char kVaapiJpegImageDecodeAccelerationName[] =
-+ "VA-API JPEG decode acceleration for images";
-+const char kVaapiJpegImageDecodeAccelerationDescription[] =
-+ "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-+ " captures) using the VA-API.";
-+
-+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID)
++#endif
+
-+// Only Chrome OS ------------------------------------------------------
++// Chrome OS --------------------------------------------------
+
+#if defined(OS_CHROMEOS)
-+
+
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
const char kAllowTouchpadThreeFingerClickDescription[] =
- "Enables touchpad three-finger-click as middle button.";
-@@ -3524,12 +3536,6 @@ const char kUseMonitorColorSpaceDescription[] =
- "Enables Chrome to use the color space information provided by the monitor"
- " instead of the default sRGB color space.";
-
--const char kVaapiJpegImageDecodeAccelerationName[] =
-- "VA-API JPEG decode acceleration for images";
--const char kVaapiJpegImageDecodeAccelerationDescription[] =
-- "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-- " captures) using the VA-API.";
--
- const char kVideoPlayerChromecastSupportName[] =
- "Experimental Chromecast support for Video Player";
- const char kVideoPlayerChromecastSupportDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 944695782..38d8fe144 100644
+index 5dac660bb..6cc4115da 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -1824,13 +1824,22 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
+@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
#endif // defined(OS_MACOSX)
@@ -122,171 +80,94 @@ index 944695782..38d8fe144 100644
+// Chrome OS and Linux ------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
-+extern const char kVaapiJpegImageDecodeAccelerationName[];
-+extern const char kVaapiJpegImageDecodeAccelerationDescription[];
-+
-+#endif
++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
+
-+// Chrome OS ----------------------------------------------------------------------
++// Chrome OS ------------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
+
extern const char kAllowTouchpadThreeFingerClickName[];
extern const char kAllowTouchpadThreeFingerClickDescription[];
-@@ -2145,9 +2154,6 @@ extern const char kUseMashDescription[];
- extern const char kUseMonitorColorSpaceName[];
- extern const char kUseMonitorColorSpaceDescription[];
-
--extern const char kVaapiJpegImageDecodeAccelerationName[];
--extern const char kVaapiJpegImageDecodeAccelerationDescription[];
--
- extern const char kVideoPlayerChromecastSupportName[];
- extern const char kVideoPlayerChromecastSupportDescription[];
-
-diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc
-index 6f5f55de7..b90db3738 100644
---- a/components/viz/service/main/viz_main_impl.cc
-+++ b/components/viz/service/main/viz_main_impl.cc
-@@ -41,7 +41,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() {
- // It should be possible to use |main_task_runner_| for doing IO tasks.
- base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0);
- thread_options.priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // TODO(reveman): Remove this in favor of setting it explicitly for each
- // type of process.
- thread_options.priority = base::ThreadPriority::DISPLAY;
-diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn
-index 8974e441d..d7eba85a9 100644
---- a/content/gpu/BUILD.gn
-+++ b/content/gpu/BUILD.gn
-@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni")
- import("//build/config/ui.gni")
- import("//gpu/vulkan/features.gni")
- import("//media/media_options.gni")
-+import("//media/gpu/args.gni")
- import("//ui/ozone/ozone.gni")
-
- # See //content/BUILD.gn for how this works.
-@@ -134,4 +135,9 @@ target(link_target_type, "gpu_sources") {
- (!is_chromecast || is_cast_desktop_build)) {
- configs += [ "//build/config/linux/dri" ]
- }
-+
-+ # Use vaapi on desktop Linux builds when use_vaapi is set
-+ if (is_desktop_linux && use_vaapi) {
-+ public_configs = [ "//media/gpu:libva_config" ]
-+ }
- }
-diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
-index 8397889b6..188d960a4 100644
---- a/content/gpu/gpu_main.cc
-+++ b/content/gpu/gpu_main.cc
-@@ -284,7 +284,7 @@ int GpuMain(const MainFunctionParams& parameters) {
-
- base::PlatformThread::SetName("CrGpuMain");
-
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // Set thread priority before sandbox initialization.
- base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
- #endif
-@@ -317,7 +317,7 @@ int GpuMain(const MainFunctionParams& parameters) {
- GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
-
- base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- io_thread_priority = base::ThreadPriority::DISPLAY;
- #endif
-
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index cb6118b6a..7b8ea0f75 100644
+index 65f37b3f1..ae8a1718f 100644
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
-@@ -369,17 +369,6 @@
- "all"
- ]
+@@ -371,11 +371,12 @@
},
-- {
-- "id": 48,
-- "description": "Accelerated video decode is unavailable on Linux",
-- "cr_bugs": [137247],
-- "os": {
-- "type": "linux"
-- },
-- "features": [
-- "accelerated_video_decode"
-- ]
-- },
{
- "id": 50,
- "description": "Disable VMware software renderer on older Mesa",
-diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
-index 41bfa9172..30ca4f40a 100644
---- a/media/base/media_switches.cc
-+++ b/media/base/media_switches.cc
-@@ -495,7 +495,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() {
- switches::kUseFakeJpegDecodeAccelerator)) {
- return true;
- }
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- return true;
- #endif
- return false;
-diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn
-index d558b537a..9ad090e07 100644
---- a/media/filters/BUILD.gn
-+++ b/media/filters/BUILD.gn
+ "id": 48,
+- "description": "Accelerated video decode is unavailable on Linux",
++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
+ "cr_bugs": [137247],
+ "os": {
+ "type": "linux"
+ },
++ "vendor_id": "0x10de",
+ "features": [
+ "accelerated_video_decode"
+ ]
+diff --git a/media/media_options.gni b/media/media_options.gni
+index 46eaa5818..6e338f651 100644
+--- a/media/media_options.gni
++++ b/media/media_options.gni
@@ -5,6 +5,7 @@
- import("//build/config/jumbo.gni")
- import("//media/media_options.gni")
- import("//third_party/libaom/options.gni")
+ import("//build/config/chrome_build.gni")
+ import("//build/config/chromecast_build.gni")
+ import("//build/config/features.gni")
+import("//media/gpu/args.gni")
-
- jumbo_source_set("filters") {
- # Do not expand the visibility here without double-checking with OWNERS, this
-@@ -200,7 +201,7 @@ jumbo_source_set("filters") {
- deps += [ "//media/base/android" ]
- }
-
-- if (current_cpu != "arm" && is_linux) {
-+ if (use_vaapi && is_linux) {
- sources += [
- "h264_bitstream_buffer.cc",
- "h264_bitstream_buffer.h",
-diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
-index 07bfdefda..7e33cd747 100644
---- a/media/gpu/BUILD.gn
-+++ b/media/gpu/BUILD.gn
-@@ -508,6 +508,12 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) {
- }
- }
-
-+import("//build/config/linux/pkg_config.gni")
-+
-+pkg_config("libva_config") {
-+ packages = [ "libva" ]
-+}
-+
- if (use_vaapi) {
- test("jpeg_encode_accelerator_unittest") {
- deps = [
-@@ -578,6 +584,7 @@ if (is_chromeos || is_linux) {
- if (use_ozone) {
- deps += [ "//ui/ozone" ]
+ import("//testing/libfuzzer/fuzzer_test.gni")
+
+ # Do not expand this list without double-checking with OWNERS, this is a list of
+@@ -129,8 +130,9 @@ declare_args() {
+ # |mojo_media_services|). When enabled, selected mojo paths will be enabled in
+ # the media pipeline and corresponding services will hosted in the selected
+ # remote process (e.g. "utility" process, see |mojo_media_host|).
+- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
+- is_win || enable_library_cdms
++ enable_mojo_media =
++ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
++ enable_library_cdms || (is_desktop_linux && use_vaapi)
+
+ # Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
+ # testing only and will override the default platform MojoMediaClient, if any.
+@@ -200,7 +202,8 @@ if (enable_mojo_media) {
+ ]
+ _default_mojo_media_host = "gpu"
}
-+ public_configs = [ ":libva_config" ]
+- } else if (is_chromeos || is_mac || is_win) {
++ } else if (is_chromeos || is_mac || is_win ||
++ (is_desktop_linux && use_vaapi)) {
+ _default_mojo_media_services = [ "video_decoder" ]
+ _default_mojo_media_host = "gpu"
}
- }
-
+diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
+index 75f5e611c..09a8fef92 100644
+--- a/media/mojo/services/gpu_mojo_media_client.cc
++++ b/media/mojo/services/gpu_mojo_media_client.cc
+@@ -54,7 +54,7 @@ namespace media {
+ namespace {
+
+ #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_LINUX)
+ gpu::CommandBufferStub* GetCommandBufferStub(
+ base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
+ base::UnguessableToken channel_token,
+@@ -148,7 +148,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::CreateVideoDecoder(
+ android_overlay_factory_cb_, std::move(request_overlay_info_cb),
+ std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
+ std::move(get_stub_cb)));
+-#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
++#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+ std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
+ task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
+ gpu_preferences_, gpu_workarounds_,
--
-2.19.2
+2.20.1
diff --git a/fixvaapiozone.patch b/fixvaapiozone.patch
new file mode 100644
index 0000000..dea5cf4
--- /dev/null
+++ b/fixvaapiozone.patch
@@ -0,0 +1,33 @@
+From 0fba13c7fb502568c38de99ba41719c7b4e4fd9d Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov(a)igalia.com>
+Date: Tue, 15 Jan 2019 10:23:13 +0200
+Subject: [PATCH] [ozone/wayland]: fix vaapi build.
+
+This is a fix to fix vaapi build with ozone wayland. It's not
+tested, but requested by external.
+
+Issue: https://github.com/Igalia/chromium/issues/511
+Change-Id: Id3cf0702e9ea6c93fef0f99c23029ab2b1b291d2
+---
+ media/gpu/vaapi/BUILD.gn | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
+index cf471b7feb856..1c66745954048 100644
+--- a/media/gpu/vaapi/BUILD.gn
++++ b/media/gpu/vaapi/BUILD.gn
+@@ -88,12 +88,12 @@ source_set("vaapi") {
+ ]
+ }
+
+- if (ozone_platform_gbm || use_egl) {
++ if (ozone_platform_wayland || ozone_platform_gbm || use_egl) {
+ sources += [
+ "vaapi_picture_native_pixmap.cc",
+ "vaapi_picture_native_pixmap.h",
+ ]
+- if (ozone_platform_gbm) {
++ if (ozone_platform_gbm || ozone_platform_wayland) {
+ sources += [
+ "vaapi_picture_native_pixmap_ozone.cc",
+ "vaapi_picture_native_pixmap_ozone.h",
diff --git a/gn-gold.patch b/gn-gold.patch
new file mode 100644
index 0000000..9b010bd
--- /dev/null
+++ b/gn-gold.patch
@@ -0,0 +1,24 @@
+From 5f5d6cf6508f4d6ad98c24d73f38755a07ec8da4 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Tue, 5 Feb 2019 14:46:38 +0530
+Subject: [PATCH] Use gold in gn bootstrap
+
+---
+ tools/gn/build/gen.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/gn/build/gen.py b/tools/gn/build/gen.py
+index ee4f8e146..3d866df2e 100755
+--- a/tools/gn/build/gen.py
++++ b/tools/gn/build/gen.py
+@@ -317,6 +317,7 @@ def WriteGNNinja(path, platform, host, options):
+ ldflags.extend([
+ '-static-libstdc++',
+ '-Wl,--as-needed',
++ '-fuse-ld=gold',
+ ])
+ libs.extend([
+ # These are needed by libc++.
+--
+2.20.1
+
diff --git a/nounrar.patch b/nounrar.patch
index d4e680c..698c7e9 100644
--- a/nounrar.patch
+++ b/nounrar.patch
@@ -1,119 +1,78 @@
-From 136a79606fb83485e6c10257bb2e970d306c6f5f Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <biswasab(a)akarshans-desk.biswasab.org>
-Date: Thu, 6 Dec 2018 12:53:47 +0530
-Subject: [PATCH] Don't use unrar
-
----
- .../check_client_download_request.cc | 69 -------------------
- .../check_client_download_request.h | 1 -
- chrome/common/safe_browsing/BUILD.gn | 2 -
- chrome/services/file_util/public/cpp/BUILD.gn | 3 -
- .../public/mojom/safe_archive_analyzer.mojom | 5 --
- .../file_util/safe_archive_analyzer.cc | 9 ---
- .../file_util/safe_archive_analyzer.h | 2 -
- 7 files changed, 91 deletions(-)
-
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-index d1413bb1d..ec337e92c 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-@@ -380,10 +380,6 @@ void CheckClientDownloadRequest::AnalyzeFile() {
- // are enabled.
- if (item_->GetTargetFilePath().MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
+diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+index af72d11371e1..472cb0098d5e 100644
+--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
++++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+@@ -22,7 +22,6 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h"
+ #include "chrome/browser/safe_browsing/ui_manager.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/download/public/common/download_item.h"
+ #include "components/history/core/browser/history_service.h"
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+index f46d4ed23669..05b9a5c5071a 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+@@ -94,8 +94,6 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
+
+ if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
StartExtractZipFeatures();
-- } else if (item_->GetTargetFilePath().MatchesExtension(
-- FILE_PATH_LITERAL(".rar")) &&
-- base::FeatureList::IsEnabled(kInspectDownloadedRarFiles)) {
+- } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".rar"))) {
- StartExtractRarFeatures();
#if defined(OS_MACOSX)
- } else if (item_->GetTargetFilePath().MatchesExtension(
- FILE_PATH_LITERAL(".dmg")) ||
-@@ -500,71 +496,6 @@ void CheckClientDownloadRequest::ExtractFileFeatures(
- OnFileFeatureExtractionDone();
+ } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".dmg")) ||
+ target_path_.MatchesExtension(FILE_PATH_LITERAL(".img")) ||
+@@ -211,6 +209,7 @@ void FileAnalyzer::OnZipAnalysisFinished(
+ std::move(callback_).Run(std::move(results_));
}
--void CheckClientDownloadRequest::StartExtractRarFeatures() {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- DCHECK(item_); // Called directly from Start(), item should still exist.
-- rar_analysis_start_time_ = base::TimeTicks::Now();
-- // We give the rar analyzer a weak pointer to this object. Since the
-- // analyzer is refcounted, it might outlive the request.
-- rar_analyzer_ = new SandboxedRarAnalyzer(
-- item_->GetFullPath(),
-- base::BindRepeating(&CheckClientDownloadRequest::OnRarAnalysisFinished,
-- weakptr_factory_.GetWeakPtr()),
-- content::ServiceManagerConnection::GetForProcess()->GetConnector());
-- rar_analyzer_->Start();
--}
--
--void CheckClientDownloadRequest::OnRarAnalysisFinished(
-- const ArchiveAnalyzerResults& results) {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- if (item_ == nullptr) {
-- PostFinishTask(DownloadCheckResult::UNKNOWN, REASON_REQUEST_CANCELED);
-- return;
-- }
-- if (!service_)
-- return;
--
-- archive_is_valid_ =
-- (results.success ? ArchiveValid::VALID : ArchiveValid::INVALID);
-- archived_executable_ = results.has_executable;
-- CopyArchivedBinaries(results.archived_binary, &archived_binaries_);
-- DVLOG(1) << "Rar analysis finished for " << item_->GetFullPath().value()
-- << ", has_executable=" << results.has_executable
-- << ", has_archive=" << results.has_archive
-- << ", success=" << results.success;
--
-- if (archived_executable_) {
-- UMA_HISTOGRAM_COUNTS_100("SBClientDownload.RarFileArchivedBinariesCount",
-- results.archived_binary.size());
-- }
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileSuccess", results.success);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasExecutable",
-- archived_executable_);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasArchiveButNoExecutable",
-- results.has_archive && !archived_executable_);
-- UMA_HISTOGRAM_TIMES("SBClientDownload.ExtractRarFeaturesTime",
-- base::TimeTicks::Now() - rar_analysis_start_time_);
-- for (const auto& file_name : results.archived_archive_filenames)
-- RecordArchivedArchiveFileExtensionType(file_name);
--
-- if (!archived_executable_) {
-- if (results.has_archive) {
-- type_ = ClientDownloadRequest::RAR_COMPRESSED_ARCHIVE;
-- } else if (!results.success) {
-- // .rar files that look invalid to Chrome may be successfully unpacked by
-- // other archive tools, so they may be a real threat.
-- type_ = ClientDownloadRequest::INVALID_RAR;
-- } else {
-- // Normal rar w/o EXEs, or invalid rar and not extended-reporting.
-- PostFinishTask(DownloadCheckResult::UNKNOWN,
-- REASON_ARCHIVE_WITHOUT_BINARIES);
-- return;
-- }
-- }
--
-- OnFileFeatureExtractionDone();
--}
--
- void CheckClientDownloadRequest::StartExtractZipFeatures() {
++#if 0
+ void FileAnalyzer::StartExtractRarFeatures() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(item_); // Called directly from Start(), item should still exist.
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-index ae0f6fbe4..b74dde031 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-@@ -148,7 +148,6 @@ class CheckClientDownloadRequest
- scoped_refptr<SafeBrowsingDatabaseManager> database_manager_;
- const bool pingback_enabled_;
- std::unique_ptr<network::SimpleURLLoader> loader_;
-- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+
+@@ -267,6 +266,7 @@ void FileAnalyzer::OnRarAnalysisFinished(
+
+ std::move(callback_).Run(std::move(results_));
+ }
++#endif
+
+ #if defined(OS_MACOSX)
+ // This is called for .DMGs and other files that can be parsed by
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.h b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+index a1f5abf77f5c..6e88eb7954ad 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.h
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+@@ -11,7 +11,6 @@
+ #include "base/memory/weak_ptr.h"
+ #include "build/build_config.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/safe_browsing/proto/csd.pb.h"
+ #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
+@@ -88,9 +87,6 @@ class FileAnalyzer {
+ void StartExtractZipFeatures();
+ void OnZipAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+
+- void StartExtractRarFeatures();
+- void OnRarAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+-
+ #if defined(OS_MACOSX)
+ void StartExtractDmgFeatures();
+ void ExtractFileOrDmgFeatures(bool download_file_has_koly_signature);
+@@ -107,9 +103,6 @@ class FileAnalyzer {
scoped_refptr<SandboxedZipAnalyzer> zip_analyzer_;
- base::TimeTicks rar_analysis_start_time_;
base::TimeTicks zip_analysis_start_time_;
+
+- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+- base::TimeTicks rar_analysis_start_time_;
+-
+ #if defined(OS_MACOSX)
+ scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_;
+ base::TimeTicks dmg_analysis_start_time_;
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
-index f971c742a..33f7c9d31 100644
+index b93eeaeb7e87..7f2f94c6e377 100644
--- a/chrome/common/safe_browsing/BUILD.gn
+++ b/chrome/common/safe_browsing/BUILD.gn
@@ -68,7 +68,6 @@ if (safe_browsing_mode == 1) {
@@ -124,16 +83,39 @@ index f971c742a..33f7c9d31 100644
]
defines = [
-@@ -136,7 +135,6 @@ source_set("safe_browsing") {
+@@ -150,7 +149,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
- ":download_protection_util",
+ ":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
+diff --git a/chrome/common/safe_browsing/DEPS b/chrome/common/safe_browsing/DEPS
+index c191816456b0..49076ee372c0 100644
+--- a/chrome/common/safe_browsing/DEPS
++++ b/chrome/common/safe_browsing/DEPS
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff --git a/chrome/common/safe_browsing/rar_analyzer.cc b/chrome/common/safe_browsing/rar_analyzer.cc
+index 996c0164ef7f..915f7f93d50b 100644
+--- a/chrome/common/safe_browsing/rar_analyzer.cc
++++ b/chrome/common/safe_browsing/rar_analyzer.cc
+@@ -13,7 +13,6 @@
+ #include "chrome/common/safe_browsing/archive_analyzer_results.h"
+ #include "chrome/common/safe_browsing/download_type_util.h"
+ #include "chrome/common/safe_browsing/file_type_policies.h"
+-#include "third_party/unrar/src/unrar_wrapper.h"
+
+ namespace safe_browsing {
+ namespace rar_analyzer {
diff --git a/chrome/services/file_util/public/cpp/BUILD.gn b/chrome/services/file_util/public/cpp/BUILD.gn
-index 158cbfc6d..6d8b0df7c 100644
+index 158cbfc6d157..6d8b0df7c59e 100644
--- a/chrome/services/file_util/public/cpp/BUILD.gn
+++ b/chrome/services/file_util/public/cpp/BUILD.gn
@@ -14,8 +14,6 @@ source_set("cpp") {
@@ -154,7 +136,7 @@ index 158cbfc6d..6d8b0df7c 100644
]
diff --git a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
-index 6983f7b41..15d5aaba3 100644
+index 6983f7b415d4..15d5aaba3657 100644
--- a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
+++ b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
@@ -22,11 +22,6 @@ interface SafeArchiveAnalyzer {
@@ -170,7 +152,7 @@ index 6983f7b41..15d5aaba3 100644
[Native]
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
-index a13b42b19..db49c37b9 100644
+index a13b42b197b3..db49c37b9b49 100644
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@@ -44,12 +44,3 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile(base::File dmg_file,
@@ -187,7 +169,7 @@ index a13b42b19..db49c37b9 100644
- std::move(callback).Run(results);
-}
diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h
-index f21efa6f5..2eda4f378 100644
+index f21efa6f57ba..2eda4f378bcc 100644
--- a/chrome/services/file_util/safe_archive_analyzer.h
+++ b/chrome/services/file_util/safe_archive_analyzer.h
@@ -25,8 +25,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer {
@@ -199,6 +181,3 @@ index f21efa6f5..2eda4f378 100644
const std::unique_ptr<service_manager::ServiceContextRef> service_ref_;
---
-2.19.2
-
diff --git a/sources b/sources
index 2d5eabb..c03e537 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d0f3540a8d6966d7ec04892738060635 chromium-71.0.3578.98.tar.xz
+ac57ccbec0aceee41101ac1255b3c14b chromium-72.0.3626.81.tar.xz
diff --git a/system-gbm.patch b/system-gbm.patch
new file mode 100644
index 0000000..f679143
--- /dev/null
+++ b/system-gbm.patch
@@ -0,0 +1,229 @@
+From 505eaf5774a2d39cd703ba2cb91fb670683c0b8e Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Fri, 28 Dec 2018 13:58:59 +0530
+Subject: [PATCH] TEST:Make gbm_wrapper to be compiled
+
+---
+ ui/ozone/common/linux/gbm_wrapper.cc | 157 +++++++++++++++++++++------
+ 1 file changed, 124 insertions(+), 33 deletions(-)
+
+diff --git a/ui/ozone/common/linux/gbm_wrapper.cc b/ui/ozone/common/linux/gbm_wrapper.cc
+index ba55b0e56..2705f9b1c 100644
+--- a/ui/ozone/common/linux/gbm_wrapper.cc
++++ b/ui/ozone/common/linux/gbm_wrapper.cc
+@@ -4,7 +4,9 @@
+
+ #include "ui/ozone/common/linux/gbm_wrapper.h"
+
++#include <fcntl.h>
+ #include <gbm.h>
++#include <xf86drm.h>
+
+ #include "base/posix/eintr_wrapper.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -15,6 +17,86 @@
+
+ namespace gbm_wrapper {
+
++namespace {
++
++// Temporary defines while we migrate to GBM_BO_IMPORT_FD_MODIFIER.
++#define GBM_BO_IMPORT_FD_PLANAR_5504 0x5504
++#define GBM_BO_IMPORT_FD_PLANAR_5505 0x5505
++
++// Minigbm and system linux gbm have some differences. There is no clear way how
++// to distinguish linux gbm (Mesa, basically) and minigbm, which can be both
++// third_party and minigbm. Thus, use GBM_BO_IMPORT_FD_PLANAR define to
++// identify, which gbm is used.
++#if defined(GBM_BO_IMPORT_FD_PLANAR)
++// There are some methods, which require knowing whether minigbm is used or not.
++#ifndef USING_MINIGBM
++#define USING_MINIGBM
++#endif // USING_MINIGBM
++// Minigbm and system linux gbm have alike gbm_bo_import* structures, but some
++// of the data variables have different type.
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_planar_data;
++#else
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_modifier_data;
++#endif
++
++void InitializeImportData(uint32_t format,
++ const gfx::Size& size,
++ const std::vector<base::ScopedFD>& fds,
++ const std::vector<gfx::NativePixmapPlane>& planes,
++ gbm_bo_import_fd_data_with_modifier* fd_data) {
++ fd_data->width = size.width();
++ fd_data->height = size.height();
++ fd_data->format = format;
++
++ DCHECK_LE(planes.size(), 3u);
++ for (size_t i = 0; i < planes.size(); ++i) {
++ fd_data->fds[i] = fds[i < fds.size() ? i : 0].get();
++ fd_data->strides[i] = planes[i].stride;
++ fd_data->offsets[i] = planes[i].offset;
++#if defined(USING_MINIGBM)
++ fd_data->format_modifiers[i] = planes[i].modifier;
++#else
++ fd_data->modifier = planes[i].modifier;
++#endif
++ }
++}
++
++int GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
++ DCHECK(plane < gbm_bo_get_plane_count(bo));
++
++ // System linux gbm (or Mesa gbm) does not provide fds per plane basis. Thus,
++ // get plane handle and use drm ioctl to get a prime fd out of it avoid having
++ // two different branches for minigbm and Mesa gbm here.
++ gbm_device* gbm_dev = gbm_bo_get_device(bo);
++ int dev_fd = gbm_device_get_fd(gbm_dev);
++ if (dev_fd <= 0) {
++ LOG(ERROR) << "Unable to get device fd";
++ return -1;
++ }
++
++ const uint32_t plane_handle = gbm_bo_get_handle_for_plane(bo, plane).u32;
++ int fd = -1;
++ int ret;
++ // Use DRM_RDWR to allow the fd to be mappable in another process.
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++
++ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
++ // anyways
++ if (ret)
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC, &fd);
++
++ return ret ? ret : fd;
++}
++
++size_t GetSizeOfPlane(gbm_bo* bo, size_t plane) {
++ // System linux gbm (or Mesa gbm) does not provide plane size. Thus, calculate
++ // it by ourselves and avoid having two different branches for minigbm and
++ // Mesa gbm here.
++ return gbm_bo_get_height(bo) * gbm_bo_get_stride_for_plane(bo, plane);
++}
++
++} // namespace
++
+ class Buffer final : public ui::GbmBuffer {
+ public:
+ Buffer(struct gbm_bo* bo,
+@@ -76,7 +158,7 @@ class Buffer final : public ui::GbmBuffer {
+ }
+ uint32_t GetPlaneHandle(size_t plane) const override {
+ DCHECK_LT(plane, planes_.size());
+- return gbm_bo_get_plane_handle(bo_, plane).u32;
++ return gbm_bo_get_handle_for_plane(bo_, plane).u32;
+ }
+ uint32_t GetHandle() const override { return gbm_bo_get_handle(bo_).u32; }
+ gfx::NativePixmapHandle ExportHandle() const override {
+@@ -106,7 +188,12 @@ class Buffer final : public ui::GbmBuffer {
+ uint32_t stride;
+ void* addr;
+ addr = gbm_bo_map(bo_, 0, 0, gbm_bo_get_width(bo_), gbm_bo_get_height(bo_),
+- GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_, 0);
++ GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_
++#if defined(USING_MINIGBM)
++ ,
++ 0
++#endif
++ );
+
+ if (!addr)
+ return nullptr;
+@@ -147,11 +234,18 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ std::vector<base::ScopedFD> fds;
+ std::vector<gfx::NativePixmapPlane> planes;
+
+- const uint64_t modifier = gbm_bo_get_format_modifier(bo);
+- for (size_t i = 0; i < gbm_bo_get_num_planes(bo); ++i) {
++ const uint64_t modifier = gbm_bo_get_modifier(bo);
++ const int plane_count = gbm_bo_get_plane_count(bo);
++ // The Mesa's gbm implementation explicitly checks whether plane count <= and
++ // returns 1 if the condition is true. Nevertheless, use a DCHECK here to make
++ // sure the condition is not broken there.
++ DCHECK(plane_count > 0);
++ // Ensure there are no differences in integer signs by casting any possible
++ // values to size_t.
++ for (size_t i = 0; i < static_cast<size_t>(plane_count); ++i) {
+ // The fd returned by gbm_bo_get_fd is not ref-counted and need to be
+ // kept open for the lifetime of the buffer.
+- base::ScopedFD fd(gbm_bo_get_plane_fd(bo, i));
++ base::ScopedFD fd(GetPlaneFdForBo(bo, i));
+
+ // TODO(dcastagna): support multiple fds.
+ // crbug.com/642410
+@@ -164,9 +258,9 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ fds.emplace_back(std::move(fd));
+ }
+
+- planes.emplace_back(gbm_bo_get_plane_stride(bo, i),
+- gbm_bo_get_plane_offset(bo, i),
+- gbm_bo_get_plane_size(bo, i), modifier);
++ planes.emplace_back(gbm_bo_get_stride_for_plane(bo, i),
++ gbm_bo_get_offset(bo, i), GetSizeOfPlane(bo, i),
++ modifier);
+ }
+ return std::make_unique<Buffer>(bo, format, flags, modifier, std::move(fds),
+ size, std::move(planes));
+@@ -213,35 +307,32 @@ class Device final : public ui::GbmDevice {
+ DCHECK_EQ(planes[0].offset, 0);
+
+ // Try to use scanout if supported.
+- int gbm_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_TEXTURING;
++ int gbm_flags = GBM_BO_USE_SCANOUT;
++#if defined(USING_MINIGBM)
++ gbm_flags |= GBM_BO_USE_TEXTURING;
++#endif
+ if (!gbm_device_is_format_supported(device_, format, gbm_flags))
+ gbm_flags &= ~GBM_BO_USE_SCANOUT;
+
+ struct gbm_bo* bo = nullptr;
+- if (!gbm_device_is_format_supported(device_, format, gbm_flags)) {
+- LOG(ERROR) << "gbm format not supported: " << format;
+- return nullptr;
+- }
+-
+- struct gbm_import_fd_planar_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+-
+- DCHECK_LE(planes.size(), 3u);
+- for (size_t i = 0; i < planes.size(); ++i) {
+- fd_data.fds[i] = fds[i < fds.size() ? i : 0].get();
+- fd_data.strides[i] = planes[i].stride;
+- fd_data.offsets[i] = planes[i].offset;
+- fd_data.format_modifiers[i] = planes[i].modifier;
+- }
+-
+- // The fd passed to gbm_bo_import is not ref-counted and need to be
+- // kept open for the lifetime of the buffer.
+- bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR, &fd_data, gbm_flags);
+- if (!bo) {
+- LOG(ERROR) << "nullptr returned from gbm_bo_import";
+- return nullptr;
++ if (gbm_device_is_format_supported(device_, format, gbm_flags)) {
++ gbm_bo_import_fd_data_with_modifier fd_data;
++ InitializeImportData(format, size, fds, planes, &fd_data);
++
++ // The fd passed to gbm_bo_import is not ref-counted and need to be
++ // kept open for the lifetime of the buffer.
++ //
++ // See the comment regarding the GBM_BO_IMPORT_FD_PLANAR_550X above.
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5505, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5504, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ LOG(ERROR) << "nullptr returned from gbm_bo_import";
++ return nullptr;
++ }
++ }
+ }
+
+ return std::make_unique<Buffer>(bo, format, gbm_flags, planes[0].modifier,
+--
+2.20.1
+
5 years, 9 months
[chromium-vaapi/f29] Update to 72.0.3626.81 Add a patch to fix missing includes in webrtc ozone updates (WIP) Fix gn wher
by Akarshan Biswas
commit c4ed7fe7ca1d79f00f2109e557e786723eccbe77
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Tue Feb 5 15:23:23 2019 +0530
Update to 72.0.3626.81 Add a patch to fix missing includes in webrtc ozone updates (WIP) Fix gn where it now needs gold linker in bootstrap remove clang building implementation in this spec (out of scope) Make sure chromium uses the x11 GDK backend in wayland
.gitignore | 1 +
ccompiler.patch | 170 -
chromium-71-gcc-fix.patch | 57 -
chromium-dma-buf.patch | 22 +
chromium-drm.patch | 14 +
chromium-gn-r607596.patch | 46 -
chromium-harfbuzz2.patch | 80 -
chromium-non-void-return.patch | 1670 ++++
chromium-system-icu.patch | 10 +-
chromium-vaapi.sh | 26 +-
chromium-vaapi.spec | 119 +-
chromium-webrtc-includes.patch | 16754 +++++++++++++++++++++++++++++++++++++++
enable-vaapi.patch | 303 +-
fixvaapiozone.patch | 33 +
gn-gold.patch | 24 +
llvm-arflags.patch | 26 -
nounrar.patch | 211 +-
sources | 2 +-
system-gbm.patch | 229 +
19 files changed, 19014 insertions(+), 783 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 478072e..57c83f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/chromium-70.0.3538.110.tar.xz
/chromium-71.0.3578.80.tar.xz
/chromium-71.0.3578.98.tar.xz
+/chromium-72.0.3626.81.tar.xz
diff --git a/chromium-dma-buf.patch b/chromium-dma-buf.patch
new file mode 100644
index 0000000..5d8feb5
--- /dev/null
+++ b/chromium-dma-buf.patch
@@ -0,0 +1,22 @@
+Index: chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+===================================================================
+--- chromium-72.0.3626.7.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc
++++ chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+@@ -18,9 +18,6 @@
+ #include "base/trace_event/trace_event.h"
+ #include "build/build_config.h"
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+-#include <linux/dma-buf.h>
+-#else
+ #include <linux/types.h>
+
+ struct dma_buf_sync {
+@@ -35,7 +32,6 @@ struct dma_buf_sync {
+
+ #define DMA_BUF_BASE 'b'
+ #define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
+-#endif
+
+ namespace gfx {
+
diff --git a/chromium-drm.patch b/chromium-drm.patch
new file mode 100644
index 0000000..81c9105
--- /dev/null
+++ b/chromium-drm.patch
@@ -0,0 +1,14 @@
+Index: chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+===================================================================
+--- chromium-65.0.3325.146.orig/ui/gfx/native_pixmap_handle.cc
++++ chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+@@ -12,6 +12,9 @@
+ namespace gfx {
+
+ #if defined(OS_LINUX)
++#ifndef DRM_FORMAT_MOD_INVALID
++#define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1)
++#endif
+ static_assert(NativePixmapPlane::kNoModifier == DRM_FORMAT_MOD_INVALID,
+ "gfx::NativePixmapPlane::kNoModifier should be an alias for"
+ "DRM_FORMAT_MOD_INVALID");
diff --git a/chromium-non-void-return.patch b/chromium-non-void-return.patch
new file mode 100644
index 0000000..30363a6
--- /dev/null
+++ b/chromium-non-void-return.patch
@@ -0,0 +1,1670 @@
+Index: chromium-72.0.3626.53/base/bind_internal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/base/bind_internal.h
++++ chromium-72.0.3626.53/base/bind_internal.h
+@@ -749,6 +749,7 @@ bool QueryCancellationTraitsImpl(BindSta
+ functor, std::get<indices>(bound_args)...);
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ // Relays |base| to corresponding CallbackCancellationTraits<>::Run(). Returns
+Index: chromium-72.0.3626.53/base/callback_internal.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/callback_internal.cc
++++ chromium-72.0.3626.53/base/callback_internal.cc
+@@ -21,6 +21,7 @@ bool QueryCancellationTraitsForNonCancel
+ return true;
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ } // namespace
+Index: chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/cc/input/snap_fling_controller.cc
++++ chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+@@ -26,6 +26,8 @@ bool SnapFlingController::FilterEventFor
+ case GestureScrollType::kEnd: {
+ return state_ == State::kActive || state_ == State::kFinished;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/background_fetch/background_fetch_download_client.cc
++++ chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+@@ -36,6 +36,8 @@ BackgroundFetchFailureReason ToBackgroun
+ case download::Client::FailureReason::ABORTED:
+ case download::Client::FailureReason::CANCELLED:
+ return BackgroundFetchFailureReason::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_model.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+@@ -147,6 +147,8 @@ download::DownloadItem::DownloadState Of
+ case OfflineItemState::MAX_DOWNLOAD_STATE:
+ NOTREACHED();
+ return download::DownloadItem::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_utils.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+@@ -147,6 +147,8 @@ FailState OfflineItemUtils::ConvertDownl
+ return offline_items_collection::FailState::name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -166,6 +168,8 @@ OfflineItemUtils::ConvertFailStateToDown
+ return download::DOWNLOAD_INTERRUPT_REASON_##name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
++++ chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+@@ -250,6 +250,7 @@ int& MediaStreamCaptureIndicator::WebCon
+ NOTREACHED();
+ return video_stream_count_;
+ }
++ __builtin_abort ();
+ }
+
+ MediaStreamCaptureIndicator::MediaStreamCaptureIndicator() {}
+Index: chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
++++ chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+@@ -156,6 +156,7 @@ bool IsValidStateChange(LifecycleUnitSta
+ }
+ }
+ }
++ __builtin_abort ();
+ }
+
+ StateChangeReason DiscardReasonToStateChangeReason(
+@@ -167,6 +168,8 @@ StateChangeReason DiscardReasonToStateCh
+ return StateChangeReason::BROWSER_INITIATED;
+ case LifecycleUnitDiscardReason::URGENT:
+ return StateChangeReason::SYSTEM_MEMORY_PRESSURE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+@@ -236,6 +236,8 @@ base::string16 SaveCardBubbleControllerI
+ case BubbleType::INACTIVE:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+@@ -553,6 +553,8 @@ PopupItemLayoutType AutofillPopupSuggest
+ default:
+ return PopupItemLayoutType::kTrailingIcon;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -573,6 +575,8 @@ bool AutofillPopupSuggestionView::Should
+ case ForcedFontWeight::kBold:
+ *font_weight = gfx::Font::Weight::BOLD;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+@@ -387,6 +387,7 @@ bool LocalCardMigrationDialogView::Accep
+ controller_->OnDoneButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Cancel() {
+@@ -399,6 +400,7 @@ bool LocalCardMigrationDialogView::Cance
+ controller_->OnViewCardsButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Close() {
+@@ -470,6 +472,8 @@ base::string16 LocalCardMigrationDialogV
+ case LocalCardMigrationDialogState::kActionRequired:
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_DONE);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -483,6 +487,7 @@ base::string16 LocalCardMigrationDialogV
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_VIEW_CARDS);
+ }
++ __builtin_abort ();
+ }
+
+ LocalCardMigrationDialog* CreateLocalCardMigrationDialogView(
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/material_refresh_layout_provider.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+@@ -41,6 +41,8 @@ int MaterialRefreshLayoutProvider::GetCo
+ return 8;
+ case views::EMPHASIS_MAXIMUM:
+ return std::min(size.width(), size.height()) / 2;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -58,6 +60,8 @@ int MaterialRefreshLayoutProvider::GetSh
+ return 3;
+ case views::EMPHASIS_MAXIMUM:
+ return 16;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/discards/discards_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+@@ -56,6 +56,8 @@ mojom::LifecycleUnitVisibility GetLifecy
+ return mojom::LifecycleUnitVisibility::OCCLUDED;
+ case content::Visibility::VISIBLE:
+ return mojom::LifecycleUnitVisibility::VISIBLE;
++ default:
++ __builtin_abort ();
+ }
+ #if defined(COMPILER_MSVC)
+ NOTREACHED();
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/media/media_engagement_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+@@ -100,6 +100,7 @@ class MediaEngagementScoreDetailsProvide
+ case content::AutoplayPolicy::kDocumentUserActivationRequired:
+ return "document-user-activation-required";
+ }
++ __builtin_abort ();
+ }
+
+ const std::string GetPreloadVersion() {
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_external_delegate.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+@@ -457,6 +457,8 @@ base::string16 AutofillExternalDelegate:
+ case PopupType::kPasswords:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_manager.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+@@ -271,6 +271,7 @@ PopupType AutofillManager::GetPopupType(
+
+ default:
+ NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+@@ -28,6 +28,8 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ return sync_pb::WalletMaskedCreditCard::VALID;
+ case CreditCard::EXPIRED:
+ return sync_pb::WalletMaskedCreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -38,6 +40,8 @@ CreditCard::ServerStatus ServerToLocalSt
+ return CreditCard::OK;
+ case sync_pb::WalletMaskedCreditCard::EXPIRED:
+ return CreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -82,6 +86,8 @@ const char* CardNetworkFromWalletCardTyp
+ case sync_pb::WalletMaskedCreditCard::SWITCH:
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN:
+ return kGenericCard;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -95,6 +101,7 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ case CreditCard::CARD_TYPE_PREPAID:
+ return sync_pb::WalletMaskedCreditCard::PREPAID;
+ case CreditCard::CARD_TYPE_UNKNOWN:
++ default:
+ return sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS;
+ }
+ }
+@@ -110,6 +117,8 @@ CreditCard::CardType CardTypeFromWalletC
+ return CreditCard::CARD_TYPE_PREPAID;
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS:
+ return CreditCard::CARD_TYPE_UNKNOWN;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -162,6 +171,8 @@ std::string GetClientTagForSpecificsId(
+ case AutofillWalletSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+@@ -43,6 +43,8 @@ std::string GetClientTagForSpecificsId(W
+ case WalletMetadataSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/cast_channel/cast_message_util.cc
++++ chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+@@ -362,6 +362,8 @@ const char* GetAppAvailabilityResultToSt
+ return "unavailable";
+ case GetAppAvailabilityResult::kUnknown:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
++++ chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+@@ -321,6 +321,8 @@ PageloadMetrics_ConnectionType ProtoConn
+ return PageloadMetrics_ConnectionType_CONNECTION_NONE;
+ case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH:
+ return PageloadMetrics_ConnectionType_CONNECTION_BLUETOOTH;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -363,6 +365,8 @@ ProtoLitePageRedirectStatusFromLitePageR
+ return HTTPSLitePagePreviewInfo_Status_FAILURE;
+ case previews::ServerLitePageStatus::kControl:
+ return HTTPSLitePagePreviewInfo_Status_CONTROL;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/password_manager/core/browser/browser_save_password_progress_logger.cc
++++ chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+@@ -72,6 +72,8 @@ std::string VoteTypeToString(
+ return "HTML classifier";
+ case AutofillUploadContents::Field::FIRST_USE:
+ return "First use";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/cloud/cloud_policy_util.cc
++++ chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+@@ -170,6 +170,8 @@ em::Channel ConvertToProtoChannel(versio
+ return em::CHANNEL_BETA;
+ case version_info::Channel::STABLE:
+ return em::CHANNEL_STABLE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/policy_proto_decoders.cc
++++ chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+@@ -42,6 +42,8 @@ bool GetPolicyLevel(const AnyPolicyProto
+ return true;
+ case em::PolicyOptions::UNSET:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/content/previews_hints.cc
++++ chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+@@ -124,6 +124,8 @@ base::Optional<PreviewsType> ConvertProt
+ return PreviewsType::RESOURCE_LOADING_HINTS;
+ case optimization_guide::proto::LITE_PAGE_REDIRECT:
+ return PreviewsType::LITE_PAGE_REDIRECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -148,6 +150,8 @@ net::EffectiveConnectionType ConvertProt
+ case optimization_guide::proto::EffectiveConnectionType::
+ EFFECTIVE_CONNECTION_TYPE_4G:
+ return net::EffectiveConnectionType::EFFECTIVE_CONNECTION_TYPE_4G;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/core/previews_black_list.cc
++++ chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+@@ -34,6 +34,8 @@ PreviewsEligibilityReason BlacklistReaso
+ return PreviewsEligibilityReason::ALLOWED;
+ case blacklist::BlacklistReason::kAllowed:
+ return PreviewsEligibilityReason::ALLOWED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/about_signin_internals.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+@@ -564,6 +564,8 @@ std::string AboutSigninInternals::Refres
+ return "Revoked";
+ case AboutSigninInternals::RefreshTokenEventType::kAllTokensLoaded:
+ return "Loaded";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/profile_oauth2_token_service.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+@@ -49,6 +49,8 @@ std::string SourceToString(SourceForRefr
+ return "DiceResponseHandler::Signout";
+ case SourceForRefreshTokenOperation::kDiceTurnOnSyncHelper_Abort:
+ return "DiceTurnOnSyncHelper::Abort";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -204,6 +206,8 @@ bool ProfileOAuth2TokenService::HasLoadC
+ LOAD_CREDENTIALS_FINISHED_WITH_NO_TOKEN_FOR_PRIMARY_ACCOUNT:
+ // Load credentials finished with success.
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/service/display/skia_renderer.cc
++++ chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+@@ -1278,6 +1278,8 @@ GrContext* SkiaRenderer::GetGrContext()
+ return context_provider_->GrContext();
+ case DrawMode::SKPRECORD:
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/cache_storage/cache_storage_quota_client.cc
++++ chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+@@ -98,6 +98,8 @@ storage::QuotaClient::ID CacheStorageQuo
+ return kServiceWorkerCache;
+ case CacheStorageOwner::kBackgroundFetch:
+ return kBackgroundFetch;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/frame_host/frame_tree_node.cc
++++ chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+@@ -603,6 +603,7 @@ bool FrameTreeNode::UpdateUserActivation
+ return ClearUserActivation();
+ }
+ NOTREACHED() << "Invalid update_type.";
++ __builtin_abort ();
+ }
+
+ void FrameTreeNode::OnSetHasReceivedUserGestureBeforeNavigation(bool value) {
+Index: chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/media/audio_output_stream_broker.cc
++++ chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+@@ -53,6 +53,8 @@ StreamBrokerDisconnectReason GetDisconne
+ : StreamBrokerDisconnectReason::kDocumentDestroyed;
+ case DisconnectReason::kDefault:
+ return StreamBrokerDisconnectReason::kDefault;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/input/input_event_prediction.cc
++++ chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+@@ -108,6 +108,8 @@ std::unique_ptr<ui::InputPredictor> Inpu
+ return std::make_unique<ui::LeastSquaresPredictor>();
+ case PredictorType::kKalman:
+ return std::make_unique<ui::KalmanPredictor>();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_audio_processor_options.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+@@ -99,6 +99,8 @@ AudioProcessingProperties::ToAudioProces
+ return media::EchoCancellationType::kAec3;
+ case EchoCancellationType::kEchoCancellationSystem:
+ return media::EchoCancellationType::kSystemAec;
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+@@ -554,6 +554,8 @@ blink::WebMediaStreamTrack::DisplayCaptu
+ kApplication;
+ case media::mojom::DisplayCaptureSurfaceType::BROWSER:
+ return blink::WebMediaStreamTrack::DisplayCaptureSurfaceType::kBrowser;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -566,6 +568,8 @@ blink::WebMediaStreamTrack::CursorCaptur
+ return blink::WebMediaStreamTrack::CursorCaptureType::kAlways;
+ case media::mojom::CursorCaptureType::MOTION:
+ return blink::WebMediaStreamTrack::CursorCaptureType::kMotion;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/webrtc/peer_connection_tracker.cc
++++ chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+@@ -120,6 +120,8 @@ static const char* SerializeDirection(
+ return "'recvonly'";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "'inactive'";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
++++ chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+@@ -396,6 +396,8 @@ bool BluetoothRemoteGattCharacteristic::
+ return hasNotify;
+ case NotificationType::kIndication:
+ return hasIndicate;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/extensions/browser/url_loader_factory_manager.cc
++++ chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+@@ -65,6 +65,8 @@ bool IsSpecialURLLoaderFactoryRequired(c
+ DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
+ case FactoryUser::kExtensionProcess:
+ return DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gin/v8_isolate_memory_dump_provider.cc
++++ chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+@@ -131,6 +131,8 @@ std::string IsolateTypeString(IsolateHol
+ return "test";
+ case IsolateHolder::IsolateType::kUtility:
+ return "utility";
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+@@ -147,6 +149,8 @@ bool CanHaveMultipleIsolates(IsolateHold
+ case IsolateHolder::IsolateType::kUtility:
+ // PDFium and ProxyResolver create one isolate per process.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+Index: chromium-72.0.3626.53/gpu/config/gpu_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gpu/config/gpu_info.cc
++++ chromium-72.0.3626.53/gpu/config/gpu_info.cc
+@@ -84,6 +84,8 @@ const char* OverlayFormatToString(Overla
+ return "YUY2";
+ case OverlayFormat::kNV12:
+ return "NV12";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/audio/audio_processing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/audio/audio_processing.cc
++++ chromium-72.0.3626.53/media/audio/audio_processing.cc
+@@ -19,6 +19,8 @@ std::string AudioProcessingSettings::ToS
+ return "experimental";
+ case AutomaticGainControlType::kHybridExperimental:
+ return "hybrid experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -32,6 +34,8 @@ std::string AudioProcessingSettings::ToS
+ return "aec3";
+ case EchoCancellationType::kSystemAec:
+ return "system aec";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -43,6 +47,8 @@ std::string AudioProcessingSettings::ToS
+ return "default";
+ case NoiseSuppressionType::kExperimental:
+ return "experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/media/base/decode_status.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decode_status.cc
++++ chromium-72.0.3626.53/media/base/decode_status.cc
+@@ -18,6 +18,8 @@ const char* GetDecodeStatusString(Decode
+ return "DecodeStatus::ABORTED";
+ case DecodeStatus::DECODE_ERROR:
+ return "DecodeStatus::DECODE_ERROR";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/decryptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decryptor.cc
++++ chromium-72.0.3626.53/media/base/decryptor.cc
+@@ -17,6 +17,8 @@ const char* Decryptor::GetStatusName(Sta
+ return "need_more_data";
+ case kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/demuxer_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/demuxer_stream.cc
++++ chromium-72.0.3626.53/media/base/demuxer_stream.cc
+@@ -17,6 +17,8 @@ const char* DemuxerStream::GetTypeName(T
+ return "text";
+ case DemuxerStream::UNKNOWN:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -31,6 +33,8 @@ const char* DemuxerStream::GetStatusName
+ return "config_changed";
+ case DemuxerStream::kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/watch_time_reporter.cc
++++ chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+@@ -571,6 +571,8 @@ WatchTimeKey WatchTimeReporter::GetDispl
+ return DISPLAY_TYPE_KEY(DisplayFullscreen);
+ case DisplayType::kPictureInPicture:
+ return DISPLAY_TYPE_KEY(DisplayPictureInPicture);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/webmediaplayer_impl.cc
++++ chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+@@ -197,6 +197,8 @@ EncryptionMode DetermineEncryptionMode(
+ return EncryptionMode::kCenc;
+ case EncryptionScheme::CIPHER_MODE_AES_CBC:
+ return EncryptionMode::kCbcs;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+@@ -83,6 +83,8 @@ VideoCaptureFrameDropReason ConvertReser
+ return VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded;
+ case VideoCaptureDevice::Client::ReserveResult::kAllocationFailed:
+ return VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device_descriptor.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+@@ -94,6 +94,8 @@ const char* VideoCaptureDeviceDescriptor
+ return "Virtual Device";
+ case VideoCaptureApi::UNKNOWN:
+ return "Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/cdm/cdm_helpers.cc
++++ chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+@@ -25,6 +25,8 @@ gfx::ColorSpace::RangeID ToGfxColorSpace
+ return gfx::ColorSpace::RangeID::FULL;
+ case cdm::ColorRange::kDerived:
+ return gfx::ColorSpace::RangeID::DERIVED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/filters/decoder_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/filters/decoder_stream.cc
++++ chromium-72.0.3626.53/media/filters/decoder_stream.cc
+@@ -89,6 +89,8 @@ const char* GetStatusString(typename Dec
+ return "demuxer_read_aborted";
+ case DecoderStream<StreamType>::DECODE_ERROR:
+ return "decode_error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/gpu/vaapi/vaapi_wrapper.cc
++++ chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+@@ -401,6 +401,8 @@ static VAEntrypoint GetVaEntryPoint(Vaap
+ case VaapiWrapper::kCodecModeMax:
+ NOTREACHED();
+ return VAEntrypointVLD;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/nqe/network_quality_estimator.cc
++++ chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+@@ -1264,6 +1264,8 @@ base::TimeDelta NetworkQualityEstimator:
+ case nqe::internal::OBSERVATION_CATEGORY_COUNT:
+ NOTREACHED();
+ return base::TimeDelta();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/audio/public/cpp/audio_system_to_service_adapter.cc
++++ chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+@@ -66,6 +66,8 @@ const char* GetTraceEvent(Action action)
+ return "AudioSystemToServiceAdapter::GetAssociatedOutputDeviceID";
+ case kGetInputDeviceInfo:
+ return "AudioSystemToServiceAdapter::GetInputDeviceInfo";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/cross_origin_read_blocking.cc
++++ chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+@@ -782,6 +782,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && !found_blockable_content_;
+ case kBlock:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -793,6 +795,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && found_blockable_content_;
+ case kBlock:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/cors/cors.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+@@ -552,6 +552,8 @@ bool IsCorsSameOriginResponseType(mojom:
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -565,6 +567,8 @@ bool IsCorsCrossOriginResponseType(mojom
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -582,6 +586,8 @@ bool CalculateCredentialsFlag(mojom::Fet
+ return response_tainting == network::mojom::FetchResponseType::kBasic;
+ case network::mojom::FetchCredentialsMode::kInclude:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/host_resolver_mojom_traits.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+@@ -38,6 +38,8 @@ base::Optional<bool> FromTristate(DnsCon
+ return true;
+ case DnsConfigOverrides::Tristate::TRISTATE_FALSE:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -225,6 +227,8 @@ EnumTraits<ResolveHostParameters::DnsQue
+ return ResolveHostParameters::DnsQueryType::A;
+ case net::DnsQueryType::AAAA:
+ return ResolveHostParameters::DnsQueryType::AAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -242,6 +246,8 @@ bool EnumTraits<ResolveHostParameters::D
+ case ResolveHostParameters::DnsQueryType::AAAA:
+ *output = net::DnsQueryType::AAAA;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -258,6 +264,8 @@ EnumTraits<ResolveHostParameters::Source
+ return ResolveHostParameters::Source::DNS;
+ case net::HostResolverSource::MULTICAST_DNS:
+ return ResolveHostParameters::Source::MULTICAST_DNS;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -278,6 +286,8 @@ bool EnumTraits<ResolveHostParameters::S
+ case ResolveHostParameters::Source::MULTICAST_DNS:
+ *output = net::HostResolverSource::MULTICAST_DNS;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/ws/public/cpp/gpu/command_buffer_metrics.cc
++++ chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+@@ -96,6 +96,8 @@ std::string ContextTypeToString(ContextT
+ return "ForTesting";
+ case ContextType::XR_COMPOSITING:
+ return "XRCompositing";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/style_environment_variables.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+@@ -63,7 +63,7 @@ const AtomicString StyleEnvironmentVaria
+ case UADefinedVariable::kSafeAreaInsetRight:
+ return "safe-area-inset-right";
+ default:
+- break;
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/html/media/media_controls.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+@@ -36,6 +36,8 @@ AtomicString MediaControls::GetSizingCSS
+ return kMediaControlsSizingMediumCSSClass;
+ case MediaControlsSizingClass::kLarge:
+ return kMediaControlsSizingLargeCSSClass;
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/layout/layout_flexible_box.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+@@ -602,6 +602,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentLeft();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentInsetRight();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -617,6 +619,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentInsetRight();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentLeft();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/loader/mixed_content_checker.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+@@ -239,6 +239,8 @@ bool MixedContentChecker::IsMixedContent
+
+ case HttpsState::kModern:
+ return IsInsecureUrl(url);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+@@ -1235,6 +1235,8 @@ ax::mojom::TextPosition AXLayoutObject::
+ return ax::mojom::TextPosition::kSubscript;
+ case EVerticalAlign::kSuper:
+ return ax::mojom::TextPosition::kSuperscript;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_position.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+@@ -758,6 +758,8 @@ const AXObject* AXPosition::FindNeighbor
+ }
+ return nullptr;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+@@ -342,6 +342,8 @@ const String BackgroundFetchRegistration
+ return "failure";
+ case mojom::BackgroundFetchResult::UNSET:
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -362,6 +364,8 @@ const String BackgroundFetchRegistration
+ return "quota-exceeded";
+ case mojom::BackgroundFetchFailureReason::TOTAL_DOWNLOAD_SIZE_EXCEEDED:
+ return "total-download-exceeded";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+@@ -53,6 +53,8 @@ String ToCookieListItemSameSite(network:
+ return "lax";
+ case network::mojom::CookieSameSite::NO_RESTRICTION:
+ return "unrestricted";
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+@@ -28,6 +28,8 @@ String TransceiverDirectionToString(
+ return "recvonly";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "inactive";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/storage/cached_storage_area.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+@@ -643,6 +643,8 @@ Vector<uint8_t> CachedStorageArea::Strin
+ input.length() * sizeof(UChar));
+ return result;
+ }
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/webaudio/audio_param.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+@@ -145,7 +145,7 @@ String AudioParamHandler::GetParamName()
+ case kParamTypeAudioWorklet:
+ return custom_param_name_;
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+@@ -18,7 +18,7 @@ WTF::String OverscrollBehaviorTypeToStri
+ case OverscrollBehavior::kOverscrollBehaviorTypeContain:
+ return "contain";
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/heap/heap_stats_collector.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+@@ -94,6 +94,8 @@ class PLATFORM_EXPORT ThreadHeapStatsCol
+ return "BlinkGC.VisitPersistents";
+ case Id::kVisitStackRoots:
+ return "BlinkGC.VisitStackRoots";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+@@ -44,6 +44,8 @@ scheduling_metrics::ThreadType ConvertBl
+ case WebThreadType::kCount:
+ NOTREACHED();
+ return scheduling_metrics::ThreadType::kCount;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+@@ -676,6 +676,8 @@ PageSchedulerImpl::PageLifecycleStateTra
+ NOTREACHED();
+ return base::nullopt;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/wtf/casting.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+@@ -57,6 +57,7 @@ struct DowncastTraits {
+ template <typename U>
+ static bool AllowFrom(const U&) {
+ static_assert(sizeof(U) == 0, "no downcast traits specialization for T");
++ return false;
+ }
+ };
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+@@ -26,6 +26,8 @@ TemporalLayersChecker::CreateTemporalLay
+ case Vp8TemporalLayersType::kBitrateDynamic:
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<TemporalLayersChecker>(num_temporal_layers);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/accessibility/platform/ax_platform_node_auralinux.cc
++++ chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+@@ -1641,6 +1641,8 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
+ case ax::mojom::Role::kPresentational:
+ case ax::mojom::Role::kUnknown:
+ return ATK_ROLE_REDUNDANT_OBJECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/aura/mus/in_flight_change.cc
++++ chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+@@ -57,6 +57,8 @@ std::string ChangeTypeToString(ChangeTyp
+ return "TRANSFORM";
+ case ChangeType::VISIBLE:
+ return "VISIBLE";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/base/mojo/clipboard_struct_traits.h
++++ chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+@@ -20,6 +20,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ return ui::mojom::ClipboardType::SELECTION;
+ case ui::CLIPBOARD_TYPE_DRAG:
+ return ui::mojom::ClipboardType::DRAG;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -34,6 +36,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ case ui::mojom::ClipboardType::DRAG:
+ *out = ui::CLIPBOARD_TYPE_DRAG;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ return false;
+Index: chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/gfx/skia_vector_animation.cc
++++ chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+@@ -163,6 +163,8 @@ float SkiaVectorAnimation::GetCurrentPro
+ // yet
+ DCHECK(timer_control_);
+ return timer_control_->GetNormalizedCurrentCycleProgress();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/views/layout/layout_provider.cc
++++ chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+@@ -155,6 +155,8 @@ int LayoutProvider::GetCornerRadiusMetri
+ return touch_ui ? 8 : 4;
+ case EMPHASIS_MAXIMUM:
+ return touch_ui ? std::min(size.width(), size.height()) / 2 : 4;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/flags_ui/feature_entry.cc
++++ chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+@@ -38,13 +38,16 @@ bool FeatureEntry::InternalNameMatches(c
+ case FeatureEntry::MULTI_VALUE:
+ case FeatureEntry::ENABLE_DISABLE_VALUE:
+ case FeatureEntry::FEATURE_VALUE:
+- case FeatureEntry::FEATURE_WITH_PARAMS_VALUE:
++ case FeatureEntry::FEATURE_WITH_PARAMS_VALUE: {
+ // Check that the pattern matches what's produced by NameForOption().
+ int index = -1;
+ return name.size() > internal_name_length + 1 &&
+ name[internal_name_length] == kMultiSeparatorChar &&
+ base::StringToInt(name.substr(internal_name_length + 1), &index) &&
+ index >= 0 && index < num_options;
++ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/common/navigation_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/common/navigation_params.cc
++++ chromium-72.0.3626.53/content/common/navigation_params.cc
+@@ -47,6 +47,8 @@ bool IsNavigationDownloadAllowed(Navigat
+ case NavigationDownloadPolicy::kAllowOpenerCrossOrigin:
+ case NavigationDownloadPolicy::kAllowOpenerCrossOriginNoGesture:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/google_apis/gaia/google_service_auth_error.cc
++++ chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+@@ -29,6 +29,8 @@ const char* InvalidCredentialsReasonToSt
+ case InvalidGaiaCredentialsReason::NUM_REASONS:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -238,6 +240,8 @@ std::string GoogleServiceAuthError::ToSt
+ case NUM_STATES:
+ NOTREACHED();
+ return std::string();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/dns/dns_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/dns/dns_util.cc
++++ chromium-72.0.3626.53/net/dns/dns_util.cc
+@@ -231,6 +231,8 @@ uint16_t DnsQueryTypeToQtype(DnsQueryTyp
+ return dns_protocol::kTypeA;
+ case DnsQueryType::AAAA:
+ return dns_protocol::kTypeAAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
++++ chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+@@ -159,6 +159,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -183,6 +185,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+@@ -92,10 +92,13 @@ AnimationAndPaintWorkletThread::CreateWo
+ return AnimationWorkletGlobalScope::Create(std::move(creation_params),
+ this);
+ }
+- case WorkletType::PAINT_WORKLET:
++ case WorkletType::PAINT_WORKLET: {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("paint-worklet"),
+ "AnimationAndPaintWorkletThread::CreateWorkerGlobalScope");
+ return PaintWorkletGlobalScope::Create(std::move(creation_params), this);
++ }
++ default:
++ __builtin_abort ();
+ };
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+@@ -27,6 +27,8 @@ std::unique_ptr<Vp8TemporalLayers> Creat
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<ScreenshareLayers>(num_temporal_layers,
+ Clock::GetRealTimeClock());
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/audio/channel_receive.cc
++++ chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+@@ -69,6 +69,8 @@ webrtc::FrameType WebrtcFrameTypeForMedi
+ kDiscountinuousTransmission:
+ return kAudioFrameCN;
+ break;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -24,6 +24,8 @@ std::unique_ptr<KeyDerivation> KeyDeriva
+ switch (key_derivation_algorithm) {
+ case KeyDerivationAlgorithm::HKDF_SHA256:
+ return absl::make_unique<OpenSSLKeyDerivationHKDF>();
++ default:
++ __builtin_abort ();
+ }
+ RTC_NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/base/task/common/operations_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/task/common/operations_controller.cc
++++ chromium-72.0.3626.53/base/task/common/operations_controller.cc
+@@ -55,6 +55,8 @@ OperationsController::OperationToken Ope
+ case State::kShuttingDown:
+ DecrementBy(1);
+ return OperationToken(nullptr);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,4 +107,4 @@ void OperationsController::DecrementBy(u
+ }
+
+ } // namespace internal
+-} // namespace base
+\ No newline at end of file
++} // namespace base
+Index: chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
++++ chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+@@ -294,6 +294,8 @@ bool MutableProfileOAuth2TokenServiceDel
+ case GaiaAuthConsumer::TokenRevocationStatus::kInvalidRequest:
+ case GaiaAuthConsumer::TokenRevocationStatus::kUnknownError:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/content_settings/content_setting_image_model.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+@@ -474,6 +474,8 @@ bool ContentSettingDownloadsImageModel::
+ case DownloadRequestLimiter::DOWNLOAD_UI_DEFAULT:
+ // No need to show icon otherwise.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/overlay/resize_handle_button.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+@@ -57,6 +57,8 @@ int ResizeHandleButton::GetHTComponent()
+ return HTBOTTOMRIGHT;
+ case OverlayWindowViews::WindowQuadrant::kTopRight:
+ return HTBOTTOMLEFT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_metrics.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+@@ -296,6 +296,8 @@ const char* GetSyncStateSuffix(AutofillS
+ return ".SignedInAndSyncFeature";
+ case AutofillSyncSigninState::kNumSyncStates:
+ return ".Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/content_settings/core/browser/host_content_settings_map.cc
++++ chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+@@ -231,6 +231,8 @@ const char* ContentSettingToString(Conte
+ case CONTENT_SETTING_NUM_SETTINGS:
+ NOTREACHED();
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/omnibox/browser/autocomplete_match.cc
++++ chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+@@ -261,6 +261,9 @@ const gfx::VectorIcon& AutocompleteMatch
+ NOTREACHED();
+ static const gfx::VectorIcon dummy = {};
+ return dummy;
++
++ default:
++ __builtin_abort ();
+ }
+ }
+ #endif
+Index: chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/common/gl_scaler.cc
++++ chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+@@ -693,6 +693,8 @@ const char* GLScaler::GetShaderName(GLSc
+ CASE_RETURN_SHADER_STR(I422_NV61_MRT);
+ CASE_RETURN_SHADER_STR(DEINTERLEAVE_PAIRWISE_MRT);
+ #undef CASE_RETURN_SHADER_STR
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_audio.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+@@ -414,6 +414,8 @@ class EchoCancellationContainer {
+ return blink::kEchoCancellationTypeSystem;
+ case EchoCancellationType::kEchoCancellationDisabled:
+ return base::nullopt;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/mdns_responder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/mdns_responder.cc
++++ chromium-72.0.3626.53/services/network/mdns_responder.cc
+@@ -435,6 +435,8 @@ class MdnsResponderManager::SocketHandle
+ case MdnsResponseSendOption::ResponseClass::UNSPECIFIED:
+ NOTREACHED();
+ return RateLimitScheme::PER_RESPONSE;
++ default:
++ __builtin_abort ();
+ }
+ }
+ // Returns null if the computed delay exceeds kMaxScheduledDelay and the next
+Index: chromium-72.0.3626.53/services/network/resource_scheduler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/resource_scheduler.cc
++++ chromium-72.0.3626.53/services/network/resource_scheduler.cc
+@@ -93,6 +93,8 @@ const char* RequestStartTriggerString(Re
+ return "REQUEST_REPRIORITIZED";
+ case RequestStartTrigger::LONG_QUEUED_REQUESTS_TIMER_FIRED:
+ return "LONG_QUEUED_REQUESTS_TIMER_FIRED";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+@@ -97,6 +97,8 @@ const CSSValue* CustomProperty::ParseSin
+ if (registration_ && !ParseTyped(range, context, local_context))
+ return nullptr;
+ return ParseUntyped(range, context, local_context);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+@@ -73,6 +73,8 @@ IndexedDBKey IndexedDBKeyBuilder::Build(
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return IndexedDBKey();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,6 +107,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -137,6 +141,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -179,6 +185,8 @@ IndexedDBKeyPath IndexedDBKeyPathBuilder
+ return IndexedDBKeyPath(CopyArray(key_path.Array()));
+ case kWebIDBKeyPathTypeNull:
+ return IndexedDBKeyPath();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -195,6 +203,8 @@ WebIDBKeyPath WebIDBKeyPathBuilder::Buil
+ }
+ case kWebIDBKeyPathTypeNull:
+ return WebIDBKeyPath::CreateNull();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+@@ -570,6 +570,8 @@ RTCSetSessionDescriptionOperation GetRTC
+ return RTCSetSessionDescriptionOperation::kSetRemoteDescriptionAnswer;
+ return RTCSetSessionDescriptionOperation::
+ kSetRemoteDescriptionInvalidType;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -595,6 +597,8 @@ SdpUsageCategory DeduceSdpUsageCategory(
+ sdp_semantics == webrtc::SdpSemantics::kUnifiedPlan)
+ ? SdpUsageCategory::kSafe
+ : SdpUsageCategory::kUnsafe;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+@@ -194,6 +194,8 @@ bool WaitUntilObserver::IsEventActive(Sc
+ case EventDispatchState::kDispatched:
+ case EventDispatchState::kFailed:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
diff --git a/chromium-system-icu.patch b/chromium-system-icu.patch
index cbea609..4b153d9 100644
--- a/chromium-system-icu.patch
+++ b/chromium-system-icu.patch
@@ -1,11 +1,11 @@
---- chromium-70.0.3521.2.old/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-15 12:41:21.091987662 +0200
-+++ chromium-70.0.3521.2/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-17 12:37:45.459538308 +0200
-@@ -247,7 +247,7 @@
+--- chromium-72.0.3626.7.orig/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:38:52.691743205 +0100
++++ chromium-72.0.3626.7/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:49:27.320195000 +0100
+@@ -247,7 +247,7 @@ static const UChar32 kIsHangulRanges[] =
0xFFA0, 0xFFDC,
};
-static const UChar32 kIsHangulArray[] = {};
+static const UChar32 kIsHangulArray[] = {0xFFDC,};
- } // namespace blink
-
+ #if !defined(USING_SYSTEM_ICU)
+ // Freezed trie tree, see character_property_data_generator.cc.
diff --git a/chromium-vaapi.sh b/chromium-vaapi.sh
index dbdaf4a..55514fd 100644
--- a/chromium-vaapi.sh
+++ b/chromium-vaapi.sh
@@ -5,8 +5,9 @@
# found in the LICENSE file.
# This file is obtained from https://src.fedoraproject.org/rpms/chromium/
-# and modified by Akarshan Biswas <akarshan.biswas(a)hotmail.com. All modifications are also
+# and modified by Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>. All modifications are also
# licensed under 3-clause BSD license.
+CHROMIUM_DISTRO_FLAGS=()
# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="$(readlink -f "$0")"
@@ -38,19 +39,26 @@ else
fi
export LD_LIBRARY_PATH
+#On wayland pass the correct GDK_BACKEND
+# In future this will be used for running chromium natively on Wayland
+if [ $XDG_SESSION_TYPE == "wayland" ]; then
+export GDK_BACKEND=x11
+fi
+
+
# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
-export CHROME_VERSION_EXTRA="Built from source for @@BUILDTARGET@@"
+export CHROME_VERSION_EXTRA="Built from source for Fedora 29"
-CHROMIUM_DISTRO_FLAGS=" --enable-plugins \
- --enable-extensions \
- --enable-user-scripts \
- --enable-printing \
- --enable-gpu-rasterization \
- --enable-sync"
+CHROMIUM_DISTRO_FLAGS+=" --enable-plugins \
+ --enable-extensions \
+ --enable-user-scripts \
+ --enable-printing \
+ --enable-gpu-rasterization \
+ --enable-sync"
-exec -a "$0" "@@CHROMIUMDIR@@/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
+exec -a "$0" "/usr/lib64/chromium-vaapi/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index fe2502b..13c6912 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -19,8 +19,8 @@
# This package depends on automagic byte compilation
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%global _python_bytecompile_extra 1
-#Require harfbuzz >= 1.8.6 for hb_font_funcs_set_glyph_h_advances_func
-%if 0%{?fedora} >= 29
+#Require harfbuzz >= 2 for hb_ot_tags_from_script_and_language
+%if 0%{?fedora} >= 30
%bcond_without system_harfbuzz
%else
%bcond_with system_harfbuzz
@@ -36,6 +36,8 @@
%bcond_without system_libicu
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
+# Allow testing whether ffmpeg can be unbundled
+%bcond_with system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
%if 0%{?fedora} >= 30
@@ -47,36 +49,25 @@
%bcond_with system_re2
#Turn on verbose mode
-%global debug_logs 1
+%global debug_logs 0
# Allow compiling with clang
%global clang 0
#Allow jumbo builds
# Enabled by default
%global jumbo 1
#------------------------------------------------------
-%if %{clang}
-#Disable Build debug packages for debugging on clang
-%global debug_pkg 0
-#Disable building with Fedora compilation flags on clang
-%global fedora_compilation_flags 0
-%else
#Build debug packages for debugging
%global debug_pkg 1
#Allow building with Fedora compilation flags
%global fedora_compilation_flags 1
-%endif
-# Use ld in rawhide as gold is faulty
-%if 0%{?fedora} >= 30
-%global stopgold 1
-%else
+# Gold switch
%global stopgold 0
-%endif
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
Name: chromium-vaapi
-Version: 71.0.3578.98
-Release: 2%{?dist}
+Version: 72.0.3626.81
+Release: 1%{?dist}
Summary: A Chromium web browser with video decoding acceleration
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -128,6 +119,9 @@ BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(libffi)
+%if %{ozone}
+BuildRequires: mesa-libgbm-devel
+%endif
# remove_bundled_libraries.py --do-remove
BuildRequires: python2-rpm-macros
BuildRequires: python2-beautifulsoup4
@@ -157,6 +151,9 @@ BuildRequires: libpng-devel
%if %{with system_libvpx}
BuildRequires: libvpx-devel
%endif
+%if %{with system_ffmpeg}
+BuildRequires: ffmpeg-devel
+%endif
BuildRequires: libwebp-devel
%if %{with system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
@@ -173,9 +170,11 @@ BuildRequires: desktop-file-utils
# install AppData files
BuildRequires: libappstream-glib
#for vaapi
-BuildRequires: libva-devel
+BuildRequires: libva-devel
+# Mojojojo need this >:(
+BuildRequires: java-1.8.0-openjdk
#Runtime Requirements
-Requires: hicolor-icon-theme
+Requires: hicolor-icon-theme
#Some recommendations
Recommends: libva-intel-hybrid-driver%{?_isa}
Recommends: libva-intel-driver%{?_isa}
@@ -189,15 +188,9 @@ ExclusiveArch: x86_64
Patch1: enable-vaapi.patch
# Enable support for widevine
Patch2: widevine.patch
-#Will use any clang patch here
-Patch3: ccompiler.patch
-#Fix breaking builds caused by gcc_ar_wrapper.py from upstream
-Patch7: llvm-arflags.patch
#Gcc patches area.
#Gcc produces way too many warnings. Try to silence some of it.
Patch8: silencegcc.patch
-#Fix building with GCC 8
-Patch9: chromium-71-gcc-fix.patch
# More patches to fix chromium build here
# remove dependency on unrar. That's a nasty code.
Patch50: nounrar.patch
@@ -205,19 +198,25 @@ Patch50: nounrar.patch
Patch51: py2-bootstrap.patch
# Fix building with system icu
Patch52: chromium-system-icu.patch
-# Fix chromium build with harfbuzz 2 in rawhide
-Patch53: chromium-harfbuzz2.patch
# Let's brand chromium!
Patch54: brand.patch
-# Disable sysroot related settings
-Patch55: chromium-gn-r607596.patch
# Since the newer versions of VA-API are ABI compatible, relax the version checks for VA-API, by using VA_CHECK_VERSION().
# This will help in updating the libva to the latest releases,while still supporting the old versions, till the new version of
# libva is merged and picked by the builds. Thus ensuring that hardware acceleration is not broken while updating the libva.
# Taken and rebased from https://chromium-review.googlesource.com/c/chromium/src/+/1352519
# The patch might land somewhere in the future and will be removed.
Patch56: relax-libva-version.patch
-
+#This reverts commit https://github.com/Igalia/chromium/commit/816f0e1e5c15d7fce9389a428cbd49b...
+Patch58: system-gbm.patch
+# Possibly fixes vaapi ozone build https://github.com/Igalia/chromium/commit/0fba13c7fb502568c38de99ba41719c...
+Patch59: fixvaapiozone.patch
+# Fix webrtc include error
+Patch60: chromium-webrtc-includes.patch
+Patch61: chromium-non-void-return.patch
+Patch62: chromium-dma-buf.patch
+Patch63: chromium-drm.patch
+#Use gold in gn bootstrap
+Patch64: gn-gold.patch
%description
chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
############################################PREP###########################################################
@@ -226,26 +225,25 @@ chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
## Apply patches here ##
%patch1 -p1 -b .vaapi
%patch2 -p1 -b .widevine
-%if %{clang}
-%patch3 -p1 -b .cc
-%patch7 -p1 -b .llvmarflags
-%else
%patch8 -p1 -b .silencegcc
-%patch9 -p1 -b .gcc
-%endif
%patch50 -p1 -b .nounrar
%patch51 -p1 -b .py2boot
%patch52 -p1 -b .icu
-%if 0%{?fedora} >= 30
-%patch53 -p1 -b .harfbuzz2
-%endif
%if %{freeworld}
%patch54 -p1 -b .brand
%endif
-%patch55 -p1 -b .gn
%patch56 -p1 -b .relaxva
+%if %{ozone}
+%patch58 -p1 -b .sysgbm
+%patch59 -p1 -b .fixozonevaapi
+%endif
+%patch60 -p1 -b .webrtc
+%patch61 -p1 -b .nonvoid
+%patch62 -p1 -b .dma
+%patch63 -p1 -b .drm
+%patch64 -p1 -b .gn
#Let's change the default shebang of python files.
-find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
+find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
base/third_party/dmg_fp \
base/third_party/dynamic_annotations \
@@ -271,10 +269,10 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
net/third_party/uri_template \
third_party/abseil-cpp \
third_party/adobe \
- third_party/analytics \
third_party/angle \
third_party/angle/src/common/third_party/base \
third_party/angle/src/common/third_party/smhasher \
+ third_party/angle/src/common/third_party/xxhash \
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
@@ -306,18 +304,20 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/catapult/tracing/third_party/pako \
third_party/ced \
third_party/cld_3 \
+ third_party/closure_compiler \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/zlib \
third_party/crc32c \
third_party/cros_system_api \
third_party/devscripts \
third_party/dom_distiller_js \
+%if !%{with system_ffmpeg}
third_party/ffmpeg \
+%endif
third_party/fips181 \
third_party/flatbuffers \
third_party/flot \
third_party/freetype \
- third_party/glslang-angle \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
third_party/google_input_tools/third_party/closure_library/third_party/closure \
@@ -369,6 +369,7 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/minizip/ \
%endif
third_party/modp_b64 \
+ third_party/nasm \
third_party/node \
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/openh264 \
@@ -407,22 +408,16 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/speech-dispatcher \
third_party/spirv-headers \
third_party/SPIRV-Tools \
- third_party/spirv-tools-angle \
third_party/sqlite \
- third_party/swiftshader \
- third_party/swiftshader/third_party/llvm-subzero \
- third_party/swiftshader/third_party/subzero \
third_party/tcmalloc \
third_party/usb_ids \
third_party/usrsctp \
third_party/vulkan \
- third_party/vulkan-validation-layers \
%if %{ozone}
third_party/wayland \
%endif
third_party/web-animations-js \
third_party/webdriver \
- third_party/WebKit \
third_party/webrtc \
third_party/webrtc/common_audio/third_party/fft4g \
third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
@@ -447,6 +442,9 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
v8/third_party/v8
./build/linux/unbundle/replace_gn_files.py --system-libraries \
+%if %{with system_ffmpeg}
+ ffmpeg \
+%endif
flac \
freetype \
fontconfig \
@@ -495,10 +493,6 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"chromium-vaapi"/' $FILE
#####################################BUILD#############################################
%build
#export compilar variables
-%if %{clang}
-export AR=llvm-ar NM=llvm-nm
-export CC=clang CXX=clang++
-%else
export AR=ar NM=nm
export CC=gcc CXX=g++
%if %{fedora_compilation_flags}
@@ -520,7 +514,6 @@ export LDFLAGS='%{__global_ldflags}'
%else
export CXXFLAGS=$CXXFLAGS" -fpermissive"
%endif
-%endif
gn_args=(
is_debug=false
use_vaapi=true
@@ -564,17 +557,11 @@ gn_args=(
)
# Gold is faulty on rawhide so disabled it.
gn_args+=(
-%if %{clang}
- is_clang=true
- 'clang_base_path = "/usr"'
- clang_use_chrome_plugins=false
-%else
is_clang=false
use_lld=false
%if %{stopgold}
use_gold=false
%endif
-%endif
)
#Jumbo stuff
gn_args+=(
@@ -587,11 +574,11 @@ gn_args+=(
# Ozone stuff
+# Tracking bug : https://github.com/Igalia/chromium/issues/512
gn_args+=(
%if %{ozone}
use_ozone=true
- ozone_auto_platforms=true
- ozone_platform_wayland=true
+ use_system_minigbm=true
use_xkbcommon=true
%endif
)
@@ -692,6 +679,14 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/locales/*.pak
#########################################changelogs#################################################
%changelog
+* Tue Feb 05 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-1
+- Update to 72.0.3626.81
+- Add a patch to fix missing includes in webrtc
+- ozone updates (WIP)
+- Fix gn where it now needs gold linker in bootstrap
+- remove clang building implementation in this spec (out of scope)
+- Make sure chromium uses the x11 GDK backend in wayland
+
* Fri Dec 21 2018 Akarshan Biswas <akarshan.biswas(a)hotmail.com> 71.0.3578.98-2
- Re enable the non effective enable_widevine flag
diff --git a/chromium-webrtc-includes.patch b/chromium-webrtc-includes.patch
new file mode 100644
index 0000000..0c66920
--- /dev/null
+++ b/chromium-webrtc-includes.patch
@@ -0,0 +1,16754 @@
+From 3e70781361ed0666b925fe4333a567025de211bb Mon Sep 17 00:00:00 2001
+From: Yves Gerey <yvesg(a)webrtc.org>
+Date: Wed, 28 Nov 2018 16:47:49 +0100
+Subject: [PATCH] [Cleanup] Add missing #include. Remove useless ones. IWYU part 2.
+
+This is a follow-up to
+https://webrtc-review.googlesource.com/c/src/+/106280.
+This time the whole code base is covered.
+Some files may have not been fixed though, whenever the IWYU tool
+was breaking the build.
+
+Bug: webrtc:8311
+Change-Id: I2c31f552a87e887d33931d46e87b6208b1e483ef
+Reviewed-on: https://webrtc-review.googlesource.com/c/111965
+Commit-Queue: Yves Gerey <yvesg(a)google.com>
+Reviewed-by: Karl Wiberg <kwiberg(a)webrtc.org>
+Reviewed-by: Mirko Bonadei <mbonadei(a)webrtc.org>
+Cr-Commit-Position: refs/heads/master@{#25830}
+---
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+@@ -58,6 +58,7 @@ rtc_static_library("create_peerconnectio
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+ "../media:rtc_audio_video",
++ "../media:rtc_media_base",
+ "../modules/audio_device:audio_device_api",
+ "../modules/audio_processing:api",
+ "../pc:peerconnection",
+@@ -202,6 +203,7 @@ rtc_source_set("test_dependency_factory"
+ ]
+ deps = [
+ ":video_quality_test_fixture_api",
++ "../rtc_base:checks",
+ "../rtc_base:thread_checker",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -279,6 +281,7 @@ rtc_source_set("audio_options_api") {
+ ]
+
+ deps = [
++ ":array_view",
+ "../rtc_base:stringutils",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -636,7 +639,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":libjingle_peerconnection_api",
+ "../rtc_base:checks",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+@@ -110,6 +110,12 @@ specific_include_rules = {
+ "+rtc_base/bind.h",
+ ],
+
++ "proxy\.h": [
++ "+rtc_base/messagehandler.h", # Inherits from it.
++ "+rtc_base/messagequeue.h", # Inherits from MessageData.
++ "+rtc_base/scoped_ref_ptr.h",
++ ],
++
+ "refcountedbase\.h": [
+ "+rtc_base/constructormagic.h",
+ "+rtc_base/refcount.h",
+@@ -258,7 +264,8 @@ specific_include_rules = {
+ ],
+
+ "i010_buffer\.h": [
+- "+rtc_base/memory/aligned_malloc.h"
++ "+rtc_base/memory/aligned_malloc.h",
++ "+rtc_base/scoped_ref_ptr.h",
+ ],
+
+ "i420_buffer\.h": [
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+@@ -55,6 +55,7 @@ rtc_source_set("aec3_config_json") {
+ ]
+ deps = [
+ ":aec3_config",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_json",
+ "../../rtc_base/system:rtc_export",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+@@ -9,9 +9,11 @@
+ */
+ #include "api/audio/echo_canceller3_config_json.h"
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/json.h"
+ #include "rtc_base/strings/string_builder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h> // memcmp
+
+ #include "api/audio/audio_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
+-
+ #include "api/audio/echo_canceller3_config.h"
+ #include "api/audio/echo_canceller3_config_json.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio_options.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/audio_options.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/create_peerconnection_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+@@ -13,16 +13,21 @@
+ #include <memory>
+ #include <utility>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/call/callfactoryinterface.h"
++#include "api/fec_controller.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/transport/network_control.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/mediaengine.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/mediastreaminterface.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+@@ -9,8 +9,6 @@
+ */
+
+ #include "api/mediastreaminterface.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+@@ -53,12 +53,20 @@
+ #define API_PROXY_H_
+
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "rtc_base/event.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
++namespace rtc {
++class Location;
++}
++
+ namespace webrtc {
+
+ template <typename R>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/rtpparameters_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
+-
+ #include "api/rtpparameters.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_STATS_RTCSTATS_H_
+ #define API_STATS_RTCSTATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats_objects.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+@@ -11,6 +11,7 @@
+ #ifndef API_STATS_RTCSTATS_OBJECTS_H_
+ #define API_STATS_RTCSTATS_OBJECTS_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstatsreport.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+@@ -11,6 +11,8 @@
+ #ifndef API_STATS_RTCSTATSREPORT_H_
+ #define API_STATS_RTCSTATSREPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_decryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+@@ -11,9 +11,13 @@
+ #ifndef API_TEST_FAKE_FRAME_DECRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_DECRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
++#include "api/array_view.h"
+ #include "api/crypto/framedecryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_encryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+@@ -11,7 +11,12 @@
+ #ifndef API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/array_view.h"
+ #include "api/crypto/frameencryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+@@ -13,6 +13,7 @@
+
+ #include "absl/memory/memory.h"
+ #include "api/test/test_dependency_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+@@ -14,7 +14,6 @@
+ #include <memory>
+
+ #include "api/test/video_quality_test_fixture.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/videocodec_test_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_TEST_VIDEOCODEC_TEST_STATS_H_
+ #define API_TEST_VIDEOCODEC_TEST_STATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+@@ -69,6 +69,10 @@ if (rtc_include_tests) {
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../test:test_support",
++ "../units:data_rate",
++ "../units:data_size",
++ "../units:time_delta",
++ "../units:timestamp",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/goog_cc_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+@@ -10,8 +10,11 @@
+
+ #include "api/transport/goog_cc_factory.h"
+
++#include <stdint.h>
++
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
++
+ namespace webrtc {
+ GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory(
+ RtcEventLog* event_log)
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+@@ -11,8 +11,13 @@
+ #include "api/transport/test/network_control_tester.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/units/data_size.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+@@ -11,12 +11,16 @@
+ #ifndef API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+ #define API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <functional>
+ #include <memory>
+
+-#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+@@ -18,6 +18,7 @@ rtc_source_set("data_rate") {
+ deps = [
+ ":data_size",
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -32,6 +33,7 @@ rtc_source_set("data_size") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -46,6 +48,7 @@ rtc_source_set("time_delta") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -61,6 +64,7 @@ rtc_source_set("timestamp") {
+
+ deps = [
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_rate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_rate.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_size.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_size.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/time_delta.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/time_delta.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/timestamp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/timestamp.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+@@ -32,6 +32,7 @@ rtc_source_set("video_frame") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:rtc_export",
+@@ -199,6 +200,7 @@ rtc_source_set("video_stream_encoder_cre
+ }
+
+ deps = [
++ ":video_frame",
+ ":video_stream_encoder",
+ "../../rtc_base:ptr_util",
+ "../../video:video_stream_encoder_impl",
+@@ -216,12 +218,15 @@ rtc_static_library("builtin_video_bitrat
+
+ deps = [
+ ":video_bitrate_allocation",
++ ":video_bitrate_allocator",
+ ":video_bitrate_allocator_factory",
++ "../../:webrtc_common",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_coding_utility",
+ "../../modules/video_coding:webrtc_vp9_helpers",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:fallthrough",
++ "../video_codecs:video_codecs_api",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+@@ -11,7 +11,9 @@
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/encoded_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+@@ -13,6 +13,9 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ namespace webrtc {
+ namespace video_coding {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+@@ -9,14 +9,12 @@
+ */
+ #include "api/video/i010_buffer.h"
+
+-#include <algorithm>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+ // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD.
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+@@ -11,11 +11,13 @@
+ #ifndef API_VIDEO_I010_BUFFER_H_
+ #define API_VIDEO_I010_BUFFER_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+ #include "rtc_base/memory/aligned_malloc.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i420_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+@@ -10,12 +10,11 @@
+ #include "api/video/i420_buffer.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+@@ -18,5 +18,6 @@ rtc_source_set("rtc_api_video_unittests"
+ "..:video_bitrate_allocation",
+ "..:video_frame",
+ "../../../test:test_support",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+@@ -8,9 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/video_bitrate_allocation.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+@@ -11,6 +11,7 @@
+ #include "api/video/video_stream_encoder_create.h"
+
+ #include "absl/memory/memory.h"
++#include "video/overuse_frame_detector.h"
+ #include "video/video_stream_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+@@ -11,10 +11,11 @@
+ #ifndef API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+ #define API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+
+-#include <map>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_stream_encoder_interface.h"
+ #include "api/video/video_stream_encoder_observer.h"
+ #include "api/video/video_stream_encoder_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/video/video_timing.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+@@ -80,6 +80,7 @@ rtc_static_library("builtin_video_encode
+ "../../media:rtc_internal_video_codecs",
+ "../../media:rtc_media_base",
+ "../../media:rtc_vp8_encoder_simulcast_proxy",
++ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:rtc_export",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -101,7 +102,7 @@ rtc_static_library("create_vp8_temporal_
+ "../../modules/video_coding:video_codec_interface",
+ "../../modules/video_coding:webrtc_vp8_temporal_layers",
+ "../../system_wrappers:system_wrappers",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -122,6 +123,7 @@ rtc_static_library("rtc_software_fallbac
+
+ deps = [
+ ":video_codecs_api",
++ "../../:webrtc_common",
+ "../../media:rtc_h264_profile_id",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_codec_interface",
+@@ -129,7 +131,10 @@ rtc_static_library("rtc_software_fallbac
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:fallthrough",
+ "../../system_wrappers:field_trial",
++ "../video:encoded_image",
+ "../video:video_bitrate_allocation",
++ "../video:video_frame",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+@@ -15,10 +15,12 @@
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+@@ -22,14 +22,19 @@ if (rtc_include_tests) {
+ "..:rtc_software_fallback_wrappers",
+ "..:video_codecs_api",
+ "../..:mock_video_encoder",
++ "../../../:webrtc_common",
++ "../../../modules:module_api",
+ "../../../modules/video_coding:video_codec_interface",
+ "../../../modules/video_coding:video_coding_utility",
+ "../../../modules/video_coding:webrtc_vp8",
+ "../../../rtc_base:checks",
++ "../../../rtc_base:ptr_util",
+ "../../../rtc_base:rtc_base_tests_utils",
+ "../../../test:field_trial",
+ "../../../test:test_support",
++ "../../video:encoded_image",
+ "../../video:video_bitrate_allocation",
++ "../../video:video_frame",
+ "../../video:video_frame_i420",
+ "//testing/gtest",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+@@ -11,9 +11,11 @@
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
+
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "api/video_codecs/sdp_video_format.h"
+-#include "test/gmock.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+@@ -9,8 +9,17 @@
+ */
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_encoder.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/field_trial.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+@@ -10,10 +10,13 @@
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+@@ -10,18 +10,21 @@
+
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <cstdio>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+@@ -124,6 +124,10 @@ rtc_source_set("rtp_sender") {
+ "../api:fec_controller_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:data_rate",
++ "../api/units:time_delta",
++ "../api/units:timestamp",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
+ "../logging:rtc_event_log_api",
+ "../modules/congestion_controller",
+@@ -133,6 +137,7 @@ rtc_source_set("rtp_sender") {
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/utility",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../rtc_base:checks",
+ "../rtc_base:rate_limiter",
+@@ -140,7 +145,10 @@ rtc_source_set("rtp_sender") {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_task_queue",
+ "../system_wrappers:field_trial",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ }
+
+@@ -155,6 +163,7 @@ rtc_source_set("bitrate_configurator") {
+ "../api/transport:bitrate_settings",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -199,10 +208,16 @@ rtc_static_library("call") {
+ ":rtp_sender",
+ ":simulated_network",
+ ":video_stream_api",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:callfactory_api",
++ "../api:fec_controller_api",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:time_delta",
++ "../api/video_codecs:video_codecs_api",
+ "../audio",
+ "../logging:rtc_event_audio",
+ "../logging:rtc_event_log_api",
+@@ -223,6 +238,7 @@ rtc_static_library("call") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:sequenced_task_checker",
+ "../rtc_base/experiments:field_trial_parser",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/synchronization:rw_lock_wrapper",
+ "../system_wrappers",
+ "../system_wrappers:field_trial",
+@@ -265,6 +281,7 @@ rtc_source_set("simulated_network") {
+ "../api/units:data_rate",
+ "../api/units:data_size",
+ "../api/units:time_delta",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+@@ -291,10 +308,13 @@ rtc_source_set("fake_network") {
+ ":call_interfaces",
+ ":simulated_network",
+ ":simulated_packet_receiver",
++ "..:webrtc_common",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../modules:module_api",
+ "../modules/utility",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
+@@ -330,12 +350,15 @@ if (rtc_include_tests) {
+ ":rtp_receiver",
+ ":rtp_sender",
+ ":simulated_network",
++ "../:webrtc_common",
+ "../api:array_view",
+ "../api:fake_media_transport",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../api:mock_audio_mixer",
++ "../api:transport_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
++ "../api/video:video_frame",
+ "../audio:audio",
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+@@ -351,6 +374,7 @@ if (rtc_include_tests) {
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/utility:mock_process_thread",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+ "../rtc_base:checks",
+@@ -367,6 +391,7 @@ if (rtc_include_tests) {
+ "../video:video",
+ "//testing/gmock",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+@@ -10,14 +10,15 @@
+
+ #include "call/callfactory.h"
+
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
+ #include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "call/call.h"
+ #include "call/degraded_call.h"
+-#include "call/fake_network_pipe.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+@@ -12,6 +12,8 @@
+ #define CALL_CALLFACTORY_H_
+
+ #include "api/call/callfactoryinterface.h"
++#include "call/call.h"
++#include "call/call_config.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+@@ -10,9 +10,9 @@
+
+ #include <utility>
+
+-#include "call/degraded_call.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/degraded_call.h"
++#include "rtc_base/location.h"
+
+ namespace webrtc {
+ DegradedCall::DegradedCall(
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+@@ -11,15 +11,31 @@
+ #ifndef CALL_DEGRADED_CALL_H_
+ #define CALL_DEGRADED_CALL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+ #include "api/call/transport.h"
++#include "api/fec_controller.h"
++#include "api/mediatypes.h"
++#include "api/rtp_headers.h"
+ #include "api/test/simulated_network.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/audio_receive_stream.h"
++#include "call/audio_send_stream.h"
+ #include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/packet_receiver.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/simulated_network.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/bitrateallocationstrategy.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/fake_network_pipe.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+ #include <string.h>
+-
+ #include <algorithm>
++#include <queue>
+ #include <utility>
++#include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "call/call.h"
++#include "api/mediatypes.h"
+ #include "call/fake_network_pipe.h"
+-#include "call/simulated_network.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+@@ -10,8 +10,14 @@
+
+ #include "call/flexfec_receive_stream_impl.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <string>
++#include <vector>
+
++#include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtpparameters.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "modules/rtp_rtcp/include/flexfec_receiver.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "call/flexfec_receive_stream_impl.h"
+-
+-#include <stdint.h>
++#include <cstdint>
+ #include <memory>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/flexfec_receive_stream_impl.h"
+ #include "call/rtp_stream_receiver_controller.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/flexfec_receiver.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/mocks/mock_recovered_packet_receiver.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
+ #include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/utility/include/mock/mock_process_thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+@@ -11,10 +11,10 @@
+ #include "call/receive_time_calculator.h"
+
+ #include <string>
++#include <type_traits>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+@@ -10,9 +10,11 @@
+ #ifndef CALL_RECEIVE_TIME_CALCULATOR_H_
+ #define CALL_RECEIVE_TIME_CALCULATOR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "rtc_base/experiments/field_trial_units.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "call/receive_time_calculator.h"
+
++#include <stdlib.h>
+ #include <algorithm>
+-#include <iostream>
+-#include <tuple>
++#include <cmath>
++#include <cstdint>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+@@ -10,6 +10,11 @@
+
+ #include "call/rtcp_demuxer.h"
+
++#include <stddef.h>
++#include <algorithm>
++#include <utility>
++
++#include "absl/types/optional.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "call/rtp_rtcp_demuxer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+@@ -10,14 +10,14 @@
+
+ #include "call/rtcp_demuxer.h"
+
+-#include <memory>
++#include <stddef.h>
+ #include <set>
+
+-#include "absl/memory/memory.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_bitrate_configurator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTP_BITRATE_CONFIGURATOR_H_
+ #define CALL_RTP_BITRATE_CONFIGURATOR_H_
+
++#include "absl/types/optional.h"
+ #include "api/bitrate_constraints.h"
+ #include "api/transport/bitrate_settings.h"
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+@@ -10,7 +10,17 @@
+
+ #include "call/rtp_payload_params.h"
+
+-#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include <stddef.h>
++
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+@@ -8,10 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
++#include <string.h>
++#include <map>
+ #include <set>
+
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_rotation.h"
+ #include "call/rtp_payload_params.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+@@ -11,9 +11,8 @@
+ #ifndef CALL_RTP_RTCP_DEMUXER_HELPER_H_
+ #define CALL_RTP_RTCP_DEMUXER_HELPER_H_
+
+-#include <algorithm>
+-#include <map>
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
+ #include "api/array_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <cstdio>
+
+ #include "call/rtp_rtcp_demuxer_helper.h"
+-
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_reports.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_transport_controller_send.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+@@ -11,9 +11,16 @@
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "call/rtp_transport_controller_send.h"
++#include "call/rtp_video_sender.h"
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+ #include "modules/congestion_controller/rtp/include/send_side_congestion_controller.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/rate_limiter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtx_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "call/rtx_receive_stream.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+@@ -13,7 +13,11 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <utility>
++
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+@@ -10,11 +10,11 @@
+ #ifndef CALL_SIMULATED_NETWORK_H_
+ #define CALL_SIMULATED_NETWORK_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <queue>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "api/test/simulated_network.h"
+ #include "rtc_base/criticalsection.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+@@ -58,7 +58,7 @@ rtc_static_library("common_audio") {
+ "../system_wrappers:cpu_features_api",
+ "third_party/fft4g:fft4g",
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+@@ -86,10 +86,14 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":common_video",
++ "../:webrtc_common",
++ "../api/units:time_delta",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i010",
+ "../api/video:video_frame_i420",
++ "../media:rtc_h264_profile_id",
+ "../modules/video_capture:video_capture",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "common_video/include/bitrate_adjuster.h"
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/fakeclock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+@@ -10,12 +10,10 @@
+
+ #include "common_video/h264/pps_parser.h"
+
+-#include <limits>
+-#include <memory>
+-
+ #include "common_video/h264/h264_common.h"
+ #include "rtc_base/bitbuffer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+@@ -10,6 +10,12 @@
+
+ #include "common_video/h264/profile_level_id.h"
+
++#include <map>
++#include <string>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "media/base/h264_profile_level_id.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <vector>
+
+ #include "common_video/h264/h264_common.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+@@ -8,9 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
++#include <stdint.h>
++#include <string.h>
+
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+@@ -10,7 +10,7 @@
+
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+
+-#include <string.h>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "common_video/include/video_frame_buffer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+@@ -9,16 +9,10 @@
+ */
+ #include "common_video/include/video_frame_buffer.h"
+
+-#include <string.h>
+-
+-#include <algorithm>
+-
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+@@ -681,14 +681,21 @@ if (is_linux || is_win) {
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ deps = [
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame_i420",
++ "../api/video_codecs:video_codecs_api",
++ "../media:rtc_media_base",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/sigslot",
+ "../system_wrappers:field_trial",
+ "../test:field_trial",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (is_win) {
+ sources += [
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/conductor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+@@ -10,22 +10,37 @@
+
+ #include "examples/peerconnection/client/conductor.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/rtpsenderinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "examples/peerconnection/client/defaults.h"
++#include "media/base/device.h"
+ #include "media/engine/webrtcvideocapturerfactory.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_factory.h"
++#include "p2p/base/portallocator.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/strings/json.h"
+
+ // Names used for a IceCandidate JSON object.
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/defaults.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+@@ -11,7 +11,6 @@
+ #include "examples/peerconnection/client/defaults.h"
+
+ #include <stdlib.h>
+-#include <string.h>
+
+ #ifdef WIN32
+ #include <winsock2.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <glib.h>
+ #include <gtk/gtk.h>
++#include <stdio.h>
+
+ #include "examples/peerconnection/client/conductor.h"
+ #include "examples/peerconnection/client/flagdefs.h"
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
+-
++#include "rtc_base/flags.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+@@ -10,12 +10,25 @@
+
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+
++#include <cairo.h>
++#include <gdk/gdk.h>
+ #include <gdk/gdkkeysyms.h>
++#include <glib-object.h>
++#include <glib.h>
++#include <gobject/gclosure.h>
+ #include <gtk/gtk.h>
+ #include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
++#include <utility>
+
+ #include "api/video/i420_buffer.h"
+-#include "examples/peerconnection/client/defaults.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_source_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "third_party/libyuv/include/libyuv/convert_from.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+@@ -11,11 +11,16 @@
+ #ifndef EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+ #define EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "examples/peerconnection/client/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // Forward declarations.
+ typedef struct _GtkWidget GtkWidget;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+@@ -11,13 +11,15 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
++#if defined(WEBRTC_POSIX)
++#include <sys/select.h>
++#endif
++#include <time.h>
++#include <string>
+ #include <vector>
+
+ #include "examples/peerconnection/server/data_socket.h"
+ #include "examples/peerconnection/server/peer_channel.h"
+-#include "examples/peerconnection/server/utils.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+@@ -10,10 +10,9 @@
+
+ #include "examples/peerconnection/server/peer_channel.h"
+
++#include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <algorithm>
+
+ #include "examples/peerconnection/server/data_socket.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+@@ -11,6 +11,7 @@
+ #ifndef EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+ #define EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+
++#include <stddef.h>
+ #include <string>
+
+ #ifndef ARRAYSIZE
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/relayserver/relayserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+@@ -12,6 +12,9 @@
+ #include <memory>
+
+ #include "p2p/base/relayserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ int main(int argc, char** argv) {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunprober/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+@@ -8,25 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <map>
+ #include <memory>
++#include <set>
+ #include <sstream>
++#include <string>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/ssladapter.h"
+-#include "rtc_base/strings/string_builder.h"
+-#include "rtc_base/stringutils.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunserver/stunserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+@@ -7,14 +7,12 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-
+-#if defined(WEBRTC_POSIX)
+-#include <errno.h>
+-#endif // WEBRTC_POSIX
+-
+ #include <iostream>
+
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ using cricket::StunServer;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/read_auth_file.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "examples/turnserver/read_auth_file.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/stringencode.h"
+
+ namespace webrtc_examples {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/turnserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+@@ -12,12 +12,16 @@
+ #include <iostream>
+ #include <map>
+ #include <string>
++#include <utility>
+
+ #include "examples/turnserver/read_auth_file.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/turnserver.h"
+ #include "rtc_base/asyncudpsocket.h"
+-#include "rtc_base/stringencode.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+@@ -173,6 +173,8 @@ rtc_static_library("rtc_event_log_impl_e
+ defines = []
+
+ deps = [
++ "../api:libjingle_peerconnection_api",
++ "../api/transport:network_control",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -346,6 +348,7 @@ if (rtc_enable_protobuf) {
+ ":rtc_event_rtp_rtcp",
+ ":rtc_event_video",
+ ":rtc_stream_config",
++ "../api:array_view",
+ "../api:libjingle_peerconnection_api",
+ "../call",
+ "../call:call_interfaces",
+@@ -355,6 +358,7 @@ if (rtc_enable_protobuf) {
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -375,13 +379,15 @@ if (rtc_enable_protobuf) {
+ deps = [
+ ":rtc_event_log_api",
+ ":rtc_event_log_parser",
++ "../api:array_view",
++ "../api:libjingle_peerconnection_api",
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../test:rtp_test_utils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+@@ -4,4 +4,5 @@ include_rules = [
+ "+modules/congestion_controller",
+ "+modules/remote_bitrate_estimator/include",
+ "+modules/rtp_rtcp",
++ "+system_wrappers",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+@@ -10,9 +10,10 @@
+
+ #include "logging/rtc_event_log/encoder/blob_encoding.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "logging/rtc_event_log/encoder/varint.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_common.h"
+
++#include <cstdint>
+ #include <limits>
+ #include <type_traits>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+@@ -10,6 +10,13 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
+
++#include <string.h>
++#include <vector>
++
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "api/transport/network_types.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+
+ #include "absl/strings/string_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+@@ -10,8 +10,7 @@
+
+ #include "logging/rtc_event_log/fake_rtc_event_log_factory.h"
+
+-#include <utility>
+-
++#include "logging/rtc_event_log/fake_rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+@@ -13,8 +13,6 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
+-
+-#include <memory>
+ #include <string>
+
+ #include "api/rtceventlogoutput.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+@@ -11,6 +11,7 @@
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
+
+ #include <fstream>
++#include <iterator>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+@@ -8,24 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <iostream>
+ #include <memory>
+-#include <sstream>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet.h"
+-#include "modules/rtp_rtcp/source/rtp_utility.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
++#include "test/rtp_file_reader.h"
+ #include "test/rtp_file_writer.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+@@ -13,6 +13,7 @@
+
+ #include <memory>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
+ #include "rtc_base/task_queue.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+@@ -11,8 +11,8 @@
+ #include "logging/rtc_event_log/rtc_event_log_unittest_helper.h"
+
+ #include <string.h> // memcmp
+-
+-#include <algorithm>
++#include <cmath>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+ #include <numeric>
+@@ -20,14 +20,21 @@
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+-#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/rtp_rtcp/include/rtp_cvo.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+@@ -11,9 +11,10 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+-#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+@@ -34,9 +35,11 @@
+ #include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_stream_config.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
++#include "modules/rtp_rtcp/source/rtp_packet.h"
+ #include "rtc_base/random.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+@@ -11,11 +11,13 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <initializer_list>
+ #include <numeric>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+@@ -73,6 +73,7 @@ rtc_static_library("rtc_media_base") {
+ defines = []
+ libs = []
+ deps = [
++ "../api:array_view",
+ "../api:audio_options_api",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+@@ -172,6 +173,7 @@ rtc_static_library("rtc_simulcast_encode
+ ]
+ deps = [
+ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+@@ -200,7 +202,11 @@ rtc_static_library("rtc_vp8_encoder_simu
+ ]
+ deps = [
+ ":rtc_simulcast_encoder_adapter",
++ "../:webrtc_common",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
++ "../modules/video_coding:video_codec_interface",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -217,6 +223,9 @@ rtc_static_library("rtc_internal_video_c
+ ":rtc_h264_profile_id",
+ ":rtc_simulcast_encoder_adapter",
+ ":rtc_vp8_encoder_simulcast_proxy",
++ "../:webrtc_common",
++ "../api/video:encoded_image",
++ "../api/video:video_frame",
+ "../modules/video_coding:video_codec_interface",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -278,8 +287,10 @@ rtc_static_library("rtc_audio_video") {
+ defines = []
+ libs = []
+ deps = [
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator_factory",
+ "../modules/audio_processing:api",
++ "../modules/audio_processing:gain_control_interface",
+ "../modules/audio_processing/aec_dump:aec_dump",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -446,6 +457,7 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_simulcast_encoder_adapter",
+ "../api:libjingle_peerconnection_api",
++ "../api/video:encoded_image",
+ "../api/video:video_frame_i420",
+ "../call:video_stream_api",
+ "../common_video:common_video",
+@@ -543,12 +555,17 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_constants",
+ ":rtc_data",
++ "../:webrtc_common",
+ "../api/test/video:function_video_factory",
+ "../api/units:time_delta",
+ "../api/video:video_frame_i420",
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:mocks",
+ "../modules/rtp_rtcp",
++
++ # TODO(http://crbug.com/908819): Add this dependency when Chromium
++ # android templates stop to consider *_module to have a special meaning.
++ # "../modules/video_capture:video_capture_module",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:webrtc_vp8",
+ "../pc:rtc_pc",
+@@ -558,6 +575,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:stringutils",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../test:field_trial",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+@@ -11,6 +11,11 @@
+ #include "media/base/adaptedvideotracksource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+@@ -11,10 +11,19 @@
+ #ifndef MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+ #define MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+
++#include <stdint.h>
++
++#include "absl/types/optional.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videoadapter.h"
+ #include "media/base/videobroadcaster.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakeframesource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+@@ -11,7 +11,10 @@
+ #include "media/base/fakeframesource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakertp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+@@ -8,10 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "media/base/fakertp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/checks.h"
++#include "test/gtest.h"
+
+ void CompareHeaderExtensions(const char* packet1,
+ size_t packet1_size,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+@@ -10,7 +10,15 @@
+
+ #include "media/base/fakevideocapturer.h"
+
++#include <string.h>
++#include <cstdint>
++
++#include "absl/memory/memory.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideorenderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+@@ -11,10 +11,14 @@
+ #ifndef MEDIA_BASE_FAKEVIDEORENDERER_H_
+ #define MEDIA_BASE_FAKEVIDEORENDERER_H_
+
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video/video_sink_interface.h"
+ #include "rtc_base/criticalsection.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "media/base/mediaconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const int kVideoCodecClockrate = 90000;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+@@ -11,7 +11,7 @@
+ #ifndef MEDIA_BASE_MEDIACONSTANTS_H_
+ #define MEDIA_BASE_MEDIACONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+@@ -10,9 +10,13 @@
+
+ #include "media/base/mediaengine.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
+ #include <utility>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/stringencode.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtpdataengine_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+@@ -16,9 +17,10 @@
+ #include "media/base/rtpdataengine.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/fakeclock.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ class FakeDataReceiver : public sigslot::has_slots<> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+@@ -10,10 +10,14 @@
+
+ #include "media/base/rtputils.h"
+
++#include <string.h>
++#include <vector>
++
+ // PacketTimeUpdateParams is defined in asyncpacketsocket.h.
+ // TODO(sergeyu): Find more appropriate place for PacketTimeUpdateParams.
+ #include "media/base/turnutils.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/messagedigest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <vector>
+
+ #include "media/base/fakertp.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+@@ -10,9 +10,10 @@
+
+ #include "media/base/streamparams.h"
+
++#include <stdint.h>
+ #include <list>
+
+-#include "rtc_base/checks.h"
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+@@ -26,10 +26,9 @@
+ #ifndef MEDIA_BASE_STREAMPARAMS_H_
+ #define MEDIA_BASE_STREAMPARAMS_H_
+
+-#include <stdint.h>
+-
++#include <stddef.h>
+ #include <algorithm>
+-#include <set>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "media/base/streamparams.h"
++
++#include <stdint.h>
++
+ #include "media/base/testutils.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ static const uint32_t kSsrcs1[] = {1};
+ static const uint32_t kSsrcs2[] = {1, 2};
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/testutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+@@ -10,10 +10,10 @@
+
+ #include "media/base/testutils.h"
+
+-#include <algorithm>
+-#include <memory>
++#include <cstdint>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videocapturer.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+@@ -12,7 +12,6 @@
+
+ #include "p2p/base/stun.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/turnutils.h"
+
+-#include <stddef.h>
+-
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+@@ -17,11 +17,10 @@
+ #include <utility>
+
+ #include "absl/types/optional.h"
+-#include "media/base/mediaconstants.h"
+ #include "media/base/videocommon.h"
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
+
+ namespace {
+ struct Fraction {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+@@ -11,12 +11,14 @@
+ #ifndef MEDIA_BASE_VIDEOADAPTER_H_
+ #define MEDIA_BASE_VIDEOADAPTER_H_
+
++#include <stdint.h>
+ #include <utility>
+
+ #include "absl/types/optional.h"
+ #include "media/base/videocommon.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+@@ -8,19 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h> // For INT_MAX
+-
+ #include <limits>
+ #include <memory>
+-#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_frame.h"
+ #include "media/base/fakeframesource.h"
+-#include "media/base/mediachannel.h"
+ #include "media/base/videoadapter.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+@@ -10,9 +10,11 @@
+
+ #include "media/base/videobroadcaster.h"
+
+-#include <limits>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+@@ -11,14 +11,12 @@
+ #ifndef MEDIA_BASE_VIDEOBROADCASTER_H_
+ #define MEDIA_BASE_VIDEOBROADCASTER_H_
+
+-#include <memory>
+-#include <utility>
+-#include <vector>
+-
+-#include "api/video/video_frame.h"
+-#include "api/video/video_sink_interface.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <limits>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videobroadcaster.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using rtc::VideoBroadcaster;
+ using rtc::VideoSinkWants;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+@@ -12,11 +12,16 @@
+
+ #include "media/base/videocapturer.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+@@ -9,16 +9,17 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videocapturer.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::FakeVideoCapturerWithTaskQueue;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/videocommon.h"
+
+-#include <limits.h> // For INT_MAX
+-#include <math.h>
+-
++#include "api/array_view.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "media/base/videocommon.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/base/videosourcebase.h"
+
++#include <algorithm>
++
+ #include "rtc_base/checks.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+@@ -14,6 +14,7 @@
+ #include <vector>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_source_interface.h"
+ #include "rtc_base/thread_checker.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+@@ -10,6 +10,9 @@
+
+ #include "media/base/vp9_profile.h"
+
++#include <map>
++#include <utility>
++
+ #include "rtc_base/string_to_number.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+@@ -11,7 +11,6 @@
+ #ifndef MEDIA_BASE_VP9_PROFILE_H_
+ #define MEDIA_BASE_VP9_PROFILE_H_
+
+-#include <map>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/adm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/adm_helpers.h"
+
+ #include "modules/audio_device/include/audio_device.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/apm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+@@ -10,8 +10,9 @@
+
+ #include "media/engine/apm_helpers.h"
+
+-#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/audio_processing/include/gain_control.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+@@ -16,11 +16,16 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/scopedvideodecoder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+@@ -10,14 +10,15 @@
+
+ #include "media/engine/fakewebrtcvideoengine.h"
+
++#include <algorithm>
++
++#include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/simulcast_encoder_adapter.h"
+-#include "media/engine/webrtcvideodecoderfactory.h"
+-#include "media/engine/webrtcvideoencoderfactory.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+@@ -11,15 +11,23 @@
+ #ifndef MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+ #define MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+@@ -12,6 +12,7 @@
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+@@ -10,10 +10,12 @@
+
+ #include "media/engine/internalencoderfactory.h"
+
+-#include <utility>
++#include <string>
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/engine/multiplexcodecfactory.h"
+
++#include <map>
++#include <string>
+ #include <utility>
+
+ #include "absl/strings/match.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+@@ -14,7 +14,10 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+@@ -11,6 +11,8 @@
+ #include <set>
+ #include <string>
+
++#include "absl/strings/string_view.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/payload_type_mapper.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+@@ -10,8 +10,10 @@
+
+ #include "media/engine/scopedvideodecoder.h"
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_decoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+@@ -10,10 +10,15 @@
+
+ #include "media/engine/scopedvideoencoder.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_encoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideoencoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/base/streamparams.h"
+ #include "media/engine/constants.h"
+ #include "media/engine/simulcast.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+@@ -11,6 +11,7 @@
+ #ifndef MEDIA_ENGINE_SIMULCAST_H_
+ #define MEDIA_ENGINE_SIMULCAST_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "api/video_codecs/video_encoder_config.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+@@ -10,17 +10,23 @@
+
+ #include "media/engine/simulcast_encoder_adapter.h"
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
+
+ #include "media/engine/simulcast_encoder_adapter.h"
++#include "modules/video_coding/include/video_error_codes.h"
+
+ namespace webrtc {
+ VP8EncoderSimulcastProxy::VP8EncoderSimulcastProxy(VideoEncoderFactory* factory,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+@@ -12,12 +12,19 @@
+ #ifndef MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+ #define MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+@@ -10,17 +10,19 @@
+
+ #include "media/engine/webrtcvideocapturer.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
++
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_factory.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+-#include "modules/video_capture/video_capture_factory.h"
+-
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32.h" // Need this to #include the impl files.
+ #endif // WEBRTC_WIN
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+@@ -11,17 +11,19 @@
+ #ifndef MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+ #define MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/device.h"
+ #include "media/base/videocapturer.h"
++#include "media/base/videocommon.h"
+ #include "modules/video_capture/video_capture.h"
+-#include "rtc_base/asyncinvoker.h"
+-#include "rtc_base/messagehandler.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+@@ -11,18 +11,21 @@
+ #ifdef HAVE_WEBRTC_VIDEO
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/testutils.h"
+ #include "media/base/videocommon.h"
++#include "media/engine/fakewebrtcdeviceinfo.h"
+ #include "media/engine/fakewebrtcvcmfactory.h"
++#include "media/engine/fakewebrtcvideocapturemodule.h"
+ #include "media/engine/webrtcvideocapturer.h"
++// TODO(http://crbug.com/908819): Add this when Chromium android templates
++// stop to consider *_module to have a special meaning. See media/BUILD.gn
++// #include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+-#include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::VideoFormat;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+@@ -14,6 +14,8 @@
+
+ #include <memory>
+
++#include "media/base/device.h"
++#include "media/base/videocapturer.h"
+ #include "media/base/videocapturerfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ #include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/sctp/sctptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+@@ -8,23 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <errno.h>
+-#include <stdarg.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "media/sctp/sctptransport.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ static const int kDefaultTimeout = 10000; // 10 seconds.
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+@@ -236,6 +236,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":module_api",
++ ":module_api_public",
+ "../test:test_main",
+ "../test:test_support",
+ "audio_coding:audio_coding_unittests",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+@@ -2090,6 +2090,7 @@ if (rtc_include_tests) {
+ ":webrtc_cng",
+ ":webrtc_opus",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../api/audio:audio_frame_api",
+ "../../api/audio_codecs:audio_codecs_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/audio_mixer/audio_mixer_impl.h"
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <functional>
+ #include <iterator>
++#include <type_traits>
+ #include <utility>
+
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+
++#include <stddef.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/audio/audio_frame.h"
+ #include "api/audio/audio_mixer.h"
+ #include "modules/audio_mixer/frame_combiner.h"
+ #include "modules/audio_mixer/output_rate_calculator.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+@@ -11,8 +11,10 @@
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
+
+ #include <algorithm>
++#include <iterator>
+
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+@@ -12,18 +12,19 @@
+
+ #include <algorithm>
+ #include <array>
+-#include <functional>
++#include <cstdint>
++#include <iterator>
++#include <string>
+
+ #include "api/array_view.h"
+-#include "audio/utility/audio_frame_operations.h"
+ #include "common_audio/include/audio_util.h"
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/audio_mixer_impl.h"
++#include "modules/audio_processing/include/audio_frame_view.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "modules/audio_processing/logging/apm_data_dumper.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/audio_mixer/frame_combiner.h"
+
++#include <cstdint>
++#include <initializer_list>
+ #include <numeric>
+ #include <string>
++#include <type_traits>
+
++#include "api/array_view.h"
+ #include "audio/utility/audio_frame_operations.h"
+ #include "modules/audio_mixer/gain_change_calculator.h"
+ #include "modules/audio_mixer/sine_wave_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+@@ -11,8 +11,11 @@
+ #include "modules/audio_mixer/gain_change_calculator.h"
+
+ #include <math.h>
++#include <cstdlib>
+ #include <vector>
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+ #define MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+@@ -11,6 +11,7 @@
+ #include "modules/audio_mixer/sine_wave_generator.h"
+
+ #include <math.h>
++#include <stddef.h>
+
+ #include "rtc_base/numerics/safe_conversions.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+ #define MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+@@ -80,10 +80,14 @@ if (rtc_include_tests) {
+ "../../logging:mocks",
+ "../../logging:rtc_event_bwe",
+ "../../logging:rtc_event_log_api",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:test_support",
++ "../congestion_controller/goog_cc:delay_based_bwe",
+ "../pacing:mock_paced_sender",
++ "../pacing:pacing",
+ "../remote_bitrate_estimator:remote_bitrate_estimator",
++ "../rtp_rtcp:rtp_rtcp_format",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+@@ -8,14 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
++#include <stdint.h>
++#include <memory>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/pacing/mock/mock_paced_sender.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++#include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ using ::testing::Exactly;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
+-
++#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h"
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+@@ -38,6 +38,8 @@ rtc_static_library("congestion_controlle
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base:rate_limiter",
+@@ -53,6 +55,7 @@ rtc_static_library("congestion_controlle
+ "goog_cc:probe_controller",
+ "goog_cc:pushback_controller",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -69,6 +72,7 @@ rtc_static_library("transport_feedback")
+
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_size",
+ "../../modules:module_api",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+@@ -91,7 +95,12 @@ if (rtc_include_tests) {
+ }
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:data_size",
++ "../../api/units:time_delta",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("congestion_controller_unittests") {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+@@ -16,6 +16,7 @@ rtc_static_library("bbr") {
+ deps = [
+ ":bbr_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -104,6 +105,7 @@ rtc_source_set("rtt_stats") {
+ deps = [
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -124,6 +126,9 @@ if (rtc_include_tests) {
+ ":bbr",
+ ":bbr_controller",
+ "..:test_controller_printer",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ ]
+ }
+ rtc_source_set("bbr_unittests") {
+@@ -150,6 +155,7 @@ if (rtc_include_tests) {
+ "../../../api/units:data_rate",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:logging",
+ "../../../test:test_support",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+@@ -9,10 +9,9 @@
+ */
+ // Based on the Quic implementation in Chromium.
+
+-#include <algorithm>
++#include <stddef.h>
+
+ #include "modules/congestion_controller/bbr/bandwidth_sampler.h"
+-
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+@@ -11,7 +11,6 @@
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+@@ -10,7 +10,7 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+
+-#include "absl/types/optional.h"
++#include <stdint.h>
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "modules/congestion_controller/bbr/loss_rate_filter.h"
++
++#include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+@@ -13,8 +13,10 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <deque>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/congestion_controller/bbr/packet_number_indexed_queue.h"
+
+-#include <limits>
+-#include <map>
+ #include <string>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
+-#include <cstdlib>
++#include <algorithm>
++#include <string>
++#include <type_traits>
+
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+@@ -13,11 +13,9 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+
+-#include <algorithm>
+-#include <cstdint>
+-
+ #include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
++#include <stdlib.h>
++#include <cmath>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+@@ -9,6 +9,8 @@
+ */
+ #include "modules/congestion_controller/bbr/test/bbr_printer.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ BbrStatePrinter::BbrStatePrinter() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+@@ -10,8 +10,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/bbr/bbr_factory.h"
+ #include "modules/congestion_controller/bbr/bbr_network_controller.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+@@ -10,10 +10,13 @@
+
+ #include "modules/congestion_controller/bbr/windowed_filter.h"
+
++#include <stdint.h>
++#include <string>
++#include <type_traits>
++
+ #include "api/units/data_rate.h"
+ #include "api/units/time_delta.h"
+-
+-#include "modules/congestion_controller/bbr/rtt_stats.h"
++#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+@@ -32,6 +32,10 @@ rtc_static_library("goog_cc") {
+ "../..:module_api",
+ "../../..:webrtc_common",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -55,6 +59,7 @@ rtc_source_set("pushback_controller") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_size",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../system_wrappers:field_trial",
+@@ -144,6 +149,9 @@ rtc_source_set("probe_controller") {
+
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -163,10 +171,18 @@ if (rtc_include_tests) {
+ "test/goog_cc_printer.h",
+ ]
+ deps = [
++ ":alr_detector",
++ ":delay_based_bwe",
+ ":estimators",
+ ":goog_cc",
+ "..:test_controller_printer",
+ "../../../api/transport:goog_cc",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../logging:rtc_event_log_api",
++ "../../../rtc_base:checks",
++ "../../remote_bitrate_estimator:remote_bitrate_estimator",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("goog_cc_unittests") {
+@@ -198,6 +214,8 @@ if (rtc_include_tests) {
+ "../../../api/transport:goog_cc",
+ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
++ "../../../api/units:data_rate",
++ "../../../api/units:timestamp",
+ "../../../logging:mocks",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+@@ -11,7 +11,11 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+
+-#include "api/transport/network_types.h"
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+@@ -9,12 +9,11 @@
+ */
+
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++
++#include "api/transport/network_types.h"
++#include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+-#include "modules/pacing/paced_sender.h"
+-#include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+-#include "test/field_trial.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+@@ -10,8 +10,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+
+ #include <algorithm>
+-#include <limits>
+-#include <utility>
++#include <cstdint>
+
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+
+-#include <list>
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+@@ -10,25 +10,25 @@
+
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+-#include <functional>
+-#include <limits>
++#include <cstdint>
+ #include <memory>
+ #include <numeric>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/alr_detector.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+@@ -18,6 +18,10 @@
+
+ #include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/timestamp.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+@@ -26,6 +30,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/congestion_controller/goog_cc/probe_bitrate_estimator.h"
+
+-#include <utility>
+-#include <vector>
++#include <stddef.h>
+
+-#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+-#include "test/gmock.h"
++#include "api/transport/network_types.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+@@ -12,7 +12,12 @@
+
+ #include <algorithm>
+ #include <initializer_list>
++#include <string>
+
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+@@ -10,8 +10,9 @@
+ #include <memory>
+
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+@@ -11,7 +11,12 @@
+
+ #include <math.h>
+
++#include "absl/types/optional.h"
++#include "modules/congestion_controller/goog_cc/alr_detector.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/trendline_estimator.h"
++#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+@@ -10,9 +10,14 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
+ #include "api/transport/goog_cc_factory.h"
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+@@ -20,12 +20,9 @@
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/networkroute.h"
+
+-namespace rtc {
+-struct SentPacket;
+-}
+-
+ namespace webrtc {
+
+ class BitrateController;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+@@ -16,8 +16,9 @@ rtc_static_library("pcc") {
+ deps = [
+ ":pcc_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -31,8 +32,14 @@ rtc_static_library("pcc_controller") {
+ ":monitor_interval",
+ ":rtt_tracker",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -43,6 +50,10 @@ rtc_static_library("monitor_interval") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -54,6 +65,8 @@ rtc_static_library("rtt_tracker") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -66,6 +79,8 @@ rtc_static_library("utility_function") {
+ deps = [
+ ":monitor_interval",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -79,8 +94,9 @@ rtc_static_library("bitrate_controller")
+ ":monitor_interval",
+ ":utility_function",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+@@ -102,13 +118,15 @@ if (rtc_include_tests) {
+ ":pcc_controller",
+ ":rtt_tracker",
+ ":utility_function",
++ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
+ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../test:test_support",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+@@ -9,10 +9,8 @@
+ */
+
+ #include <algorithm>
+-#include <array>
+ #include <cmath>
+ #include <cstdlib>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+-#include "api/transport/network_types.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++#include <cmath>
++
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+@@ -13,8 +13,11 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+ #include "modules/congestion_controller/pcc/pcc_network_controller.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+@@ -11,11 +11,16 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <deque>
+ #include <vector>
+
+ #include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/bitrate_controller.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/rtt_tracker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+@@ -13,8 +13,9 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+@@ -12,7 +12,9 @@
+
+ #include <algorithm>
+ #include <cmath>
+-#include <vector>
++
++#include "api/units/data_rate.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+@@ -11,7 +11,6 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+
+-#include "api/transport/network_control.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+@@ -8,8 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cmath>
++#include <type_traits>
+ #include <vector>
+
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+@@ -11,6 +11,7 @@
+ #include "modules/congestion_controller/include/receive_side_congestion_controller.h"
+
+ #include "modules/pacing/packet_router.h"
++#include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+@@ -72,6 +72,9 @@ rtc_source_set("control_handler") {
+ deps = [
+ "../:congestion_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rate_limiter",
+ "../../../rtc_base:safe_minmax",
+@@ -83,6 +86,7 @@ rtc_source_set("control_handler") {
+ "../../remote_bitrate_estimator",
+ "../../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -102,6 +106,7 @@ rtc_static_library("transport_feedback")
+ "../..:module_api",
+ "../../../api/transport:network_control",
+ "../../../api/units:data_size",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../rtc_base/network:sent_packet",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/congestion_controller/rtp/congestion_controller_unittests_helper.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+@@ -10,8 +10,12 @@
+
+ #include "modules/congestion_controller/rtp/control_handler.h"
+
+-#include "rtc_base/checks.h"
++#include <algorithm>
++#include <vector>
++
++#include "api/units/data_rate.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+
+-#include <algorithm>
+-#include <memory>
++#include <stdint.h>
+
+-#include "api/transport/network_control.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/include/network_changed_observer.h"
+ #include "modules/pacing/paced_sender.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+@@ -13,6 +13,7 @@
+ #include <random>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/congestion_controller/rtp/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
+
++#include "api/units/timestamp.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+@@ -10,23 +10,26 @@
+
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+
++#include <inttypes.h>
+ #include <algorithm>
+ #include <cstdio>
+ #include <iterator>
+ #include <memory>
++#include <string>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/network/sent_packet.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rate_limiter.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+@@ -9,11 +9,13 @@
+ */
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+-#include <cmath>
+ #include <limits>
+ #include <utility>
+
+-#include "rtc_base/checks.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+@@ -13,7 +13,8 @@
+ #include <cstdio>
+ #include <memory>
+
+-#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ class DebugStatePrinter {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+@@ -10,13 +10,16 @@
+
+ #include "modules/congestion_controller/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
++#include <cstdint>
+
++#include "api/units/data_size.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h"
+
+-#include <algorithm>
++#include <stdint.h>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+@@ -13,8 +13,11 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/rgba_color.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+@@ -16,6 +16,8 @@
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/fake_desktop_capturer.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+@@ -15,6 +15,7 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_capturer_wrapper.h"
++#include "modules/desktop_capture/desktop_frame.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+-
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+@@ -11,7 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/cropping_window_capturer.h"
+
++#include <stddef.h>
++#include <utility>
++
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+@@ -14,7 +14,11 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+@@ -14,8 +14,13 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+@@ -8,10 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+-#include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+@@ -10,7 +10,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+@@ -12,6 +12,10 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+
++#include <stdlib.h>
++#include <string.h>
++#include <utility>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+@@ -10,12 +10,12 @@
+
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+-#include <algorithm>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/differ_block.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+@@ -13,8 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_desktop_frame.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+@@ -13,7 +13,10 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+@@ -10,11 +10,11 @@
+
+ #include "modules/desktop_capture/desktop_frame.h"
+
+-#include <utility>
+-
+ #include <string.h>
++#include <utility>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+@@ -12,10 +12,10 @@
+
+ #include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/rgba_color.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
+-#include <string.h>
+-
+ #include "rtc_base/checks.h"
+ #include "third_party/libyuv/include/libyuv/rotate_argb.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
++#include <stdint.h>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/test_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+@@ -13,7 +13,6 @@
+
+ #include <stdint.h>
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+@@ -11,8 +11,8 @@
+ #include "modules/desktop_capture/desktop_region.h"
+
+ #include <assert.h>
+-
+ #include <algorithm>
++#include <utility>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+@@ -11,11 +11,11 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/desktop_capture/desktop_region.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cstdint>
+
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/desktop_capture/differ_block.h"
+-#include "test/gmock.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+@@ -12,6 +12,9 @@
+
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_frame.h"
++
+ namespace webrtc {
+
+ FakeDesktopCapturer::FakeDesktopCapturer() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+@@ -13,7 +13,6 @@
+
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+@@ -10,9 +10,11 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
++#include "rtc_base/thread_checker.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+@@ -16,6 +16,7 @@
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+@@ -10,18 +10,22 @@
+
+ #include "modules/desktop_capture/linux/mouse_cursor_monitor_x11.h"
+
+-#include <X11/Xutil.h>
++#include <X11/Xlib.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/xfixeswire.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+
+-#include <X11/Xlib.h>
+-
++#include <X11/X.h>
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+@@ -10,20 +10,19 @@
+
+ #include "modules/desktop_capture/linux/screen_capturer_x11.h"
+
+-#include <string.h>
+-
+ #include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+ #include <X11/extensions/Xdamage.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/damagewire.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <set>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/Xdamage.h>
+-
++#include <X11/extensions/Xfixes.h>
+ #include <memory>
+-#include <set>
+-#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+@@ -12,13 +12,15 @@
+
+ #include <X11/Xutil.h>
+ #include <X11/extensions/Xcomposite.h>
+-#include <X11/extensions/Xrender.h>
+-
++#include <X11/extensions/composite.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+@@ -11,15 +11,20 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+
++#include <X11/X.h>
++#include <X11/Xlib.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+
++#include <X11/X.h>
+ #include <memory>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+
+-#include <X11/Xatom.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <string.h>
+-
+ #include <algorithm>
+
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stdint.h>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+@@ -11,7 +11,7 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+
+-#include <X11/Xatom.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+@@ -11,6 +11,7 @@
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+
+ #include <assert.h>
++#include <stddef.h>
+
+ #if defined(TOOLKIT_GTK)
+ #include <gdk/gdk.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+@@ -10,7 +10,10 @@
+
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+
++#include <X11/Xutil.h>
++#include <stdint.h>
+ #include <string.h>
++#include <sys/ipc.h>
+ #include <sys/shm.h>
+
+ #include "modules/desktop_capture/desktop_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+@@ -13,13 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+
+-class DesktopFrame;
+-
+ class MouseCursor {
+ public:
+ MouseCursor();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+@@ -15,6 +17,7 @@
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/rgba_color.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+@@ -11,7 +11,6 @@
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+
+ #include <assert.h>
+-#include <algorithm>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+@@ -11,10 +11,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+ #define MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+
+-#include <stdint.h>
+-
+-#include <memory>
+-
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+@@ -8,16 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/rgba_color.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "modules/desktop_capture/screen_drawer_lock_posix.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/sleep.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+@@ -11,11 +11,9 @@
+ #include "modules/desktop_capture/shared_desktop_frame.h"
+
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+-#include "absl/memory/memory.h"
+-#include "rtc_base/constructormagic.h"
+-
+ namespace webrtc {
+
+ SharedDesktopFrame::~SharedDesktopFrame() {}
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+@@ -11,9 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_memory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+@@ -20,7 +20,6 @@
+ #include <memory>
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+@@ -10,8 +10,10 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
+ #include <string.h>
+
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
++
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+@@ -9,11 +9,14 @@
+ */
+
+ #include <memory>
++#include <string>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+-#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+@@ -11,12 +11,12 @@
+ #include "modules/desktop_capture/window_finder.h"
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/module_common_types_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/include/module_common_types.h"
+
++#include "modules/include/module_common_types_public.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+@@ -73,6 +73,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":interval_budget",
+ ":pacing",
++ "../../api/units:time_delta",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-
+ #include "modules/pacing/bitrate_prober.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/packet_router_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+@@ -8,11 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <list>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+
++#include "api/units/time_delta.h"
+ #include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+@@ -41,6 +41,7 @@ rtc_static_library("remote_bitrate_estim
+
+ deps = [
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../../api/units:data_rate",
+ "../../api/units:timestamp",
+ "../../modules:module_api",
+@@ -124,7 +125,10 @@ if (rtc_include_tests) {
+ deps = [
+ ":remote_bitrate_estimator",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/transport:network_control",
+ "../../logging:mocks",
+ "../../rtc_base:checks",
+ "../../rtc_base:gtest_prod",
+@@ -166,6 +170,7 @@ if (rtc_include_tests) {
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:fileutils",
+ "../../test:test_support",
+@@ -199,6 +204,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+@@ -227,6 +233,7 @@ if (rtc_include_tests) {
+ ":remote_bitrate_estimator",
+ "../..:webrtc_common",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:fileutils",
+ "../../test:test_main",
+ "../../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+@@ -8,13 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
++#include <string>
++#include <vector>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include <memory>
+
+-#include "common_types.h" // NOLINT(build/include)
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+-#include <cmath>
+ #include <cstdlib>
+ #include <memory>
+
+@@ -20,7 +19,6 @@
+ #include "modules/remote_bitrate_estimator/overuse_detector.h"
+ #include "modules/remote_bitrate_estimator/overuse_estimator.h"
+ #include "rtc_base/random.h"
+-#include "rtc_base/rate_statistics.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+@@ -26,6 +29,8 @@
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/rate_statistics.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+@@ -9,20 +9,22 @@
+ */
+
+ #ifndef WEBRTC_WIN
+-#include <sys/types.h>
+ #include <unistd.h>
+ #endif
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <sstream>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+@@ -11,10 +11,8 @@
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+
+ #include <algorithm>
+-#include <queue>
+-#include <set>
+-#include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+@@ -11,17 +11,21 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iterator>
+ #include <list>
+ #include <map>
+-#include <sstream>
+-#include <string>
++#include <utility>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
++#include "modules/include/module.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gtest_prod_util.h"
+ #include "rtc_base/numerics/sequence_number_util.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+@@ -11,13 +11,12 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h"
+
+ #include <stdio.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_fileutils.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+@@ -11,8 +11,8 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+
++#include <stdint.h>
+ #include <string>
+-#include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+@@ -11,11 +11,10 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+-#include "modules/include/module_common_types.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+@@ -11,10 +11,13 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+ #include <stdio.h>
+-
++#include <stdlib.h>
++#include <string.h>
++#include <cmath>
+ #include <sstream>
+
+-#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "rtc_base/system/unused.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+-#include <numeric>
+-
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+
++#include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+@@ -12,6 +12,7 @@
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ #include <stdlib.h>
++#include <time.h>
+ #include <algorithm>
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+@@ -11,9 +11,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+
+-#include <algorithm>
+-
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+@@ -12,9 +12,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+
+-#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
++#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+@@ -12,15 +12,9 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+
+-#include <climits>
+-#include <list>
+-#include <map>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+ #include <utility>
+-#include <vector>
+-
+-#include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/remote_bitrate_estimator/test/bwe.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+@@ -12,8 +12,7 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+
+-#include <cstdint>
+-#include <limits>
++#include <stddef.h>
+ #include <list>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+@@ -15,10 +15,12 @@
+ // From March 26, 2015.
+
+ #include <math.h>
++#include <stddef.h>
+ #include <algorithm>
++#include <cstdint>
++#include <list>
+ #include <vector>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+ #include "rtc_base/arraysize.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+@@ -10,17 +10,14 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+
++#include <math.h>
++#include <stddef.h>
+ #include <algorithm>
+ #include <memory>
+-#include <numeric>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+-#include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+-#include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+@@ -8,14 +8,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+-
+-#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
++#include <cstdint>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/system/unused.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/send_side.h"
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "absl/memory/memory.h"
++#include "api/rtp_headers.h"
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+@@ -11,13 +11,23 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
++#include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "rtc_base/constructormagic.h"
++#include "system_wrappers/include/clock.h"
++#include "test/gmock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+@@ -8,15 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdint>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/tcp.h"
+
+-#include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "test/gtest.h"
+-
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+
++#include <stdint.h>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <math.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+
++#include <assert.h>
++#include <cstdint>
++
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+@@ -11,13 +11,13 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+-#include <utility>
+ #include <vector>
+
+-#include "common_types.h" // NOLINT(build/include)
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "api/rtp_headers.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+@@ -10,14 +10,12 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+
++#include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "system_wrappers/include/clock.h"
+-#include "test/gtest.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+@@ -10,15 +10,20 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+
++#include <assert.h>
++#include <math.h>
+ #include <algorithm>
++#include <limits>
+ #include <list>
+-#include <sstream>
++#include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/pacing/pacer.h"
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+@@ -12,10 +12,10 @@
+ #include <stdlib.h>
+
+ #include "absl/strings/match.h"
++#include "absl/strings/string_view.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_config.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+
+ #ifndef abs
+ #define abs(a) (a >= 0 ? a : -a)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+
++#include <stdint.h>
+ #include <vector>
+
++#include "api/video/video_rotation.h"
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/synchronization/rw_lock_wrapper.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/device_info_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+@@ -8,9 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -14,12 +14,17 @@
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/stat.h>
+ #include <unistd.h>
+ // v4l includes
+ #include <linux/videodev2.h>
++#include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+@@ -11,8 +11,9 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+ namespace videocapturemodule {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -17,14 +17,15 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+-#include <sys/stat.h>
++#include <sys/select.h>
++#include <time.h>
+ #include <unistd.h>
+-
+ #include <new>
++#include <string>
+
+ #include "media/base/videocommon.h"
++#include "modules/video_capture/video_capture.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/platform_thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+@@ -15,6 +15,8 @@
+ #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_
+
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+@@ -9,18 +9,18 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_capture/video_capture_config.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/clock.h"
+ #include "third_party/libyuv/include/libyuv.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+@@ -15,10 +15,15 @@
+ * video_capture_impl.h
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_sink_interface.h"
+ #include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_config.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+@@ -15,9 +15,11 @@ rtc_static_library("encoded_frame") {
+ "encoded_frame.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../../:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../modules:module_api",
+ "../../modules:module_api_public",
+@@ -28,6 +30,7 @@ rtc_static_library("encoded_frame") {
+ "../../rtc_base/experiments:rtt_mult_experiment",
+ "../../system_wrappers:system_wrappers",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -70,15 +73,26 @@ rtc_static_library("packet") {
+ ]
+ deps = [
+ "..:module_api",
++ "../../:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+ rtc_static_library("video_coding") {
+ visibility = [ "*" ]
+ deps = [
++ "..:module_fec_api",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../system_wrappers:field_trial",
+ "../../system_wrappers:metrics",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+
+ sources = [
+@@ -201,6 +215,7 @@ rtc_source_set("video_codec_interface")
+ "../../api/video:video_frame",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -264,6 +279,7 @@ rtc_source_set("video_coding_utility") {
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -298,6 +314,7 @@ rtc_static_library("webrtc_h264") {
+ deps = [
+ ":video_codec_interface",
+ ":video_coding_utility",
++ "../../:webrtc_common",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -309,6 +326,7 @@ rtc_static_library("webrtc_h264") {
+ "../../system_wrappers:metrics",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+
+@@ -386,6 +404,7 @@ rtc_static_library("webrtc_multiplex") {
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+ "../../system_wrappers",
+ "../rtp_rtcp:rtp_rtcp_format",
+@@ -420,6 +439,7 @@ rtc_static_library("webrtc_vp8") {
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:create_vp8_temporal_layers",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -489,8 +509,10 @@ rtc_static_library("webrtc_vp9_helpers")
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../..:webrtc_common",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -635,14 +657,19 @@ if (rtc_include_tests) {
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_coding",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
++ "..:module_api",
+ "../..:webrtc_common",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -656,6 +683,8 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+ }
+@@ -704,13 +733,16 @@ if (rtc_include_tests) {
+ "codecs/test/videocodec_test_stats_impl.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video_codecs:video_codecs_api",
+ "../../call:video_stream_api",
+ "../../common_video",
+@@ -731,6 +763,7 @@ if (rtc_include_tests) {
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -757,6 +790,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":mock_headers",
++ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":videocodec_test_impl",
+@@ -772,6 +806,7 @@ if (rtc_include_tests) {
+ "../../api:mock_video_encoder",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:rtc_software_fallback_wrappers",
+@@ -886,14 +921,18 @@ if (rtc_include_tests) {
+ ":webrtc_vp9",
+ ":webrtc_vp9_helpers",
+ "..:module_api",
++ "..:module_fec_api",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:create_simulcast_test_fixture_api",
++ "../../api:fec_controller_api",
+ "../../api:mock_video_decoder",
+ "../../api:mock_video_encoder",
+ "../../api:simulcast_test_fixture_api",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+@@ -920,8 +959,10 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ if (rtc_build_libvpx) {
+ deps += [ rtc_libvpx_dir ]
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codec_timer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/codec_timer.h"
+
++#include <cstdint>
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+@@ -11,15 +11,19 @@
+
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+
++#include <string>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/h264_profile_level_id.h"
++#include "media/base/mediaconstants.h"
+
+ #if defined(WEBRTC_USE_H264)
+ #include "modules/video_coding/codecs/h264/h264_decoder_impl.h"
+ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h"
+ #endif
+
+-#include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/color_space.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+@@ -14,6 +14,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+ #define MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+
++#include <stdint.h>
++
+ namespace webrtc {
+
+ const int16_t kNoPictureId = -1;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h"
++
++#include <stdint.h>
++#include <utility>
++
+ #include "api/video/video_frame_buffer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+
++#include <cstdint>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ class AugmentedVideoFrameBuffer : public VideoFrameBuffer {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+@@ -14,6 +14,7 @@
+ #include <utility>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ int PackHeader(uint8_t* buffer, MultiplexImageHeader header) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <memory>
++#include <utility>
++#include <vector>
++
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_decoder_factory.h"
+ #include "api/test/mock_video_encoder_factory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "media/base/mediaconstants.h"
+@@ -21,7 +36,13 @@
+ #include "modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ using testing::_;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include <utility>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "test/video_codec_settings.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++
+ #include "api/test/videocodec_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+@@ -10,30 +10,43 @@
+
+ #include "modules/video_coding/codecs/test/videocodec_test_fixture_impl.h"
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <cmath>
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "common_types.h" // NOLINT(build/include)
++#include "common_video/h264/h264_common.h"
+ #include "media/base/h264_profile_level_id.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/simulcast.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/cpu_time.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_writer.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+@@ -11,12 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+
++#include <stddef.h>
+ #include <map>
+-#include <string>
+ #include <vector>
+
+ #include "api/test/videocodec_test_stats.h" // NOLINT(build/include)
+-#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+@@ -10,21 +10,27 @@
+
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <limits>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_bitrate_allocator_factory.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+@@ -11,21 +11,32 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/test/videocodec_test_stats.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_frame.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "test/testsupport/frame_reader.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+@@ -15,12 +15,10 @@
+ #include "api/test/mock_video_encoder.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/video/i420_buffer.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/test/videocodec_test_stats_impl.h"
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+-#include "modules/video_coding/include/video_coding.h"
+-#include "rtc_base/event.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+@@ -12,6 +12,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <limits>
+ #include <map>
+ #include <memory>
+@@ -19,9 +21,9 @@
+ #include <vector>
+
+ #include "absl/types/optional.h"
+-
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "modules/video_coding/codecs/vp8/include/temporal_layers_checker.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+@@ -9,11 +9,18 @@
+ */
+
+ #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
++
++#include <cstdint>
++
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+@@ -11,10 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "vpx/vp8cx.h"
++#include "vpx/vpx_codec.h"
+ #include "vpx/vpx_encoder.h"
++#include "vpx/vpx_image.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+@@ -8,18 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_decoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/numerics/exp_filter.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8.h"
++#include "vpx/vp8dx.h"
++#include "vpx/vpx_decoder.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+@@ -8,24 +8,33 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_timing.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/field_trial.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+@@ -8,16 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/codecs/vp8/screenshare_layers.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ using ::testing::_;
+ using ::testing::ElementsAre;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+@@ -15,6 +15,7 @@
+ #define MODULES_VIDEO_CODING_CODECS_VP9_INCLUDE_VP9_GLOBALS_H_
+
+ #include <assert.h>
++#include <stdint.h>
+
+ #include "modules/video_coding/codecs/interface/common_constants.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+@@ -10,6 +10,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+@@ -9,7 +9,6 @@
+ */
+
+ #include <cstddef>
+-#include <cstdint>
+ #include <vector>
+
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+@@ -12,8 +12,10 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <numeric>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+@@ -11,10 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+@@ -8,13 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string.h>
+-
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/decoding_state.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/frame_buffer.h"
+-#include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/session_info.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoded_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+@@ -10,6 +10,14 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <string.h>
++
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
++
+ namespace webrtc {
+
+ VCMEncodedFrame::VCMEncodedFrame()
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/video_coding/encoder_database.h"
+
++#include <string.h>
++
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+@@ -11,8 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+ #define MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+
++#include <stddef.h>
+ #include <memory>
+
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "modules/video_coding/generic_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <string>
+
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h" // NOLINT
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+ #define MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
++
+ #include "api/fec_controller.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/media_opt_util.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+@@ -8,6 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <vector>
++
++#include "api/fec_controller.h"
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+@@ -13,6 +13,10 @@
+ #include <assert.h>
+ #include <string.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/session_info.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+@@ -11,15 +11,22 @@
+ #include "modules/video_coding/frame_buffer2.h"
+
+ #include <algorithm>
+-#include <cstring>
++#include <cstdlib>
++#include <iterator>
+ #include <queue>
++#include <utility>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/experiments/rtt_mult_experiment.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/sequence_number_util.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_object.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/frame_object.h"
+
+-#include "common_video/h264/h264_common.h"
++#include <string.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/packet_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/video_coding/generic_decoder.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+-#include "modules/video_coding/include/video_coding.h"
+-#include "modules/video_coding/internal_defines.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+@@ -10,19 +10,24 @@
+
+ #include "modules/video_coding/generic_encoder.h"
+
++#include <cstddef>
++#include <cstdint>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_timing.h"
+ #include "modules/include/module_common_types_public.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/media_optimization.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstddef>
+ #include <vector>
+
+-#include "modules/video_coding/encoded_frame.h"
++#include "api/video/video_timing.h"
+ #include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+ #define MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
+-#include <stdint.h>
+-
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/h264_sps_pps_tracker.h"
+
++#include <string.h>
+ #include <vector>
+
++#include "absl/types/variant.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/packet.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/histogram.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+@@ -12,7 +12,7 @@
+
+ #include <algorithm>
+
+-#include "rtc_base/numerics/sequence_number_util.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+ #define MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+
+-#include <string>
+-#include <vector>
++#include <stddef.h>
++#include <stdint.h>
+
++#include "absl/types/optional.h"
++#include "api/video/video_content_type.h"
+ #include "api/video/video_frame.h"
+-#include "modules/include/module_common_types.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+@@ -12,17 +12,16 @@
+
+ #include <assert.h>
+ #include <math.h>
+-#include <stdlib.h>
+ #include <string.h>
+ #include <algorithm>
+-#include <string>
++#include <cstdint>
+
+ #include "absl/types/optional.h"
+ #include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/rtt_filter.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+@@ -7,11 +7,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/jitter_estimator.h"
++#include <stdint.h>
++#include <memory>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "modules/video_coding/jitter_estimator.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
++#include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_opt_util.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+@@ -10,18 +10,14 @@
+
+ #include "modules/video_coding/media_opt_util.h"
+
+-#include <float.h>
+-#include <limits.h>
++#include <assert.h>
+ #include <math.h>
+-
+ #include <algorithm>
+-#include <limits>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/fec_rate_table.h"
+-#include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/nack_fec_tables.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_optimization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/media_optimization.h"
+
++#include <string.h>
++#include <algorithm>
+ #include <limits>
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_NACK_MODULE_H_
+ #define MODULES_VIDEO_CODING_NACK_MODULE_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <set>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <cstring>
+ #include <memory>
+
+-#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/nack_module.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/packet.h"
+
++#include "api/rtp_headers.h"
+ #include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+@@ -11,8 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_PACKET_H_
+ #define MODULES_VIDEO_CODING_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+@@ -10,15 +10,22 @@
+
+ #include "modules/video_coding/packet_buffer.h"
+
++#include <string.h>
+ #include <algorithm>
+-#include <limits>
++#include <cstdint>
+ #include <utility>
+
++#include "absl/types/variant.h"
++#include "api/video/encoded_frame.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/frame_object.h"
+ #include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/mod_ops.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+@@ -11,14 +11,17 @@
+ #include "modules/video_coding/receiver.h"
+
+ #include <assert.h>
+-
++#include <cstdint>
+ #include <cstdlib>
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/internal_defines.h"
+-#include "modules/video_coding/media_opt_util.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/trace_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+@@ -8,13 +8,14 @@
+ */
+
+ #include <string.h>
+-
+-#include <list>
++#include <cstdint>
+ #include <memory>
+ #include <queue>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "modules/video_coding/receiver.h"
+ #include "modules/video_coding/test/stream_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+@@ -9,6 +9,17 @@
+ */
+
+ #include "modules/video_coding/session_info.h"
++
++#include <assert.h>
++#include <string.h>
++#include <vector>
++
++#include "absl/types/variant.h"
++#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+@@ -11,10 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_SESSION_INFO_H_
+ #define MODULES_VIDEO_CODING_SESSION_INFO_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+@@ -11,11 +11,10 @@
+ #include "modules/video_coding/test/stream_generator.h"
+
+ #include <string.h>
+-
+ #include <list>
+
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/packet.h"
+-#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+@@ -10,8 +10,10 @@
+ #ifndef MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+ #define MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+
++#include <stdint.h>
+ #include <list>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timestamp_map.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+@@ -10,7 +10,7 @@
+
+ #include <stdlib.h>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/video_coding/timestamp_map.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/timing.h"
+
++#include <assert.h>
+ #include <algorithm>
+
+ #include "rtc_base/time/timestamp_extrapolator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <algorithm>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+
++#include <stdint.h>
++
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+@@ -11,6 +11,7 @@
+ #include <limits>
+ #include <memory>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+
+-#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+@@ -10,7 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
+-#include "rtc_base/checks.h"
++#include <stddef.h>
++#include <cstdint>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+
++#include <stdint.h>
++
+ #include "absl/types/optional.h"
+ #include "rtc_base/rate_statistics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
+-#include <string>
+ #include <utility>
+
+ #include "api/video_codecs/video_codec.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+
+ #include "api/video/encoded_image.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+@@ -10,13 +10,12 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/thread.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/video_coding/utility/quality_scaler.h"
+
+-#include <math.h>
+-
+-#include <algorithm>
+ #include <memory>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/exp_filter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+@@ -11,15 +11,15 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
+-#include "absl/types/optional.h"
+ #include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+ #include "rtc_base/numerics/moving_average.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+@@ -66,6 +66,7 @@ class QualityScaler {
+ private:
+ class CheckQpTask;
+ class QpSmoother;
++
+ void CheckQp();
+ void ClearSamples();
+ void ReportQpLow();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+@@ -13,10 +13,10 @@
+ #include <memory>
+ #include <string>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
+ #include "test/field_trial.h"
+-#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+@@ -10,10 +10,10 @@
+
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+
++#include <stdio.h>
+ #include <algorithm>
+-#include <memory>
++#include <cstdint>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+@@ -11,15 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+-#include <map>
+-#include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+-#include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
++#include "api/video_codecs/video_codec.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+@@ -10,7 +10,9 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/simulcast_utility.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+
+-#include "api/video_codecs/video_encoder.h"
++#include <stdint.h>
++
++#include "api/video_codecs/video_codec.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+@@ -10,17 +10,19 @@
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
+
+-#include "api/video/video_bitrate_allocator.h"
++#include <stdint.h>
++#include <string.h>
++#include <algorithm>
++
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/system/fallthrough.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+@@ -9,7 +9,16 @@
+ */
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
++
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+@@ -17,6 +26,7 @@
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_coding_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+@@ -11,17 +11,14 @@
+ #include "modules/video_coding/video_coding_impl.h"
+
+ #include <algorithm>
+-#include <utility>
++#include <memory>
+
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "modules/video_coding/jitter_buffer.h"
+-#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+@@ -8,17 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <vector>
++
++#include "api/rtp_headers.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/decoder_database.h"
+ #include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/generic_decoder.h"
++#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/jitter_buffer.h"
++#include "modules/video_coding/media_opt_util.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/receiver.h"
++#include "modules/video_coding/timing.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/onetimeevent.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <vector>
+
+-#include <algorithm> // std::max
+-
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/encoder_database.h"
++#include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "modules/video_coding/internal_defines.h"
++#include "modules/video_coding/media_optimization.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/quality_scaler.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+@@ -27,6 +27,8 @@ rtc_static_library("video_processing") {
+ deps = [
+ ":denoiser_filter",
+ "..:module_api",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_audio",
+ "../../common_video",
+ "../../modules/utility",
+@@ -110,8 +112,12 @@ if (rtc_include_tests) {
+ "test/denoiser_test.cc",
+ ]
+ deps = [
++ ":denoiser_filter",
+ ":video_processing",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_video:common_video",
++ "../../rtc_base:ptr_util",
+ "../../test:fileutils",
+ "../../test:test_support",
+ "../../test:video_test_common",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+@@ -8,12 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <string.h>
+-
+ #include <memory>
++#include <string>
+
+-#include "common_video/include/i420_buffer_pool.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "modules/video_processing/util/denoiser_filter.h"
++#include "modules/video_processing/util/skin_detection.h"
+ #include "modules/video_processing/video_denoiser.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+@@ -11,11 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+
+-#include <climits>
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+-
+ namespace webrtc {
+
+ extern const int kMotionMagnitudeThreshold;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "modules/video_processing/util/denoiser_filter_c.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/video_processing/util/denoiser_filter_sse2.h"
++
+ #include <emmintrin.h>
++#include <stdlib.h>
++#include <string.h>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/noise_estimation.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+
++#include <cstdint>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/skin_detection.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+@@ -8,9 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h>
+-#include <math.h>
+-
+ #include "modules/video_processing/util/skin_detection.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "modules/video_processing/video_denoiser.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++
++#include <stdint.h>
++#include <string.h>
++
++#include "api/video/i420_buffer.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+@@ -13,10 +13,12 @@
+
+ #include <memory>
+
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+ #include "modules/video_processing/util/noise_estimation.h"
+ #include "modules/video_processing/util/skin_detection.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+@@ -93,6 +93,7 @@ rtc_static_library("rtc_p2p") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:stringutils",
+ "../rtc_base:weak_ptr",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/system:rtc_export",
+ "../rtc_base/third_party/base64",
+ "../rtc_base/third_party/sigslot",
+@@ -180,7 +181,9 @@ if (rtc_include_tests) {
+ deps = [
+ ":p2p_test_utils",
+ ":rtc_p2p",
++ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
++ "../api/units:time_delta",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -188,6 +191,8 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base:testclient",
++ "../rtc_base/network:sent_packet",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -231,6 +236,7 @@ if (rtc_include_tests) {
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_tests_utils",
++ "../test:test_support",
+ "//testing/gtest",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+@@ -10,11 +10,16 @@
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+
++#include <errno.h>
++#include <stdint.h>
+ #include <string.h>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+@@ -11,9 +11,13 @@
+ #ifndef P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+ #define P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+
++#include <stddef.h>
++
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+@@ -8,14 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <list>
+ #include <memory>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+@@ -12,6 +12,7 @@
+ #define P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
+
+ #include "api/asyncresolverfactory.h"
++#include "rtc_base/asyncresolverinterface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "p2p/base/basicasyncresolverfactory.h"
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+@@ -10,17 +10,18 @@
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+
++#include <stddef.h>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+-#include "p2p/base/stun.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketadapters.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/dtlstransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+@@ -11,14 +11,20 @@
+ #ifndef P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+ #define P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <vector>
+
+ #include "api/crypto/cryptooptions.h"
+ #include "p2p/base/icetransportinternal.h"
+ #include "p2p/base/packettransportinternal.h"
++#include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "p2p/base/icecredentialsiterator.h"
++
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/helpers.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
+ #include "p2p/base/icecredentialsiterator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::IceParameters;
+ using cricket::IceCredentialsIterator;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icetransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+@@ -11,16 +11,20 @@
+ #ifndef P2P_BASE_ICETRANSPORTINTERNAL_H_
+ #define P2P_BASE_ICETRANSPORTINTERNAL_H_
+
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/candidate.h"
+ #include "api/transport/enums.h"
+-#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/packettransportinternal.h"
+ #include "p2p/base/port.h"
+ #include "p2p/base/transportdescription.h"
++#include "rtc_base/network_constants.h"
+ #include "rtc_base/system/rtc_export.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/mdns_message.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+@@ -21,9 +21,7 @@
+ // Fuzzer tests (test/fuzzers/mdns_parser_fuzzer.cc) MUST always be performed
+ // after changes made to this file.
+
+-#include <map>
+-#include <memory>
+-#include <set>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "p2p/base/p2pconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const char CN_AUDIO[] = "audio";
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+@@ -11,7 +11,8 @@
+ #ifndef P2P_BASE_P2PCONSTANTS_H_
+ #define P2P_BASE_P2PCONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+@@ -11,6 +11,7 @@
+ #ifndef P2P_BASE_PACKETLOSSESTIMATOR_H_
+ #define P2P_BASE_PACKETLOSSESTIMATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <string>
+ #include <unordered_map>
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+@@ -8,10 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <utility>
+
+ #include "p2p/base/packetlossestimator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::PacketLossEstimator;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/port_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+@@ -8,32 +8,63 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <list>
+ #include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/candidate.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
++#include "p2p/base/packetsocketfactory.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/tcpport.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
++#include "p2p/base/turnserver.h"
++#include "p2p/client/relayportfactoryinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/crc32.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/network.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketadapters.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::AsyncPacketSocket;
+ using rtc::ByteBufferReader;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+@@ -11,10 +11,12 @@
+ #include "p2p/base/portallocator.h"
+
+ #include <iterator>
++#include <set>
+ #include <utility>
+
+ #include "p2p/base/icecredentialsiterator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+@@ -12,9 +12,9 @@
+
+ #include "p2p/base/fakeportallocator.h"
+ #include "p2p/base/portallocator.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ static const char kContentName[] = "test content";
+ // Based on ICE_UFRAG_LENGTH
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+@@ -10,14 +10,13 @@
+
+ #include "p2p/base/pseudotcp.h"
+
++#include <errno.h>
+ #include <stdio.h>
+-#include <stdlib.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <set>
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+@@ -11,6 +11,8 @@
+ #ifndef P2P_BASE_PSEUDOTCP_H_
+ #define P2P_BASE_PSEUDOTCP_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+
+ #include "rtc_base/stream.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+@@ -8,17 +8,23 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
+ #include "p2p/base/pseudotcp.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/memory_stream.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using cricket::PseudoTcp;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+@@ -7,13 +7,24 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
++#include "p2p/base/stunrequest.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/helpers.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/relayserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+@@ -14,11 +14,14 @@
+ // This file contains classes for dealing with the STUN protocol, as specified
+ // in RFC 5389, and its descendants.
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+@@ -116,14 +119,15 @@ const size_t kStunLegacyTransactionIdLen
+ // STUN Message Integrity HMAC length.
+ const size_t kStunMessageIntegritySize = 20;
+
+-class StunAttribute;
+ class StunAddressAttribute;
+-class StunXorAddressAttribute;
+-class StunUInt32Attribute;
+-class StunUInt64Attribute;
++class StunAttribute;
+ class StunByteStringAttribute;
+ class StunErrorCodeAttribute;
++
+ class StunUInt16ListAttribute;
++class StunUInt32Attribute;
++class StunUInt64Attribute;
++class StunXorAddressAttribute;
+
+ // Records a complete STUN/TURN message. Each message consists of a type and
+ // any number of attributes. Each attribute is parsed into an instance of an
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+@@ -15,10 +16,9 @@
+ #include "p2p/base/stun.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+@@ -11,9 +11,14 @@
+ #ifndef P2P_BASE_STUNREQUEST_H_
+ #define P2P_BASE_STUNREQUEST_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <string>
++
+ #include "p2p/base/stun.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+@@ -13,10 +13,9 @@
+ #include "p2p/base/stunrequest.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+@@ -11,10 +11,15 @@
+ #ifndef P2P_BASE_STUNSERVER_H_
+ #define P2P_BASE_STUNSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/stunserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+@@ -66,10 +66,18 @@
+
+ #include "p2p/base/tcpport.h"
+
++#include <errno.h>
++#include <algorithm>
+ #include <vector>
+
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/ratetracker.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+@@ -10,13 +10,20 @@
+
+ #include <list>
+ #include <memory>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/p2pconstants.h"
+ #include "p2p/base/tcpport.h"
++#include "p2p/base/transportdescription.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+ using cricket::Connection;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+@@ -10,6 +10,9 @@
+
+ #include "p2p/base/teststunserver.h"
+
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/socketserver.h"
++
+ namespace cricket {
+
+ TestStunServer* TestStunServer::Create(rtc::Thread* thread,
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+@@ -11,7 +11,9 @@
+ #ifndef P2P_BASE_TESTSTUNSERVER_H_
+ #define P2P_BASE_TESTSTUNSERVER_H_
+
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+@@ -11,7 +11,6 @@
+ #include "p2p/base/transportdescription.h"
+
+ #include "absl/strings/match.h"
+-#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/arraysize.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+@@ -10,12 +10,12 @@
+
+ #include "p2p/base/transportdescriptionfactory.h"
+
++#include <stddef.h>
+ #include <memory>
++#include <string>
+
+ #include "p2p/base/transportdescription.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
+ #include "rtc_base/sslfingerprint.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+@@ -15,9 +17,12 @@
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::TransportDescriptionFactory;
+ using cricket::TransportDescription;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+@@ -16,29 +16,31 @@
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/portallocator.h"
+-#include "p2p/base/tcpport.h"
++#include "p2p/base/stunport.h"
+ #include "p2p/base/testturncustomizer.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
+-#include "p2p/base/udpport.h"
+-#include "rtc_base/asynctcpsocket.h"
++#include "p2p/base/turnserver.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/dscp.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/socketadapters.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include "p2p/base/turnserver.h"
++
+ #include "p2p/base/basicpacketsocketfactory.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ // NOTE: This is a work in progress. Currently this file only has tests for
+ // TurnServerConnection, a primitive class used by TurnServer.
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <algorithm>
+ #include <memory>
++#include <ostream> // no-presubmit-check TODO(webrtc:8982)
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+-#include "p2p/base/p2ptransportchannel.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunrequest.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
+@@ -23,18 +25,23 @@
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/networkmonitor.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/socketaddresspair.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ using rtc::IPAddress;
+ using rtc::SocketAddress;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+@@ -13,6 +13,7 @@
+ #include <memory>
+ #include <utility>
+
++#include "p2p/base/portallocator.h"
+ #include "p2p/base/turnport.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+@@ -13,7 +13,9 @@
+
+ #include <memory>
+
++#include "p2p/base/port.h"
+ #include "p2p/client/relayportfactoryinterface.h"
++#include "rtc_base/asyncpacketsocket.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+@@ -9,18 +9,16 @@
+ */
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/asyncresolverinterface.h"
+-#include "rtc_base/bind.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using stunprober::StunProber;
+ using stunprober::AsyncCallback;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+@@ -67,10 +67,12 @@ rtc_static_library("rtc_pc_base") {
+ deps = [
+ "..:webrtc_common",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
+ "../api/video:video_frame",
++ "../call:call_interfaces",
+ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../common_video:common_video",
+@@ -78,6 +80,7 @@ rtc_static_library("rtc_pc_base") {
+ "../media:rtc_data",
+ "../media:rtc_h264_profile_id",
+ "../media:rtc_media_base",
++ "../media:rtc_media_config",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+@@ -185,6 +188,8 @@ rtc_static_library("peerconnection") {
+ deps = [
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+@@ -269,9 +274,11 @@ if (rtc_include_tests) {
+ ":rtc_pc",
+ ":rtc_pc_base",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../call:rtp_interfaces",
++ "../call:rtp_receiver",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_media_base",
+ "../media:rtc_media_tests_utils",
+@@ -308,24 +315,33 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":pc_test_utils",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
+ "../api/audio_codecs:builtin_audio_encoder_factory",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_media_tests_utils",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:api",
+ "../p2p:p2p_test_utils",
+ "../p2p:rtc_p2p",
+ "../pc:peerconnection",
++ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:perf_test",
+ "../test:test_support",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -364,13 +380,17 @@ if (rtc_include_tests) {
+ ":peerconnection",
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:libjingle_peerconnection_test_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../call:call_interfaces",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_data",
+@@ -381,6 +401,7 @@ if (rtc_include_tests) {
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:audio_processing",
+ "../p2p:p2p_test_utils",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -390,6 +411,7 @@ if (rtc_include_tests) {
+ "../test:test_support",
+ "../test:video_test_common",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -453,19 +475,27 @@ if (rtc_include_tests) {
+ deps = [
+ ":peerconnection",
+ ":rtc_pc_base",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_logging_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:loopback_media_transport",
+ "../api:mock_rtp",
++ "../api/audio:audio_mixer_api",
+ "../api/units:time_delta",
+ "../logging:fake_rtc_event_log",
++ "../media:rtc_media_config",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:audio_processing_statistics",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/base64",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:fileutils",
+ "//third_party/abseil-cpp/absl/memory",
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/audiotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+@@ -14,7 +14,6 @@
+ #include <string>
+
+ #include "api/mediastreaminterface.h"
+-#include "api/notifier.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+@@ -8,23 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <memory>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/audio_options.h"
++#include "api/rtpparameters.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/fakertp.h"
+ #include "media/base/mediachannel.h"
+-#include "p2p/base/fakecandidatepair.h"
++#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/fakedtlstransport.h"
+ #include "p2p/base/fakepackettransport.h"
++#include "p2p/base/icetransportinternal.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/channel.h"
++#include "pc/dtlssrtptransport.h"
++#include "pc/jseptransport.h"
++#include "pc/rtptransport.h"
++#include "rtc_base/arraysize.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::DtlsTransportInternal;
+ using cricket::FakeVoiceMediaChannel;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+@@ -15,9 +15,11 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+-#include "media/base/rtpdataengine.h"
++#include "media/base/mediaconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+@@ -11,12 +11,23 @@
+ #ifndef PC_CHANNELMANAGER_H_
+ #define PC_CHANNELMANAGER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/media_transport_interface.h"
++#include "call/call.h"
++#include "media/base/codec.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
+ #include "media/base/mediaengine.h"
+ #include "pc/channel.h"
++#include "pc/rtptransportinternal.h"
++#include "pc/sessiondescription.h"
++#include "rtc_base/platform_file.h"
+ #include "rtc_base/thread.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+@@ -9,17 +9,22 @@
+ */
+
+ #include <memory>
+-#include <utility>
+
++#include "absl/memory/memory.h"
++#include "api/rtcerror.h"
+ #include "api/test/fake_media_transport.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/channelmanager.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "pc/dtlssrtptransport.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ const bool kDefaultSrtpRequired = true;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+@@ -16,8 +16,10 @@
+ #include "media/sctp/sctptransportinternal.h"
+ #include "pc/sctputils.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <vector>
+
+@@ -16,6 +17,7 @@
+ #include "pc/test/fakedatachannelprovider.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "test/gtest.h"
+
+ using webrtc::DataChannel;
+ using webrtc::SctpSidAllocator;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+@@ -10,11 +10,12 @@
+
+ #include "pc/dtlssrtptransport.h"
+
+-#include <memory>
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+-#include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/sslstreamadapter.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+@@ -11,13 +11,16 @@
+ #ifndef PC_DTLSSRTPTRANSPORT_H_
+ #define PC_DTLSSRTPTRANSPORT_H_
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
+ #include "p2p/base/dtlstransportinternal.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/srtptransport.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+@@ -10,20 +10,26 @@
+
+ #include "pc/dtlssrtptransport.h"
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+-#include <utility>
++#include <set>
+
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "p2p/base/fakepackettransport.h"
++#include "p2p/base/fakeicetransport.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::FakeDtlsTransport;
+ using cricket::FakeIceTransport;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+@@ -11,11 +11,12 @@
+ #include "pc/dtmfsender.h"
+
+ #include <ctype.h>
+-
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+@@ -10,14 +10,16 @@
+
+ #include "pc/dtmfsender.h"
+
++#include <stddef.h>
+ #include <memory>
+-#include <set>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using webrtc::DtmfProviderInterface;
+ using webrtc::DtmfSender;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+@@ -11,11 +11,10 @@
+ #include "pc/externalhmac.h"
+
+ #include <stdlib.h> // For malloc/free.
++#include <string.h>
+
+ #include "rtc_base/logging.h"
+ #include "rtc_base/zero_memory.h"
+-
+-#include "third_party/libsrtp/crypto/include/crypto_kernel.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ // Begin test case 0 */
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+@@ -31,6 +31,8 @@
+ #include <stdint.h>
+
+ #include "third_party/libsrtp/crypto/include/auth.h"
++#include "third_party/libsrtp/crypto/include/crypto_types.h"
++#include "third_party/libsrtp/include/srtp.h"
+
+ #define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1
+ #define HMAC_KEY_LENGTH 20
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+@@ -10,10 +10,17 @@
+
+ #include "pc/iceserverparsing.h"
+
++#include <stddef.h>
+ #include <cctype> // For std::isdigit.
+ #include <string>
+
++#include "p2p/base/portinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/stringencode.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+@@ -15,6 +15,8 @@
+
+ #include "api/peerconnectioninterface.h"
+ #include "api/rtcerror.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+@@ -11,8 +11,11 @@
+ #include <string>
+ #include <vector>
+
++#include "p2p/base/portinterface.h"
+ #include "pc/iceserverparsing.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepicecandidate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+@@ -10,7 +10,7 @@
+
+ #include "api/jsepicecandidate.h"
+
+-#include <vector>
++#include <memory>
+
+ #include "absl/memory/memory.h"
+ #include "pc/webrtcsdp.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+@@ -8,20 +8,29 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/candidate.h"
++#include "api/jsep.h"
+ #include "api/jsepicecandidate.h"
+ #include "api/jsepsessiondescription.h"
++#include "media/base/codec.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
+-#include "pc/mediasession.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/sessiondescription.h"
+ #include "pc/webrtcsdp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ using cricket::MediaProtocolType;
+ using ::testing::Values;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jseptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+@@ -10,15 +10,19 @@
+
+ #include "pc/jseptransport.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
++#include <type_traits>
+ #include <utility> // for std::pair
+
++#include "absl/memory/memory.h"
++#include "api/array_view.h"
+ #include "api/candidate.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/p2ptransportchannel.h"
+-#include "p2p/base/port.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+@@ -10,9 +10,7 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <vector>
+-
+-#include "media/base/mediaengine.h"
++#include "rtc_base/refcountedobject.h"
+
+ using webrtc::MediaSourceInterface;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+@@ -11,9 +11,10 @@
+ #ifndef PC_LOCALAUDIOSOURCE_H_
+ #define PC_LOCALAUDIOSOURCE_H_
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
+-#include "media/base/mediachannel.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // LocalAudioSource implements AudioSourceInterface.
+ // This contains settings for switching audio processing on and off.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+@@ -10,12 +10,8 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <string>
+-#include <vector>
+-
+-#include "media/base/fakemediaengine.h"
+-#include "media/base/fakevideorenderer.h"
+-#include "rtc_base/gunit.h"
++#include "absl/types/optional.h"
++#include "test/gtest.h"
+
+ using webrtc::LocalAudioSource;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "api/mediaconstraintsinterface.h"
+
++#include "absl/types/optional.h"
+ #include "api/test/fakeconstraints.h"
+-#include "rtc_base/gunit.h"
++#include "media/base/mediaconfig.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+@@ -9,8 +9,11 @@
+ */
+
+ #include "pc/mediastream.h"
++
++#include <stddef.h>
++#include <vector>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+@@ -14,10 +14,10 @@
+ #define PC_MEDIASTREAM_H_
+
+ #include <string>
+-#include <vector>
+
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+@@ -8,14 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <string>
+
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastreamobserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+@@ -11,6 +11,8 @@
+ #include "pc/mediastreamobserver.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+@@ -8,22 +8,45 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <string>
++#include <type_traits>
++#include <utility>
++#include <vector>
+
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
++#include "api/jsep.h"
++#include "api/media_transport_interface.h"
++#include "api/mediatypes.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
+ #include "api/test/fake_media_transport.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediaconstants.h"
++#include "media/base/mediaengine.h"
++#include "media/sctp/sctptransportinternal.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
++#include "test/gtest.h"
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+ #endif
+ #include "absl/memory/memory.h"
+ #include "pc/test/fakesctptransport.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+@@ -8,23 +8,38 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <set>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
++#include "api/rtcerror.h"
+ #include "media/base/fakemediaengine.h"
++#include "p2p/base/portallocator.h"
+ #include "p2p/client/basicportallocator.h"
+-#include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
+-#include "pc/test/fakesctptransport.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+@@ -71,6 +86,7 @@ class PeerConnectionFactoryForUsageHisto
+ };
+
+ class PeerConnectionWrapperForUsageHistogramTest;
++
+ typedef PeerConnectionWrapperForUsageHistogramTest* RawWrapperPtr;
+
+ class ObserverForUsageHistogramTest : public MockPeerConnectionObserver {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rampup_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+@@ -8,28 +8,55 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/peerconnectioninterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/testturnserver.h"
+ #include "p2p/client/basicportallocator.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "pc/test/fakeperiodicvideotracksource.h"
+-#include "pc/test/fakertccertificategenerator.h"
+-#include "pc/test/fakevideotrackrenderer.h"
+ #include "pc/test/framegeneratorcapturervideotracksource.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/platform_thread.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/testcertificateverifier.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/perf_test.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+@@ -8,33 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <memory>
++#include <string>
++#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
+ #include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpparameters.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "api/umametrics.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "media/base/streamparams.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+-#include "pc/mediastream.h"
+-#include "pc/mediastreamtrack.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+
+ // This file contains tests for RTP Media API-related behavior of
+ // |webrtc::PeerConnection|, see https://w3c.github.io/webrtc-pc/#rtp-media-api.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+@@ -8,22 +8,35 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "media/base/fakevideocapturer.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portinterface.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+@@ -8,46 +8,86 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <limits.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <sstream>
+ #include <string>
+ #include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtceventlogoutput.h"
+ #include "api/rtpreceiverinterface.h"
+ #include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/codec.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
++#include "media/base/streamparams.h"
++#include "media/base/videocapturer.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "media/sctp/sctptransportinternal.h"
++#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/audiotrack.h"
+ #include "pc/mediasession.h"
+ #include "pc/mediastream.h"
+ #include "pc/peerconnection.h"
++#include "pc/peerconnectionfactory.h"
++#include "pc/rtcstatscollector.h"
+ #include "pc/rtpsender.h"
++#include "pc/sessiondescription.h"
+ #include "pc/streamcollection.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/fakertccertificategenerator.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "pc/test/testsdpstrings.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/platform_file.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #ifdef WEBRTC_ANDROID
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+@@ -10,17 +10,21 @@
+
+ #include "pc/peerconnectionwrapper.h"
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "api/jsepsessiondescription.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "pc/sdputils.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+@@ -11,14 +11,22 @@
+ #ifndef PC_PEERCONNECTIONWRAPPER_H_
+ #define PC_PEERCONNECTIONWRAPPER_H_
+
+-#include <functional>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/function_view.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/remoteaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+@@ -10,16 +10,18 @@
+
+ #include "pc/remoteaudiosource.h"
+
++#include <stddef.h>
+ #include <algorithm>
+-#include <functional>
+-#include <memory>
+-#include <utility>
++#include <string>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "pc/rtcpmuxfilter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ TEST(RtcpMuxFilterTest, IsActiveSender) {
+ cricket::RtcpMuxFilter filter;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstats_integrationtest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+@@ -8,16 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
++#include <memory>
+ #include <set>
++#include <string>
+ #include <vector>
+
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/datachannelinterface.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
+ #include "api/stats/rtcstatsreport.h"
++#include "api/test/fakeconstraints.h"
+ #include "pc/rtcstatstraversal.h"
+ #include "pc/test/peerconnectiontestwrapper.h"
+ #include "pc/test/rtcstatsobtainer.h"
+@@ -27,8 +38,10 @@
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+@@ -14,6 +14,7 @@
+ #include <string>
+ #include <vector>
+
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstatsreport.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+@@ -15,8 +15,7 @@
+ #include <vector>
+
+ #include "api/stats/rtcstats_objects.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ // This file contains tests for TakeReferencedStats().
+ // GetStatsNeighborIds() is tested in rtcstats_integrationtest.cc.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpmediautils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+@@ -10,6 +10,8 @@
+
+ #include "pc/rtpmediautils.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ RtpTransceiverDirection RtpTransceiverDirectionFromSendRecv(bool send,
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+@@ -10,10 +10,19 @@
+
+ #include "pc/rtpparametersconversion.h"
+
++#include <cstdint>
+ #include <set>
++#include <string>
++#include <unordered_map>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "api/mediatypes.h"
++#include "media/base/mediaconstants.h"
+ #include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+@@ -11,14 +11,15 @@
+ #ifndef PC_RTPPARAMETERSCONVERSION_H_
+ #define PC_RTPPARAMETERSCONVERSION_H_
+
+-#include <memory>
++#include <iosfwd>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "media/base/codec.h"
+-#include "pc/mediasession.h"
++#include "media/base/streamparams.h"
++#include "pc/sessiondescription.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+@@ -10,6 +10,7 @@
+
+ #include "pc/rtpreceiver.h"
+
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +20,9 @@
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+@@ -16,15 +16,25 @@
+ #define PC_RTPRECEIVER_H_
+
+ #include <stdint.h>
+-
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/crypto/framedecryptorinterface.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
+ #include "api/rtpreceiverinterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "media/base/mediachannel.h"
+ #include "media/base/videobroadcaster.h"
+ #include "pc/remoteaudiosource.h"
+ #include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+@@ -13,11 +13,14 @@
+ #include <utility>
+ #include <vector>
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+-#include "pc/localaudiosource.h"
++#include "media/base/mediaengine.h"
+ #include "pc/statscollector.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+@@ -8,30 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+ #include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/crypto/frameencryptorinterface.h"
++#include "api/dtmfsenderinterface.h"
++#include "api/mediastreaminterface.h"
++#include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "api/test/fake_frame_decryptor.h"
+ #include "api/test/fake_frame_encryptor.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
+ #include "media/base/rtpdataengine.h"
++#include "media/base/streamparams.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/audiotrack.h"
++#include "pc/channel.h"
+ #include "pc/channelmanager.h"
++#include "pc/dtlssrtptransport.h"
+ #include "pc/localaudiosource.h"
+ #include "pc/mediastream.h"
+-#include "pc/remoteaudiosource.h"
+ #include "pc/rtpreceiver.h"
+ #include "pc/rtpsender.h"
+-#include "pc/streamcollection.h"
++#include "pc/rtptransportinternal.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "pc/videotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+@@ -10,9 +10,12 @@
+
+ #include "pc/rtptransceiver.h"
+
++#include <algorithm>
+ #include <string>
+
+ #include "pc/rtpmediautils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+@@ -11,8 +11,9 @@
+ // This file contains tests for |RtpTransceiver|.
+
+ #include "pc/rtptransceiver.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/mock_channelinterface.h"
+
+ using ::testing::Return;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+@@ -10,14 +10,18 @@
+
+ #include "pc/rtptransport.h"
+
++#include <errno.h>
++#include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "media/base/rtputils.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+-#include "p2p/base/p2pconstants.h"
+-#include "p2p/base/packettransportinterface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <set>
+ #include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "p2p/base/fakepackettransport.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+@@ -10,6 +10,9 @@
+
+ #include "pc/sctputils.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "pc/sctputils.h"
++
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ class SctpUtilsTest : public testing::Test {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+@@ -10,8 +10,11 @@
+
+ #include "pc/sessiondescription.h"
+
++#include <algorithm>
+ #include <utility>
+
++#include "rtc_base/checks.h"
++
+ namespace cricket {
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+@@ -11,17 +11,21 @@
+ #ifndef PC_SESSIONDESCRIPTION_H_
+ #define PC_SESSIONDESCRIPTION_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iosfwd>
+ #include <string>
+ #include <vector>
+
+ #include "api/cryptoparams.h"
++#include "api/mediatypes.h"
+ #include "api/rtpparameters.h"
+ #include "api/rtptransceiverinterface.h"
+-#include "media/base/codec.h"
+ #include "media/base/mediachannel.h"
+ #include "media/base/streamparams.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportinfo.h"
+-#include "rtc_base/constructormagic.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+@@ -49,8 +53,8 @@ extern const char kMediaProtocolTcpDtlsS
+ const int kAutoBandwidth = -1;
+
+ class AudioContentDescription;
+-class VideoContentDescription;
+ class DataContentDescription;
++class VideoContentDescription;
+
+ // Describes a session description media section. There are subclasses for each
+ // media type (audio, video, data) that will have additional information.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+@@ -8,7 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "pc/sessiondescription.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+@@ -11,16 +11,11 @@
+ #include "pc/srtpfilter.h"
+
+ #include <string.h>
+-#include <algorithm>
+-#include <utility>
++#include <cstdint>
+
+-#include "media/base/rtputils.h"
+-#include "pc/srtpsession.h"
+-#include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+ #include "rtc_base/zero_memory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-
+-#include "pc/srtpfilter.h"
++#include <string.h>
+
+ #include "api/cryptoparams.h"
+-#include "rtc_base/gunit.h"
++#include "pc/srtpfilter.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "test/gtest.h"
+
+ using cricket::CryptoParams;
+ using cricket::CS_LOCAL;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpsession_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+@@ -10,14 +10,15 @@
+
+ #include "pc/srtpsession.h"
+
++#include <string.h>
+ #include <string>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/fakertp.h"
+ #include "pc/srtptestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/sslstreamadapter.h" // For rtc::SRTP_*
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+@@ -10,17 +10,22 @@
+
+ #include "pc/srtptransport.h"
+
++#include <stdint.h>
++#include <string.h>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/rtputils.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/zero_memory.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+@@ -11,18 +11,22 @@
+ #ifndef PC_SRTPTRANSPORT_H_
+ #define PC_SRTPTRANSPORT_H_
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/ortc/srtptransportinterface.h"
+-#include "p2p/base/dtlstransportinternal.h"
+-#include "p2p/base/icetransportinternal.h"
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/networkroute.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <set>
+ #include <vector>
+
+-#include "pc/srtptransport.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakepackettransport.h"
+-#include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "pc/srtptestutil.h"
++#include "pc/srtptransport.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ using rtc::kTestKey1;
+ using rtc::kTestKey2;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+@@ -14,6 +14,7 @@
+ #ifndef PC_STATSCOLLECTOR_H_
+ #define PC_STATSCOLLECTOR_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+@@ -23,7 +24,10 @@
+ #include "api/mediastreaminterface.h"
+ #include "api/peerconnectioninterface.h"
+ #include "api/statstypes.h"
++#include "p2p/base/port.h"
+ #include "pc/peerconnectioninternal.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/sslcertificate.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+@@ -9,21 +9,37 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <algorithm>
+ #include <memory>
+-#include <utility>
+-
+-#include "pc/statscollector.h"
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_codecs/audio_encoder.h"
++#include "api/candidate.h"
++#include "api/datachannelinterface.h"
++#include "call/call.h"
++#include "media/base/mediachannel.h"
++#include "modules/audio_processing/include/audio_processing_statistics.h"
++#include "pc/datachannel.h"
+ #include "pc/mediastream.h"
+ #include "pc/mediastreamtrack.h"
++#include "pc/statscollector.h"
+ #include "pc/test/fakepeerconnectionforstats.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "pc/transportstats.h"
+ #include "pc/videotrack.h"
+ #include "rtc_base/fakesslidentity.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/thread.h"
+ #include "test/gtest.h"
+
+ using cricket::ConnectionInfo;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+@@ -10,8 +10,10 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
+ #include <algorithm>
+
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ using std::min;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/transportstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+@@ -14,8 +14,9 @@
+ #include <string>
+ #include <vector>
+
+-#include "p2p/base/dtlstransport.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/port.h"
++#include "rtc_base/sslstreamadapter.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videocapturertracksource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "api/test/fakeconstraints.h"
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
++#include "media/base/mediachannel.h"
+ #include "pc/videocapturertracksource.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
++#include "test/gtest.h"
+
+ using cricket::FOURCC_I420;
+ using cricket::VideoFormat;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+@@ -9,8 +9,12 @@
+ */
+
+ #include <string>
++#include <vector>
+
++#include "api/notifier.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+@@ -12,12 +12,16 @@
+ #define PC_VIDEOTRACK_H_
+
+ #include <string>
+-#include <vector>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+@@ -9,14 +9,14 @@
+ */
+
+ #include <memory>
+-#include <string>
+
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/videocommon.h"
+ #include "pc/test/fakevideotrackrenderer.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
++#include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ using webrtc::FakeVideoTrackRenderer;
+ using webrtc::MediaSourceInterface;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+@@ -10,7 +10,7 @@
+
+ #include "pc/videotracksource.h"
+
+-#include <string>
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsdp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
++#include <utility>
+ #include <vector>
+
++#include "api/array_view.h"
++#include "api/cryptoparams.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
++#include "api/rtptransceiverinterface.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/engine/webrtcvideoengine.h"
++#include "media/base/streamparams.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/mediasession.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/stringencode.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+@@ -10,16 +10,25 @@
+
+ #include "pc/webrtcsessiondescriptionfactory.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/rtcerror.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+
+ using cricket::MediaSessionOptions;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+@@ -11,17 +11,25 @@
+ #ifndef PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+ #define PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <queue>
+ #include <string>
+
++#include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnectioninternal.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+@@ -84,7 +84,7 @@ rtc_source_set("rtc_base_approved") {
+ "system:arch",
+ "system:unused",
+ "third_party/base64",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+@@ -992,7 +992,7 @@ rtc_source_set("testclient") {
+ ":rtc_base",
+ ":rtc_base_tests_utils",
+ ":timeutils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1068,6 +1068,7 @@ if (rtc_include_tests) {
+ ":gunit_helpers",
+ ":rtc_base",
+ ":rtc_base_tests_utils",
++ "../test:test_support",
+ "third_party/sigslot",
+ ]
+ }
+@@ -1115,6 +1116,7 @@ if (rtc_include_tests) {
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
++ "third_party/sigslot:sigslot",
+ "//testing/gtest",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -1191,11 +1193,13 @@ if (rtc_include_tests) {
+ ":stringutils",
+ ":testclient",
+ "../api:array_view",
++ "../api/units:time_delta",
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "memory:unittests",
+ "third_party/base64",
++ "third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+@@ -1217,6 +1221,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":rtc_task_queue_for_test",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1251,6 +1256,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":weak_ptr",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncpacketsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+@@ -14,6 +14,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/deprecation.h"
+ #include "rtc_base/dscp.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socket.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+@@ -11,7 +11,11 @@
+ #ifndef RTC_BASE_ASYNCSOCKET_H_
+ #define RTC_BASE_ASYNCSOCKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asynctcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+@@ -10,14 +10,16 @@
+
+ #include "rtc_base/asynctcpsocket.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h" // for TimeMillis
+
+ #if defined(WEBRTC_POSIX)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncudpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+@@ -9,8 +9,15 @@
+ */
+
+ #include "rtc_base/asyncudpsocket.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/base64_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+@@ -9,10 +9,14 @@
+ */
+
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+
++#include <stdio.h>
++#include <string.h>
++#include <algorithm>
++
++#include "rtc_base/logging.h"
+ #include "rtc_base/testbase64.h"
++#include "test/gtest.h"
+
+ using namespace std;
+ using namespace rtc;
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bind_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+@@ -8,13 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <type_traits>
++#include <string>
+
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+-
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bitbuffer.h"
++
++#include <limits>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bitrateallocationstrategy.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_BUFFER_H_
+ #define RTC_BASE_BUFFER_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <cstring>
+ #include <memory>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "rtc_base/buffer.h"
+
+-#include "api/array_view.h"
+-#include "rtc_base/gunit.h"
+-
+-#include <type_traits>
++#include <cstdint>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bufferqueue.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bytebuffer.h"
++
++#include <string.h>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/byteorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+@@ -11,7 +11,7 @@
+ #include <stdint.h>
+
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/callback_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/callback.h"
++
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/refcount.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cancelable_task_handle.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+@@ -12,6 +12,8 @@
+
+ #include <utility>
+
++#include "rtc_base/checks.h"
++#include "rtc_base/refcount.h"
+ #include "rtc_base/refcounter.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
++
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+@@ -9,11 +9,9 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
+-#include <algorithm>
+-#include <memory>
++
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/timeutils.h"
+-#include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/crc32_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/crc32.h"
+-#include "rtc_base/gunit.h"
+
+ #include <string>
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ TEST(Crc32Test, TestBasic) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/criticalsection_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <set>
++#include <utility>
+ #include <vector>
+
+ #include "rtc_base/arraysize.h"
+@@ -17,9 +20,12 @@
+ #include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/data_rate_limiter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/event_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/platform_thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/congestion_controller_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ TEST(CongestionControllerExperimentTest, BbrDisabledByDefault) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/cpu_speed_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+ #include <string>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+ #include "rtc_base/experiments/field_trial_units.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+@@ -10,7 +10,7 @@
+
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+
+-#include <algorithm>
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakeclock.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+@@ -11,8 +11,11 @@
+ #ifndef RTC_BASE_FAKECLOCK_H_
+ #define RTC_BASE_FAKECLOCK_H_
+
++#include <stdint.h>
++
+ #include "api/units/time_delta.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakesslidentity.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+@@ -10,7 +10,6 @@
+
+ #include "rtc_base/fakesslidentity.h"
+
+-#include <algorithm>
+ #include <string>
+ #include <utility>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-#include <memory>
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/file.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+@@ -25,6 +25,7 @@
+ #endif // WEBRTC_WIN
+
+ #include "absl/strings/match.h"
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/filerotatingstream.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_base/firewallsocketserver.h"
+
++#include <errno.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
++#include <string>
+
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+@@ -12,7 +12,12 @@
+ #define RTC_BASE_FIREWALLSOCKETSERVER_H_
+
+ #include <vector>
++
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/function_view_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+@@ -12,7 +12,7 @@
+ #include <utility>
+
+ #include "rtc_base/function_view.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+@@ -10,15 +10,13 @@
+
+ #include "rtc_base/helpers.h"
+
++#include <openssl/rand.h>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+
+-#include <openssl/rand.h>
+-
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+
+ // Protect against max macro inclusion.
+ #undef max
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/httpcommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+@@ -14,25 +14,24 @@
+ #include <windows.h>
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
++
+ #define SECURITY_WIN32
+ #include <security.h>
+ #endif
+
+ #include <ctype.h> // for isspace
+ #include <stdio.h> // for sprintf
+-#include <algorithm>
+ #include <utility> // for pair
+ #include <vector>
+
+ #include "absl/strings/match.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/cryptstring.h" // for CryptString
+ #include "rtc_base/httpcommon.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/stringutils.h"
+ #include "rtc_base/third_party/base64/base64.h" // for Base64
+ #include "rtc_base/zero_memory.h" // for ExplicitZeroMemory
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+@@ -23,7 +23,6 @@
+ #endif
+ #include <string.h>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/byteorder.h"
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ipaddress.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -11,6 +11,7 @@
+ #include "rtc_base/key_derivation.h"
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/openssl_key_derivation_hkdf.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_KEY_DERIVATION_H_
+ #define RTC_BASE_KEY_DERIVATION_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/location.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/location.h"
+
++#include <stdio.h>
++
+ namespace rtc {
+
+ Location::Location(const char* function_name, const char* file_and_line)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/logging_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+@@ -9,13 +9,17 @@
+ */
+
+ #include "rtc_base/logging.h"
++
++#include <string.h>
++#include <algorithm>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/stream.h"
+-#include "test/testsupport/fileutils.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory/aligned_array.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+ #define RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/memory/aligned_malloc.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/memory_stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_STREAM_H_
+ #define RTC_BASE_MEMORY_STREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+@@ -13,15 +13,13 @@
+ #if defined(WEBRTC_LINUX)
+ #include <unistd.h>
+ #include <cstdio>
+-#include <cstdlib>
+-#include <cstring>
+ #elif defined(WEBRTC_MAC)
+ #include <mach/mach.h>
+ #elif defined(WEBRTC_WIN)
+ // clang-format off
+ // clang formating would change include order.
+ #include <windows.h>
+-#include <psapi.h> // must come after windows.h
++#include <psapi.h> // must come after windows.h
+ // clang-format on
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+@@ -9,7 +9,7 @@
+ */
+
+ #include "rtc_base/memory_usage.h"
+-#include <cstdio>
++
+ #include "test/gtest.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/messagedigest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nat_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
+ #include <memory>
+ #include <string>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
+ #include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/natsocketfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+@@ -11,14 +11,19 @@
+ #ifndef RTC_BASE_NATSOCKETFACTORY_H_
+ #define RTC_BASE_NATSOCKETFACTORY_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+-#include <string>
+
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/natserver.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+@@ -80,6 +85,7 @@ class NATSocketFactory : public SocketFa
+ class NATSocketServer : public SocketServer, public NATInternalSocketFactory {
+ public:
+ class Translator;
++
+ // holds a list of NATs
+ class TranslatorMap : private std::map<SocketAddress, Translator*> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include "rtc_base/nullsocketserver.h"
++
++#include <stdint.h>
++#include <memory>
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+ #define RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <map>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
+
++#include <cstdint>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_MOD_OPS_H_
+
+ #include <algorithm>
+-#include <limits>
+ #include <type_traits>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/mod_ops.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_average.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+ #define RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+ #define RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+
++#include <stddef.h>
+ #include <list>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/moving_median_filter.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_PERCENTILE_FILTER_H_
+
+ #include <stdint.h>
+-
+ #include <iterator>
+ #include <set>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+@@ -8,8 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
+ #include <climits>
++#include <cstdint>
+ #include <random>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+@@ -10,8 +10,7 @@
+
+ #include "rtc_base/numerics/sample_counter.h"
+
+-#include <utility>
+-#include <vector>
++#include <initializer_list>
+
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+@@ -11,12 +11,13 @@
+ #ifndef RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+ #define RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+
++#include <stdint.h>
+ #include <limits>
+ #include <type_traits>
+
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/mod_ops.h"
+-#include "rtc_base/numerics/safe_compare.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <iterator>
+ #include <set>
+
+ #include "rtc_base/numerics/sequence_number_util.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/onetimeevent.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+@@ -9,16 +9,18 @@
+ */
+
+ #include <signal.h>
+-#include <stdarg.h>
++#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/networkmonitor.h"
+ #include "rtc_base/physicalsocketserver.h"
+ #include "rtc_base/socket_unittest.h"
+ #include "rtc_base/testutils.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/proxyserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/proxyserver.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+@@ -8,13 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/event.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/rate_limiter.h"
+-#include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+@@ -8,7 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdlib>
+
+ #include "rtc_base/rate_statistics.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ratetracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ratetracker.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+@@ -10,6 +10,7 @@
+ #ifndef RTC_BASE_REFCOUNTEDOBJECT_H_
+ #define RTC_BASE_REFCOUNTEDOBJECT_H_
+
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
++#include <utility>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_ROLLINGACCUMULATOR_H_
+ #define RTC_BASE_ROLLINGACCUMULATOR_H_
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/rollingaccumulator.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+@@ -8,18 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <time.h>
+ #include <memory>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/sslidentity.h"
+-#include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+@@ -15,9 +15,9 @@
+ #include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sanitizer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "rtc_base/sanitizer.h"
+
+-#include "rtc_base/gunit.h"
++#include <stdint.h>
++
+ #include "rtc_base/logging.h"
++#include "test/gtest.h"
+
+ #if RTC_HAS_MSAN
+ #include <sanitizer/msan_interface.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/sequenced_task_checker.h"
+
++#include <memory>
++#include <utility>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/signalthread_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+@@ -13,7 +13,9 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/signalthread.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslot_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/sigslotrepeater.h"
++#include "test/gtest.h"
+
+ // This function, when passed a has_slots or signalx, will break the build if
+ // its threading requirement is not single threaded
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslottester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+@@ -12,8 +12,8 @@
+
+ #include <string>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+@@ -26,7 +26,6 @@
+ #endif
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socketaddress.h"
+
+ // Rather than converting errors into a private namespace,
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+@@ -8,20 +8,32 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+
+-#include "rtc_base/socket_unittest.h"
+-
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/buffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/nethelpers.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socket_unittest.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+@@ -12,9 +12,11 @@
+ #include <netinet/in.h> // for sockaddr_in
+ #endif
+
+-#include "rtc_base/gunit.h"
++#include <string.h>
++
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketstream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+@@ -11,9 +11,12 @@
+ #ifndef RTC_BASE_SOCKETSTREAM_H_
+ #define RTC_BASE_SOCKETSTREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslidentity_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+@@ -8,17 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
++#include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stringutils.h"
++#include "test/gtest.h"
+
+ using rtc::SSLIdentity;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslstreamadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+@@ -11,12 +11,16 @@
+ #ifndef RTC_BASE_SSLSTREAMADAPTER_H_
+ #define RTC_BASE_SSLSTREAMADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/stream.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/string_to_number_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+@@ -10,11 +10,11 @@
+
+ #include "rtc_base/string_to_number.h"
+
++#include <stdint.h>
+ #include <limits>
+ #include <string>
+-#include <type_traits>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringencode_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+@@ -9,12 +9,12 @@
+ */
+
+ #include "rtc_base/stringencode.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
+
++#include <string.h>
+ #include <sstream> // no-presubmit-check TODO(webrtc:8982)
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ class HexEncodeTest : public testing::Test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/json_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include <vector>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+@@ -10,8 +10,9 @@
+
+ #include "rtc_base/strings/string_builder.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/stringutils.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+@@ -11,7 +11,7 @@
+ #ifndef RTC_BASE_SWAP_QUEUE_H_
+ #define RTC_BASE_SWAP_QUEUE_H_
+
+-#include <algorithm>
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +19,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/system/unused.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/swap_queue.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_TASK_QUEUE_H_
+ #define RTC_BASE_TASK_QUEUE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <type_traits>
+ #include <utility>
+@@ -233,6 +234,7 @@ class RTC_LOCKABLE RTC_EXPORT TaskQueue
+
+ private:
+ class Impl;
++
+ const scoped_refptr<Impl> impl_;
+
+ RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue);
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_for_test.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+@@ -11,11 +11,11 @@
+ #ifndef RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+ #define RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+
+-#include <utility>
+-
+ #include "rtc_base/checks.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace rtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+@@ -15,14 +15,18 @@
+ // clang-format on
+ #endif
+
++#include <stdint.h>
+ #include <memory>
++#include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/bind.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/task_queue.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using rtc::test::TaskQueueForTest;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/testclient.h"
+
++#include <string.h>
++#include <utility>
++
+ #include "absl/memory/memory.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+@@ -9,12 +9,19 @@
+ */
+
+ #include "rtc_base/testclient.h"
++
++#include <utility>
++
+ #include "absl/memory/memory.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testechoserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/testechoserver.h"
+
++#include "rtc_base/socketserver.h"
++
+ namespace rtc {
+
+ TestEchoServer::TestEchoServer(Thread* thread, const SocketAddress& addr)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+@@ -11,12 +11,18 @@
+ #ifndef RTC_BASE_TESTECHOSERVER_H_
+ #define RTC_BASE_TESTECHOSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <algorithm>
+ #include <list>
+ #include <memory>
+
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+@@ -13,13 +13,12 @@
+
+ // Utilities for testing rtc infrastructure in unittests
+
+-#include <algorithm>
+ #include <map>
+-#include <memory>
+-#include <vector>
++#include <utility>
++
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/thread_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+@@ -11,10 +11,12 @@
+ // Borrowed from Chromium's src/base/threading/thread_checker_unittest.cc.
+
+ #include <memory>
++#include <utility>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/nullsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+@@ -9,13 +9,13 @@
+ */
+
+ #include <math.h>
+-
+ #include <algorithm>
+ #include <limits>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timestampaligner.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timeutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+@@ -9,11 +9,17 @@
+ */
+
+ #include "rtc_base/timeutils.h"
++
++#include <memory>
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/unittest_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+@@ -15,13 +15,13 @@
+ #endif
+
+ #include "rtc_base/flags.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslstreamadapter.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32socketinit.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+@@ -9,23 +9,39 @@
+ */
+
+ #include <math.h>
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <time.h>
+ #if defined(WEBRTC_POSIX)
+ #include <netinet/in.h>
+ #endif
+
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/weak_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/zero_memory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #include "rtc_base/zero_memory.h"
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+-#include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+@@ -67,6 +67,7 @@ rtc_static_library("video_file_reader")
+ deps = [
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -124,6 +125,7 @@ rtc_executable("frame_analyzer") {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../rtc_base:ptr_util",
+ "../rtc_base:stringutils",
+ "../test:perf_test",
+ ]
+@@ -154,6 +156,8 @@ if (!build_with_chromium) {
+ ":command_line_parser",
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -166,6 +170,8 @@ if (!build_with_chromium) {
+ deps = [
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -295,7 +301,11 @@ if (rtc_include_tests) {
+ defines = [ "ENABLE_RTC_EVENT_LOG" ]
+ deps = [
+ ":event_log_visualizer_utils",
++ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_parser",
++ "../modules/audio_coding:neteq",
++ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -366,6 +376,9 @@ if (rtc_include_tests) {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../:webrtc_common",
++ "../api/video:video_frame",
++ "../api/video:video_frame_i420",
+ "../common_video:common_video",
+ "../rtc_base",
+ "../rtc_base:checks",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+@@ -1,9 +1,11 @@
+ include_rules = [
+ "+call",
++ "+common_audio",
+ "+common_video",
+ "+logging/rtc_event_log",
+ "+modules/audio_device",
+ "+modules/audio_coding/audio_network_adaptor",
++ "+modules/audio_coding/neteq/include",
+ "+modules/audio_coding/neteq/tools",
+ "+modules/audio_processing",
+ "+modules/bitrate_controller",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/agc/activity_metric.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
++#include <assert.h>
++#include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <algorithm>
++#include <string.h>
++#include <iostream>
+ #include <memory>
+
+ #include "api/audio/audio_frame.h"
+-#include "modules/audio_processing/agc/agc.h"
+ #include "modules/audio_processing/agc/loudness_histogram.h"
+-#include "modules/audio_processing/agc/utility.h"
+ #include "modules/audio_processing/vad/common.h"
+ #include "modules/audio_processing/vad/pitch_based_vad.h"
+ #include "modules/audio_processing/vad/standalone_vad.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+@@ -7,14 +7,15 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include "rtc_tools/converter/converter.h"
++
+ #include <stdio.h>
+-#include <stdlib.h>
+ #include <sys/stat.h>
+-
+ #include <iomanip>
+ #include <sstream>
+
+-#include "rtc_tools/converter/converter.h"
++#include "third_party/libyuv/include/libyuv/compare.h"
++#include "third_party/libyuv/include/libyuv/convert.h"
+
+ #ifdef WIN32
+ #define SEPARATOR '\\'
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+@@ -11,11 +11,9 @@
+ #ifndef RTC_TOOLS_CONVERTER_CONVERTER_H_
+ #define RTC_TOOLS_CONVERTER_CONVERTER_H_
+
++#include <stdio.h>
+ #include <string>
+
+-#include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+@@ -10,10 +10,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_tools/converter/converter.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+@@ -8,9 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <iostream>
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
++#include "modules/audio_coding/neteq/include/neteq.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/event_log_visualizer/analyzer.h"
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+@@ -11,7 +11,6 @@
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+
+ #include <algorithm>
+-#include <limits>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+@@ -10,7 +10,10 @@
+
+ #include "rtc_tools/event_log_visualizer/plot_protobuf.h"
+
++#include <stddef.h>
++#include <iostream>
+ #include <memory>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+@@ -11,8 +11,9 @@
+ #include "rtc_tools/event_log_visualizer/plot_python.h"
+
+ #include <stdio.h>
+-
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+@@ -10,11 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/stringutils.h"
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+@@ -10,7 +10,12 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <math.h>
++#include <cstdint>
++#include <cstdlib>
++#include <functional>
+ #include <numeric>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+
++#include <stdint.h>
+ #include <valarray>
+ #include <vector>
++
+ #include "absl/types/optional.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <cstdint>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <iostream>
+ #include <numeric>
+ #include <vector>
+
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+@@ -11,9 +11,11 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ // Returns true if the frame is frozen based on psnr and ssim freezing
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+@@ -7,13 +7,11 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
+-#include <string.h>
+-#include <cstring>
+-#include <iostream>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
++#include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+@@ -10,20 +10,17 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <cmath>
+-#include <deque>
+-#include <limits>
++#include <cstdint>
+ #include <vector>
+
+ #include "api/array_view.h"
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+-#include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+@@ -13,6 +13,8 @@
+
+ #include <array>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stdint.h>
++
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <vector>
+
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+@@ -11,12 +11,13 @@
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+ #include <algorithm>
+-#include <numeric>
++#include <array>
++#include <cstddef>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "test/testsupport/perf_test.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+@@ -11,11 +11,12 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+
++#include <stdio.h>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+@@ -12,6 +12,7 @@
+ // to stdout by void functions, but it's still useful as it executes the code.
+
+ #include <stdio.h>
++#include <cstddef>
+ #include <fstream>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+@@ -12,15 +12,16 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <deque>
++#include <iterator>
+ #include <limits>
+ #include <vector>
+
+ #include "api/video/i420_buffer.h"
+-#include "rtc_base/checks.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+
++#include <stddef.h>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/video_temporal_aligner.h"
+
++#include <cstddef>
++
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_tools/frame_editing/frame_editing_lib.h"
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <string>
+
++#include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+
+ // A command-line tool to edit a YUV-video (I420 sub-sampled).
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+@@ -9,11 +9,11 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+@@ -9,11 +9,12 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <string.h>
+ #include <fstream>
+ #include <memory>
++#include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+@@ -48,6 +48,7 @@ if (rtc_enable_protobuf) {
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_task_queue",
+ "../../rtc_base:sequenced_task_checker",
++ "../../rtc_base/third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+@@ -9,8 +9,9 @@
+ */
+ #include "rtc_tools/network_tester/config_reader.h"
+
++#include <fstream>
++#include <iterator>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #ifdef WEBRTC_NETWORK_TESTER_TEST_ENABLED
+
+-#include "rtc_tools/network_tester/test_controller.h"
++#include <string>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_tools/network_tester/test_controller.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+@@ -11,9 +11,11 @@
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #include <algorithm>
++#include <memory>
+ #include <string>
+ #include <utility>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_tools/network_tester/config_reader.h"
+ #include "rtc_tools/network_tester/test_controller.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_tools/network_tester/test_controller.h"
+
++#include <limits>
++
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+@@ -11,22 +11,30 @@
+ #ifndef RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+ #define RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <array>
+-#include <limits>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
++#include "absl/types/optional.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/ignore_wundef.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_tools/network_tester/packet_logger.h"
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #ifdef WEBRTC_NETWORK_TESTER_PROTO
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "rtc_tools/network_tester/network_tester_packet.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+ using webrtc::network_tester::packet::NetworkTesterPacket;
+ #else
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+@@ -10,9 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++#include <algorithm>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "rtc_tools/video_file_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_tools/simple_command_line_parser.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+@@ -13,10 +13,14 @@
+ // The debug files are dumped as protobuf blobs. For analysis, it's necessary
+ // to unpack the file into its component parts: audio and other data.
+
++#include <inttypes.h>
++#include <stdint.h>
+ #include <stdio.h>
+-
++#include <stdlib.h>
+ #include <memory>
++#include <string>
+
++#include "common_audio/wav_file.h"
+ #include "modules/audio_processing/test/protobuf_utils.h"
+ #include "modules/audio_processing/test/test_utils.h"
+ #include "rtc_base/flags.h"
+@@ -26,6 +30,7 @@
+
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "modules/audio_processing/debug.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+
+ // TODO(andrew): unpack more of the data.
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+@@ -10,14 +10,13 @@
+
+ #include "rtc_tools/video_file_reader.h"
+
+-#include <algorithm>
+-#include <cmath>
+ #include <cstdio>
+ #include <string>
+-#include <utility>
++#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/string_to_number.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+@@ -10,13 +10,14 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_READER_H_
+ #define RTC_TOOLS_VIDEO_FILE_READER_H_
+
++#include <stddef.h>
+ #include <cstdio>
+ #include <iterator>
+ #include <string>
+-#include <vector>
+
+-#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "rtc_tools/video_file_reader.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+@@ -10,11 +10,12 @@
+
+ #include "rtc_tools/video_file_writer.h"
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/stringutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+@@ -10,10 +10,9 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_WRITER_H_
+ #define RTC_TOOLS_VIDEO_FILE_WRITER_H_
+
+-#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcountedobject.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "rtc_tools/video_file_writer.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+@@ -25,6 +25,7 @@ rtc_static_library("rtc_stats") {
+
+ deps = [
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -40,6 +41,7 @@ rtc_source_set("rtc_stats_test_utils") {
+ deps = [
+ ":rtc_stats",
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base/system:rtc_export",
+ ]
+ }
+@@ -61,6 +63,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_main",
+ "../rtc_base:rtc_json",
++ "../test:test_support",
+ ]
+
+ if (is_android) {
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_objects.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+@@ -10,6 +10,10 @@
+
+ #include "api/stats/rtcstats_objects.h"
+
++#include <utility>
++
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ const char* const RTCDataChannelState::kConnecting = "connecting";
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+@@ -11,12 +11,14 @@
+ #include "api/stats/rtcstats.h"
+
+ #include <cmath>
++#include <cstdint>
+ #include <cstring>
++#include <iostream>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/strings/json.h"
+ #include "stats/test/rtcteststats.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+@@ -11,6 +11,10 @@
+ #include "api/stats/rtcstatsreport.h"
+
+ #include <sstream>
++#include <type_traits>
++#include <utility>
++
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include "api/stats/rtcstats.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+@@ -10,6 +10,8 @@
+
+ #include "stats/test/rtcteststats.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ WEBRTC_RTCSTATS_IMPL(RTCTestStats,
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.h
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+@@ -11,6 +11,7 @@
+ #ifndef STATS_TEST_RTCTESTSTATS_H_
+ #define STATS_TEST_RTCTESTSTATS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+@@ -174,6 +174,7 @@ if (rtc_include_tests) {
+ ":metrics",
+ ":system_wrappers",
+ "..:webrtc_common",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../test:test_main",
+ "../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/include/metrics.h
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+@@ -11,6 +11,7 @@
+ #ifndef SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+ #define SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+@@ -8,6 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
++
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/random.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+@@ -219,11 +219,12 @@ if (rtc_include_tests) {
+ ":field_trial",
+ ":perf_test",
+ ":test_support",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../system_wrappers:field_trial",
+ "../system_wrappers:metrics",
+ "//testing/gtest",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+
+ # TODO(bugs.webrtc.org/9792): This is needed for downstream projects on
+ # Android, where it's replaced by an internal version of fileutils that
+@@ -339,6 +340,7 @@ if (rtc_include_tests) {
+ "../api:simulcast_test_fixture_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../modules/rtp_rtcp:rtp_rtcp",
+ "../modules/video_capture",
+@@ -607,10 +609,14 @@ rtc_source_set("fake_video_codecs") {
+ deps = [
+ "..:webrtc_common",
+ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:create_vp8_temporal_layers",
+ "../api/video_codecs:video_codecs_api",
+ "../common_video:common_video",
++ "../modules:module_api",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+@@ -621,6 +627,7 @@ rtc_source_set("fake_video_codecs") {
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -668,6 +675,7 @@ rtc_source_set("test_common") {
+ ":rtp_test_utils",
+ ":test_support",
+ ":video_test_common",
++ "../:webrtc_common",
+ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+@@ -682,6 +690,7 @@ rtc_source_set("test_common") {
+ "../call",
+ "../call:call_interfaces",
+ "../call:fake_network",
++ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:simulated_network",
+ "../call:simulated_packet_receiver",
+@@ -699,6 +708,8 @@ rtc_source_set("test_common") {
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../modules/rtp_rtcp:rtp_video_header",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+ "../modules/video_coding:webrtc_multiplex",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+@@ -11,9 +11,14 @@
+ #include "test/configurable_frame_size_encoder.h"
+
+ #include <string.h>
++#include <cstdint>
++#include <type_traits>
++#include <utility>
+
+ #include "api/video/encoded_image.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+@@ -11,10 +11,19 @@
+ #ifndef TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+ #define TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <functional>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/direct_transport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "test/direct_transport.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/drifting_clock.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+@@ -10,7 +10,10 @@
+ #ifndef TEST_DRIFTING_CLOCK_H_
+ #define TEST_DRIFTING_CLOCK_H_
+
++#include <stdint.h>
++
+ #include "system_wrappers/include/clock.h"
++#include "system_wrappers/include/ntp_time.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+@@ -12,7 +12,11 @@
+ #include <algorithm>
+ #include <string>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "call/rtp_config.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+@@ -10,10 +10,14 @@
+ #ifndef TEST_ENCODER_SETTINGS_H_
+ #define TEST_ENCODER_SETTINGS_H_
+
++#include <stddef.h>
++#include <string>
+ #include <vector>
+
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/video_receive_stream.h"
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_decoder.h"
+
++#include <string.h>
++
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+@@ -11,10 +11,12 @@
+ #ifndef TEST_FAKE_DECODER_H_
+ #define TEST_FAKE_DECODER_H_
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+@@ -11,12 +11,16 @@
+ #include "test/fake_encoder.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
++#include <string>
+
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "api/video/video_content_type.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/sleep.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+@@ -11,13 +11,23 @@
+ #ifndef TEST_FAKE_ENCODER_H_
+ #define TEST_FAKE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_texture_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/fake_texture_frame.h"
+
++#include "api/video/i420_buffer.h"
++#include "rtc_base/refcountedobject.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_vp8_decoder.h"
+
++#include <stddef.h>
++
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+@@ -11,8 +11,12 @@
+ #ifndef TEST_FAKE_VP8_DECODER_H_
+ #define TEST_FAKE_VP8_DECODER_H_
+
++#include <stdint.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+@@ -10,15 +10,16 @@
+
+ #include "test/fake_vp8_encoder.h"
+
++#include <algorithm>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/random.h"
+-#include "rtc_base/timeutils.h"
+
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+@@ -11,14 +11,22 @@
+ #ifndef TEST_FAKE_VP8_ENCODER_H_
+ #define TEST_FAKE_VP8_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+-#include "test/fake_encoder.h"
+-
+-#include "rtc_base/criticalsection.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
++#include "test/fake_encoder.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+@@ -9,19 +9,23 @@
+ */
+ #include "test/frame_generator.h"
+
+-#include <math.h>
+-#include <stdio.h>
+ #include <string.h>
+-
++#include <cstdint>
++#include <cstdio>
+ #include <memory>
+
+ #include "api/video/i010_buffer.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/random.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/frame_utils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+@@ -10,11 +10,14 @@
+
+ #include "test/frame_generator_capturer.h"
+
++#include <algorithm>
++#include <cmath>
++#include <limits>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_generator.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+@@ -12,6 +12,7 @@
+
+ #include <string.h>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+@@ -17,6 +17,10 @@
+ #include <GL/gl.h>
+ #endif
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/video/video_frame.h"
+ #include "test/video_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+@@ -8,12 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
++#include "api/rtp_headers.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_format.h"
+ #include "modules/rtp_rtcp/source/rtp_utility.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "test/layer_filtering_transport.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+@@ -10,9 +10,13 @@
+ #ifndef TEST_LAYER_FILTERING_TRANSPORT_H_
+ #define TEST_LAYER_FILTERING_TRANSPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
++#include <memory>
+
+-#include "api/test/simulated_network.h"
++#include "api/call/transport.h"
++#include "api/mediatypes.h"
+ #include "call/call.h"
+ #include "call/simulated_packet_receiver.h"
+ #include "test/direct_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+@@ -10,14 +10,11 @@
+
+ #include "test/linux/glx_renderer.h"
+
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
+ #include <assert.h>
+ #include <stdlib.h>
+
+-#include <X11/Xatom.h>
+-#include <X11/Xlib.h>
+-
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+@@ -12,8 +12,11 @@
+ #define TEST_LINUX_GLX_RENDERER_H_
+
+ #include <GL/glx.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stddef.h>
+
++#include "api/video/video_frame.h"
+ #include "test/gl/gl_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/video_renderer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+@@ -7,9 +7,10 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include "test/video_renderer.h"
++#include <stddef.h>
+
+ #include "test/linux/glx_renderer.h"
++#include "test/video_renderer.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "test/rtcp_packet_parser.h"
++
++#include "modules/rtp_rtcp/source/rtcp_packet/psfb.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/rtpfb.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+@@ -12,6 +12,9 @@
+ #ifndef TEST_RTCP_PACKET_PARSER_H_
+ #define TEST_RTCP_PACKET_PARSER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/array_view.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/app.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+@@ -10,8 +10,8 @@
+
+ #include "test/rtp_file_writer.h"
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+@@ -8,8 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/run_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+@@ -10,8 +10,6 @@
+
+ #include "test/run_test.h"
+
+-#include <stdio.h>
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+@@ -37,12 +37,15 @@ if (rtc_include_tests) {
+ "../:test_common",
+ "../:test_support",
+ "../:video_test_common",
++ "../../:webrtc_common",
+ "../../api:libjingle_peerconnection_api",
+ "../../api:transport_api",
+ "../../api/audio_codecs:builtin_audio_decoder_factory",
+ "../../api/audio_codecs:builtin_audio_encoder_factory",
+ "../../api/test/video:function_video_factory",
++ "../../api/transport:network_control",
+ "../../api/units:data_rate",
++ "../../api/units:data_size",
+ "../../api/units:time_delta",
+ "../../api/units:timestamp",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/scenario_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+@@ -10,15 +10,15 @@
+ #ifndef TEST_SCENARIO_SCENARIO_CONFIG_H_
+ #define TEST_SCENARIO_SCENARIO_CONFIG_H_
+
+-#include <memory>
++#include <stddef.h>
+ #include <string>
+-#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtpparameters.h"
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
+ #include "api/units/time_delta.h"
+-#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/frame_generator.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+@@ -9,9 +9,14 @@
+ */
+ #include "test/scenario/simulated_time.h"
+
++#include <inttypes.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
++#include <utility>
+
+-#include "rtc_base/format_macros.h"
++#include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+@@ -10,16 +10,22 @@
+ #ifndef TEST_SCENARIO_SIMULATED_TIME_H_
+ #define TEST_SCENARIO_SIMULATED_TIME_H_
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <deque>
+ #include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "test/scenario/call_client.h"
+-#include "test/scenario/column_printer.h"
+ #include "test/scenario/network_node.h"
+ #include "test/scenario/scenario_config.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/statistics.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+@@ -10,8 +10,8 @@
+ #include "test/statistics.h"
+
+ #include <math.h>
+-
+ #include <algorithm>
++#include <limits>
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_main_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+@@ -14,6 +14,7 @@
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_video_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+@@ -10,7 +10,10 @@
+
+ #include "test/test_video_capturer.h"
+
+-#include "rtc_base/constructormagic.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+@@ -26,12 +26,11 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+ #include <dirent.h>
+-#include <unistd.h>
+
+ #define GET_CURRENT_DIR getcwd
+ #endif
+@@ -43,9 +42,8 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+ #if defined(WEBRTC_IOS)
+@@ -56,7 +54,6 @@
+ #include "test/testsupport/macfileutils.h"
+ #endif
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/testsupport/fileutils_override.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/testsupport/fileutils_override.h"
+
++#include <limits.h>
++#include <stdio.h>
++
+ #if defined(WEBRTC_WIN)
+ #include <direct.h>
+ #include <tchar.h>
+@@ -20,12 +23,12 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+-#include <dirent.h>
+ #include <unistd.h>
++
+ #define GET_CURRENT_DIR getcwd
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+@@ -8,7 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+ #include <string>
+
+ #ifndef TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+@@ -11,10 +11,8 @@
+ #include "test/testsupport/fileutils.h"
+
+ #include <stdio.h>
+-
++#include <algorithm>
+ #include <fstream>
+-#include <iostream>
+-#include <list>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/perf_test_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "test/testsupport/perf_test.h"
+
++#include <algorithm>
+ #include <limits>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+@@ -11,8 +11,8 @@
+ #ifndef TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+ #define TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+
++#include <stdint.h>
+ #include <stdlib.h>
+-
+ #include <string>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+@@ -11,12 +11,10 @@
+ #include "test/testsupport/test_artifacts.h"
+
+ #include <string.h>
+-
+ #include <string>
+
+ #include "rtc_base/file.h"
+ #include "rtc_base/flags.h"
+-#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_base/checks.h"
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "test/testsupport/frame_writer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "test/testsupport/frame_reader.h"
++#include <stdio.h>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_reader.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+@@ -8,10 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+ #include "test/testsupport/frame_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+@@ -8,6 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/vcm_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+@@ -10,9 +10,15 @@
+
+ #include "test/vcm_capturer.h"
+
+-#include "call/video_send_stream.h"
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/video_capture_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+@@ -53,9 +53,13 @@ rtc_static_library("video") {
+
+ deps = [
+ ":frame_dumping_decoder",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:transport_api",
++ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+@@ -67,6 +71,8 @@ rtc_static_library("video") {
+ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:video_stream_api",
++ "../media:rtc_h264_profile_id",
++ "../modules:module_api_public",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/video_coding:codec_globals_headers",
+@@ -143,6 +149,7 @@ rtc_source_set("frame_dumping_decoder")
+
+ deps = [
+ "../api/video:encoded_frame",
++ "../api/video:encoded_image",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -276,7 +283,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../:webrtc_common",
++ "../api:simulated_network_api",
+ "../api:test_dependency_factory",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_vp9_profile",
+ "../modules/pacing:pacing",
+ "../modules/video_coding:webrtc_vp9",
+@@ -287,6 +298,7 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -304,6 +316,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -314,6 +331,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -329,6 +347,11 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -338,6 +361,8 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_renderer",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from Chrome's Clang plugins.
+@@ -353,6 +378,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -363,6 +393,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -451,8 +482,10 @@ if (rtc_include_tests) {
+ ":video",
+ ":video_mocks",
+ ":video_stream_encoder_impl",
++ "../:webrtc_common",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
+@@ -465,9 +498,11 @@ if (rtc_include_tests) {
+ "../call:fake_network",
+ "../call:mock_bitrate_allocator",
+ "../call:mock_rtp_interfaces",
++ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../call:rtp_sender",
+ "../call:simulated_network",
++ "../call:simulated_packet_receiver",
+ "../call:video_stream_api",
+ "../common_video",
+ "../logging:rtc_event_log_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/call_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+@@ -11,12 +11,11 @@
+ #include "video/call_stats.h"
+
+ #include <algorithm>
++#include <memory>
+
+ #include "modules/utility/include/process_thread.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/location.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/cpu_scaling_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+@@ -8,9 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++#include <vector>
++
++#include "api/rtpparameters.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/frame_generator_capturer.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/config_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+@@ -8,6 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <vector>
++
++#include "api/crypto/cryptooptions.h"
++#include "api/rtp_headers.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "test/call_test.h"
+ #include "test/gtest.h"
+ #include "test/null_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+@@ -8,13 +8,39 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/test/simulated_network.h"
++#include "api/video_codecs/sdp_video_format.h"
+ #include "api/video_codecs/video_encoder_config.h"
++#include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/rtp_config.h"
+ #include "call/simulated_network.h"
++#include "call/simulated_packet_receiver.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/event.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+ #include "test/rtcp_packet_parser.h"
++#include "test/rtp_rtcp_observer.h"
++#include "test/single_threaded_task_queue.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+@@ -8,12 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "logging/rtc_event_log/rtc_event_log.h"
+-#include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <vector>
++
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+-#include "test/encoder_settings.h"
+-#include "test/field_trial.h"
++#include "test/frame_generator_capturer.h"
+ #include "test/gtest.h"
++#include "test/single_threaded_task_queue.h"
+ #include "video/end_to_end_tests/multi_stream_tester.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+@@ -13,6 +13,7 @@
+ #include <utility>
+
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/file.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+@@ -11,9 +11,13 @@
+ #ifndef VIDEO_FRAME_DUMPING_DECODER_H_
+ #define VIDEO_FRAME_DUMPING_DECODER_H_
+
++#include <stdint.h>
+ #include <memory>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/platform_file.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/full_stack_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+@@ -7,12 +7,22 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "api/test/test_dependency_factory.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/vp9_profile.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+-#include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/flags.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/quality_threshold.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+@@ -11,7 +11,6 @@
+ #include "video/quality_threshold.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+@@ -12,12 +12,13 @@
+
+ #include <limits>
+ #include <memory>
+-#include <utility>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/report_block_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+@@ -11,6 +11,7 @@
+ #ifndef VIDEO_REPORT_BLOCK_STATS_H_
+ #define VIDEO_REPORT_BLOCK_STATS_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/rtp_streams_synchronizer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+@@ -10,12 +10,12 @@
+
+ #include "video/rtp_streams_synchronizer.h"
+
++#include "absl/types/optional.h"
+ #include "call/syncable.h"
+-#include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/screenshare_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+@@ -11,11 +11,15 @@
+ #ifndef VIDEO_SEND_DELAY_STATS_H_
+ #define VIDEO_SEND_DELAY_STATS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types_public.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+@@ -10,6 +10,10 @@
+
+ #include "video/send_delay_stats.h"
+
++#include <cstdint>
++#include <vector>
++
++#include "call/rtp_config.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+@@ -11,9 +11,7 @@
+ #include "video/stream_synchronization.h"
+
+ #include <assert.h>
+-#include <math.h>
+ #include <stdlib.h>
+-
+ #include <algorithm>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+@@ -11,7 +11,7 @@
+ #ifndef VIDEO_STREAM_SYNCHRONIZATION_H_
+ #define VIDEO_STREAM_SYNCHRONIZATION_H_
+
+-#include <list>
++#include <stdint.h>
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
+ #include <algorithm>
+
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+ #include "video/stream_synchronization.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/sv_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/transport_adapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+@@ -10,6 +10,8 @@
+ #ifndef VIDEO_TRANSPORT_ADAPTER_H_
+ #define VIDEO_TRANSPORT_ADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <atomic>
+
+ #include "api/call/transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_quality_observer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+@@ -11,9 +11,9 @@
+ #include "video/video_quality_observer.h"
+
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "system_wrappers/include/metrics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+@@ -11,23 +11,29 @@
+ #include "video/video_receive_stream.h"
+
+ #include <stdlib.h>
+-
++#include <string.h>
+ #include <set>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "call/rtx_receive_stream.h"
+-#include "common_video/h264/profile_level_id.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/incoming_video_stream.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
++#include "media/base/h264_profile_level_id.h"
+ #include "modules/utility/include/process_thread.h"
+-#include "modules/video_coding/frame_object.h"
+-#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "modules/video_coding/utility/vp8_header_parser.h"
+@@ -36,6 +42,7 @@
+ #include "rtc_base/logging.h"
+ #include "rtc_base/platform_file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+@@ -11,10 +11,15 @@
+
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "api/video/video_stream_encoder_create.h"
++#include "api/video/video_stream_encoder_settings.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extension_size.h"
+ #include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "video/video_send_stream_impl.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+@@ -9,20 +9,30 @@
+ */
+ #include "video/video_send_stream_impl.h"
+
++#include <stdio.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
++#include "api/crypto/cryptooptions.h"
++#include "api/rtpparameters.h"
++#include "api/video_codecs/video_codec.h"
+ #include "call/rtp_transport_controller_send_interface.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/pacing/paced_sender.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+-#include "rtc_base/file.h"
+-#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_checker.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+@@ -10,15 +10,32 @@
+ #ifndef VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+ #define VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/fec_controller.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_stream_encoder_interface.h"
++#include "api/video_codecs/video_encoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/bitrate_allocator.h"
++#include "call/rtp_config.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/rtp_video_sender_interface.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "modules/include/module_common_types.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/weak_ptr.h"
+ #include "video/call_stats.h"
+ #include "video/encoder_rtcp_feedback.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_stream_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+@@ -10,15 +10,9 @@
+
+ #include "video/video_stream_decoder.h"
+
+-#include <algorithm>
+-#include <map>
+-#include <vector>
+-
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/metrics.h"
+-#include "video/call_stats.h"
+ #include "video/receive_statistics_proxy.h"
+
+ namespace webrtc {
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index 1997af3..6e09024 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,26 +1,22 @@
-From efdd5bdf093e9074c9eba73650ff5ad95b280ec8 Mon Sep 17 00:00:00 2001
+From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
-Date: Sun, 4 Nov 2018 20:26:54 +0530
-Subject: [PATCH] Enable vaapi on Linux
+Date: Thu, 24 Jan 2019 12:45:29 +0530
+Subject: [PATCH] Enable mojo with VDA2 on Linux
---
- chrome/browser/about_flags.cc | 14 +++++++------
- chrome/browser/flag_descriptions.cc | 22 +++++++++++++-------
- chrome/browser/flag_descriptions.h | 16 +++++++++-----
- components/viz/service/main/viz_main_impl.cc | 2 +-
- content/gpu/BUILD.gn | 6 ++++++
- content/gpu/gpu_main.cc | 4 ++--
- gpu/config/software_rendering_list.json | 11 ----------
- media/base/media_switches.cc | 2 +-
- media/filters/BUILD.gn | 3 ++-
- media/gpu/BUILD.gn | 7 +++++++
- 10 files changed, 52 insertions(+), 35 deletions(-)
+ chrome/browser/about_flags.cc | 8 ++++----
+ chrome/browser/flag_descriptions.cc | 9 +++++++--
+ chrome/browser/flag_descriptions.h | 10 ++++++++--
+ gpu/config/software_rendering_list.json | 3 ++-
+ media/media_options.gni | 9 ++++++---
+ media/mojo/services/gpu_mojo_media_client.cc | 4 ++--
+ 6 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index db54ccb61..f32075fb8 100644
+index 0a84c6ac1..be2aa1d8b 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1797,7 +1797,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -29,7 +25,7 @@ index db54ccb61..f32075fb8 100644
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
#if defined(OS_WIN)
-@@ -2456,12 +2456,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
#endif // ENABLE_ISOLATED_XR_SERVICE
#endif // ENABLE_VR
@@ -41,80 +37,42 @@ index db54ccb61..f32075fb8 100644
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS OS_LINUX
++#endif // OS_CHROMEOS // OS_LINUX
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-@@ -4371,12 +4371,14 @@ const FeatureEntry kFeatureEntries[] = {
- "AutofillDropdownLayout")},
- #endif // OS_ANDROID
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- {"enable-vaapi-jpeg-image-decode-acceleration",
- flag_descriptions::kVaapiJpegImageDecodeAccelerationName,
-- flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS,
-+ flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(features::kVaapiJpegImageDecodeAcceleration)},
-+#endif
-
-+#if defined(OS_CHROMEOS)
- {"enable-home-launcher-gestures",
- flag_descriptions::kEnableHomeLauncherGesturesName,
- flag_descriptions::kEnableHomeLauncherGesturesDescription, kOsCrOS,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 6cc51bbfb..3c4babe3d 100644
+index 62637e092..86f89fc6e 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2996,9 +2996,9 @@ const char kTextSuggestionsTouchBarDescription[] =
+@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
#endif
-// Chrome OS -------------------------------------------------------------------
-+// Chrome OS and Linux -------------------------------------------------------------------
++// Chrome OS Linux-------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
const char kAcceleratedMjpegDecodeName[] =
"Hardware-accelerated mjpeg decode for captured frame";
-@@ -3006,6 +3006,18 @@ const char kAcceleratedMjpegDecodeDescription[] =
+ const char kAcceleratedMjpegDecodeDescription[] =
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
-
-+const char kVaapiJpegImageDecodeAccelerationName[] =
-+ "VA-API JPEG decode acceleration for images";
-+const char kVaapiJpegImageDecodeAccelerationDescription[] =
-+ "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-+ " captures) using the VA-API.";
-+
-+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID)
++#endif
+
-+// Only Chrome OS ------------------------------------------------------
++// Chrome OS --------------------------------------------------
+
+#if defined(OS_CHROMEOS)
-+
+
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
const char kAllowTouchpadThreeFingerClickDescription[] =
- "Enables touchpad three-finger-click as middle button.";
-@@ -3524,12 +3536,6 @@ const char kUseMonitorColorSpaceDescription[] =
- "Enables Chrome to use the color space information provided by the monitor"
- " instead of the default sRGB color space.";
-
--const char kVaapiJpegImageDecodeAccelerationName[] =
-- "VA-API JPEG decode acceleration for images";
--const char kVaapiJpegImageDecodeAccelerationDescription[] =
-- "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-- " captures) using the VA-API.";
--
- const char kVideoPlayerChromecastSupportName[] =
- "Experimental Chromecast support for Video Player";
- const char kVideoPlayerChromecastSupportDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 944695782..38d8fe144 100644
+index 5dac660bb..6cc4115da 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -1824,13 +1824,22 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
+@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
#endif // defined(OS_MACOSX)
@@ -122,171 +80,94 @@ index 944695782..38d8fe144 100644
+// Chrome OS and Linux ------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
-+extern const char kVaapiJpegImageDecodeAccelerationName[];
-+extern const char kVaapiJpegImageDecodeAccelerationDescription[];
-+
-+#endif
++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
+
-+// Chrome OS ----------------------------------------------------------------------
++// Chrome OS ------------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
+
extern const char kAllowTouchpadThreeFingerClickName[];
extern const char kAllowTouchpadThreeFingerClickDescription[];
-@@ -2145,9 +2154,6 @@ extern const char kUseMashDescription[];
- extern const char kUseMonitorColorSpaceName[];
- extern const char kUseMonitorColorSpaceDescription[];
-
--extern const char kVaapiJpegImageDecodeAccelerationName[];
--extern const char kVaapiJpegImageDecodeAccelerationDescription[];
--
- extern const char kVideoPlayerChromecastSupportName[];
- extern const char kVideoPlayerChromecastSupportDescription[];
-
-diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc
-index 6f5f55de7..b90db3738 100644
---- a/components/viz/service/main/viz_main_impl.cc
-+++ b/components/viz/service/main/viz_main_impl.cc
-@@ -41,7 +41,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() {
- // It should be possible to use |main_task_runner_| for doing IO tasks.
- base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0);
- thread_options.priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // TODO(reveman): Remove this in favor of setting it explicitly for each
- // type of process.
- thread_options.priority = base::ThreadPriority::DISPLAY;
-diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn
-index 8974e441d..d7eba85a9 100644
---- a/content/gpu/BUILD.gn
-+++ b/content/gpu/BUILD.gn
-@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni")
- import("//build/config/ui.gni")
- import("//gpu/vulkan/features.gni")
- import("//media/media_options.gni")
-+import("//media/gpu/args.gni")
- import("//ui/ozone/ozone.gni")
-
- # See //content/BUILD.gn for how this works.
-@@ -134,4 +135,9 @@ target(link_target_type, "gpu_sources") {
- (!is_chromecast || is_cast_desktop_build)) {
- configs += [ "//build/config/linux/dri" ]
- }
-+
-+ # Use vaapi on desktop Linux builds when use_vaapi is set
-+ if (is_desktop_linux && use_vaapi) {
-+ public_configs = [ "//media/gpu:libva_config" ]
-+ }
- }
-diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
-index 8397889b6..188d960a4 100644
---- a/content/gpu/gpu_main.cc
-+++ b/content/gpu/gpu_main.cc
-@@ -284,7 +284,7 @@ int GpuMain(const MainFunctionParams& parameters) {
-
- base::PlatformThread::SetName("CrGpuMain");
-
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // Set thread priority before sandbox initialization.
- base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
- #endif
-@@ -317,7 +317,7 @@ int GpuMain(const MainFunctionParams& parameters) {
- GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
-
- base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- io_thread_priority = base::ThreadPriority::DISPLAY;
- #endif
-
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index cb6118b6a..7b8ea0f75 100644
+index 65f37b3f1..ae8a1718f 100644
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
-@@ -369,17 +369,6 @@
- "all"
- ]
+@@ -371,11 +371,12 @@
},
-- {
-- "id": 48,
-- "description": "Accelerated video decode is unavailable on Linux",
-- "cr_bugs": [137247],
-- "os": {
-- "type": "linux"
-- },
-- "features": [
-- "accelerated_video_decode"
-- ]
-- },
{
- "id": 50,
- "description": "Disable VMware software renderer on older Mesa",
-diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
-index 41bfa9172..30ca4f40a 100644
---- a/media/base/media_switches.cc
-+++ b/media/base/media_switches.cc
-@@ -495,7 +495,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() {
- switches::kUseFakeJpegDecodeAccelerator)) {
- return true;
- }
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- return true;
- #endif
- return false;
-diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn
-index d558b537a..9ad090e07 100644
---- a/media/filters/BUILD.gn
-+++ b/media/filters/BUILD.gn
+ "id": 48,
+- "description": "Accelerated video decode is unavailable on Linux",
++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
+ "cr_bugs": [137247],
+ "os": {
+ "type": "linux"
+ },
++ "vendor_id": "0x10de",
+ "features": [
+ "accelerated_video_decode"
+ ]
+diff --git a/media/media_options.gni b/media/media_options.gni
+index 46eaa5818..6e338f651 100644
+--- a/media/media_options.gni
++++ b/media/media_options.gni
@@ -5,6 +5,7 @@
- import("//build/config/jumbo.gni")
- import("//media/media_options.gni")
- import("//third_party/libaom/options.gni")
+ import("//build/config/chrome_build.gni")
+ import("//build/config/chromecast_build.gni")
+ import("//build/config/features.gni")
+import("//media/gpu/args.gni")
-
- jumbo_source_set("filters") {
- # Do not expand the visibility here without double-checking with OWNERS, this
-@@ -200,7 +201,7 @@ jumbo_source_set("filters") {
- deps += [ "//media/base/android" ]
- }
-
-- if (current_cpu != "arm" && is_linux) {
-+ if (use_vaapi && is_linux) {
- sources += [
- "h264_bitstream_buffer.cc",
- "h264_bitstream_buffer.h",
-diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
-index 07bfdefda..7e33cd747 100644
---- a/media/gpu/BUILD.gn
-+++ b/media/gpu/BUILD.gn
-@@ -508,6 +508,12 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) {
- }
- }
-
-+import("//build/config/linux/pkg_config.gni")
-+
-+pkg_config("libva_config") {
-+ packages = [ "libva" ]
-+}
-+
- if (use_vaapi) {
- test("jpeg_encode_accelerator_unittest") {
- deps = [
-@@ -578,6 +584,7 @@ if (is_chromeos || is_linux) {
- if (use_ozone) {
- deps += [ "//ui/ozone" ]
+ import("//testing/libfuzzer/fuzzer_test.gni")
+
+ # Do not expand this list without double-checking with OWNERS, this is a list of
+@@ -129,8 +130,9 @@ declare_args() {
+ # |mojo_media_services|). When enabled, selected mojo paths will be enabled in
+ # the media pipeline and corresponding services will hosted in the selected
+ # remote process (e.g. "utility" process, see |mojo_media_host|).
+- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
+- is_win || enable_library_cdms
++ enable_mojo_media =
++ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
++ enable_library_cdms || (is_desktop_linux && use_vaapi)
+
+ # Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
+ # testing only and will override the default platform MojoMediaClient, if any.
+@@ -200,7 +202,8 @@ if (enable_mojo_media) {
+ ]
+ _default_mojo_media_host = "gpu"
}
-+ public_configs = [ ":libva_config" ]
+- } else if (is_chromeos || is_mac || is_win) {
++ } else if (is_chromeos || is_mac || is_win ||
++ (is_desktop_linux && use_vaapi)) {
+ _default_mojo_media_services = [ "video_decoder" ]
+ _default_mojo_media_host = "gpu"
}
- }
-
+diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
+index 75f5e611c..09a8fef92 100644
+--- a/media/mojo/services/gpu_mojo_media_client.cc
++++ b/media/mojo/services/gpu_mojo_media_client.cc
+@@ -54,7 +54,7 @@ namespace media {
+ namespace {
+
+ #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_LINUX)
+ gpu::CommandBufferStub* GetCommandBufferStub(
+ base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
+ base::UnguessableToken channel_token,
+@@ -148,7 +148,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::CreateVideoDecoder(
+ android_overlay_factory_cb_, std::move(request_overlay_info_cb),
+ std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
+ std::move(get_stub_cb)));
+-#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
++#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+ std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
+ task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
+ gpu_preferences_, gpu_workarounds_,
--
-2.19.2
+2.20.1
diff --git a/fixvaapiozone.patch b/fixvaapiozone.patch
new file mode 100644
index 0000000..dea5cf4
--- /dev/null
+++ b/fixvaapiozone.patch
@@ -0,0 +1,33 @@
+From 0fba13c7fb502568c38de99ba41719c7b4e4fd9d Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov(a)igalia.com>
+Date: Tue, 15 Jan 2019 10:23:13 +0200
+Subject: [PATCH] [ozone/wayland]: fix vaapi build.
+
+This is a fix to fix vaapi build with ozone wayland. It's not
+tested, but requested by external.
+
+Issue: https://github.com/Igalia/chromium/issues/511
+Change-Id: Id3cf0702e9ea6c93fef0f99c23029ab2b1b291d2
+---
+ media/gpu/vaapi/BUILD.gn | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
+index cf471b7feb856..1c66745954048 100644
+--- a/media/gpu/vaapi/BUILD.gn
++++ b/media/gpu/vaapi/BUILD.gn
+@@ -88,12 +88,12 @@ source_set("vaapi") {
+ ]
+ }
+
+- if (ozone_platform_gbm || use_egl) {
++ if (ozone_platform_wayland || ozone_platform_gbm || use_egl) {
+ sources += [
+ "vaapi_picture_native_pixmap.cc",
+ "vaapi_picture_native_pixmap.h",
+ ]
+- if (ozone_platform_gbm) {
++ if (ozone_platform_gbm || ozone_platform_wayland) {
+ sources += [
+ "vaapi_picture_native_pixmap_ozone.cc",
+ "vaapi_picture_native_pixmap_ozone.h",
diff --git a/gn-gold.patch b/gn-gold.patch
new file mode 100644
index 0000000..9b010bd
--- /dev/null
+++ b/gn-gold.patch
@@ -0,0 +1,24 @@
+From 5f5d6cf6508f4d6ad98c24d73f38755a07ec8da4 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Tue, 5 Feb 2019 14:46:38 +0530
+Subject: [PATCH] Use gold in gn bootstrap
+
+---
+ tools/gn/build/gen.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/gn/build/gen.py b/tools/gn/build/gen.py
+index ee4f8e146..3d866df2e 100755
+--- a/tools/gn/build/gen.py
++++ b/tools/gn/build/gen.py
+@@ -317,6 +317,7 @@ def WriteGNNinja(path, platform, host, options):
+ ldflags.extend([
+ '-static-libstdc++',
+ '-Wl,--as-needed',
++ '-fuse-ld=gold',
+ ])
+ libs.extend([
+ # These are needed by libc++.
+--
+2.20.1
+
diff --git a/nounrar.patch b/nounrar.patch
index d4e680c..698c7e9 100644
--- a/nounrar.patch
+++ b/nounrar.patch
@@ -1,119 +1,78 @@
-From 136a79606fb83485e6c10257bb2e970d306c6f5f Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <biswasab(a)akarshans-desk.biswasab.org>
-Date: Thu, 6 Dec 2018 12:53:47 +0530
-Subject: [PATCH] Don't use unrar
-
----
- .../check_client_download_request.cc | 69 -------------------
- .../check_client_download_request.h | 1 -
- chrome/common/safe_browsing/BUILD.gn | 2 -
- chrome/services/file_util/public/cpp/BUILD.gn | 3 -
- .../public/mojom/safe_archive_analyzer.mojom | 5 --
- .../file_util/safe_archive_analyzer.cc | 9 ---
- .../file_util/safe_archive_analyzer.h | 2 -
- 7 files changed, 91 deletions(-)
-
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-index d1413bb1d..ec337e92c 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-@@ -380,10 +380,6 @@ void CheckClientDownloadRequest::AnalyzeFile() {
- // are enabled.
- if (item_->GetTargetFilePath().MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
+diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+index af72d11371e1..472cb0098d5e 100644
+--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
++++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+@@ -22,7 +22,6 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h"
+ #include "chrome/browser/safe_browsing/ui_manager.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/download/public/common/download_item.h"
+ #include "components/history/core/browser/history_service.h"
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+index f46d4ed23669..05b9a5c5071a 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+@@ -94,8 +94,6 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
+
+ if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
StartExtractZipFeatures();
-- } else if (item_->GetTargetFilePath().MatchesExtension(
-- FILE_PATH_LITERAL(".rar")) &&
-- base::FeatureList::IsEnabled(kInspectDownloadedRarFiles)) {
+- } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".rar"))) {
- StartExtractRarFeatures();
#if defined(OS_MACOSX)
- } else if (item_->GetTargetFilePath().MatchesExtension(
- FILE_PATH_LITERAL(".dmg")) ||
-@@ -500,71 +496,6 @@ void CheckClientDownloadRequest::ExtractFileFeatures(
- OnFileFeatureExtractionDone();
+ } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".dmg")) ||
+ target_path_.MatchesExtension(FILE_PATH_LITERAL(".img")) ||
+@@ -211,6 +209,7 @@ void FileAnalyzer::OnZipAnalysisFinished(
+ std::move(callback_).Run(std::move(results_));
}
--void CheckClientDownloadRequest::StartExtractRarFeatures() {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- DCHECK(item_); // Called directly from Start(), item should still exist.
-- rar_analysis_start_time_ = base::TimeTicks::Now();
-- // We give the rar analyzer a weak pointer to this object. Since the
-- // analyzer is refcounted, it might outlive the request.
-- rar_analyzer_ = new SandboxedRarAnalyzer(
-- item_->GetFullPath(),
-- base::BindRepeating(&CheckClientDownloadRequest::OnRarAnalysisFinished,
-- weakptr_factory_.GetWeakPtr()),
-- content::ServiceManagerConnection::GetForProcess()->GetConnector());
-- rar_analyzer_->Start();
--}
--
--void CheckClientDownloadRequest::OnRarAnalysisFinished(
-- const ArchiveAnalyzerResults& results) {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- if (item_ == nullptr) {
-- PostFinishTask(DownloadCheckResult::UNKNOWN, REASON_REQUEST_CANCELED);
-- return;
-- }
-- if (!service_)
-- return;
--
-- archive_is_valid_ =
-- (results.success ? ArchiveValid::VALID : ArchiveValid::INVALID);
-- archived_executable_ = results.has_executable;
-- CopyArchivedBinaries(results.archived_binary, &archived_binaries_);
-- DVLOG(1) << "Rar analysis finished for " << item_->GetFullPath().value()
-- << ", has_executable=" << results.has_executable
-- << ", has_archive=" << results.has_archive
-- << ", success=" << results.success;
--
-- if (archived_executable_) {
-- UMA_HISTOGRAM_COUNTS_100("SBClientDownload.RarFileArchivedBinariesCount",
-- results.archived_binary.size());
-- }
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileSuccess", results.success);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasExecutable",
-- archived_executable_);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasArchiveButNoExecutable",
-- results.has_archive && !archived_executable_);
-- UMA_HISTOGRAM_TIMES("SBClientDownload.ExtractRarFeaturesTime",
-- base::TimeTicks::Now() - rar_analysis_start_time_);
-- for (const auto& file_name : results.archived_archive_filenames)
-- RecordArchivedArchiveFileExtensionType(file_name);
--
-- if (!archived_executable_) {
-- if (results.has_archive) {
-- type_ = ClientDownloadRequest::RAR_COMPRESSED_ARCHIVE;
-- } else if (!results.success) {
-- // .rar files that look invalid to Chrome may be successfully unpacked by
-- // other archive tools, so they may be a real threat.
-- type_ = ClientDownloadRequest::INVALID_RAR;
-- } else {
-- // Normal rar w/o EXEs, or invalid rar and not extended-reporting.
-- PostFinishTask(DownloadCheckResult::UNKNOWN,
-- REASON_ARCHIVE_WITHOUT_BINARIES);
-- return;
-- }
-- }
--
-- OnFileFeatureExtractionDone();
--}
--
- void CheckClientDownloadRequest::StartExtractZipFeatures() {
++#if 0
+ void FileAnalyzer::StartExtractRarFeatures() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(item_); // Called directly from Start(), item should still exist.
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-index ae0f6fbe4..b74dde031 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-@@ -148,7 +148,6 @@ class CheckClientDownloadRequest
- scoped_refptr<SafeBrowsingDatabaseManager> database_manager_;
- const bool pingback_enabled_;
- std::unique_ptr<network::SimpleURLLoader> loader_;
-- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+
+@@ -267,6 +266,7 @@ void FileAnalyzer::OnRarAnalysisFinished(
+
+ std::move(callback_).Run(std::move(results_));
+ }
++#endif
+
+ #if defined(OS_MACOSX)
+ // This is called for .DMGs and other files that can be parsed by
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.h b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+index a1f5abf77f5c..6e88eb7954ad 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.h
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+@@ -11,7 +11,6 @@
+ #include "base/memory/weak_ptr.h"
+ #include "build/build_config.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/safe_browsing/proto/csd.pb.h"
+ #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
+@@ -88,9 +87,6 @@ class FileAnalyzer {
+ void StartExtractZipFeatures();
+ void OnZipAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+
+- void StartExtractRarFeatures();
+- void OnRarAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+-
+ #if defined(OS_MACOSX)
+ void StartExtractDmgFeatures();
+ void ExtractFileOrDmgFeatures(bool download_file_has_koly_signature);
+@@ -107,9 +103,6 @@ class FileAnalyzer {
scoped_refptr<SandboxedZipAnalyzer> zip_analyzer_;
- base::TimeTicks rar_analysis_start_time_;
base::TimeTicks zip_analysis_start_time_;
+
+- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+- base::TimeTicks rar_analysis_start_time_;
+-
+ #if defined(OS_MACOSX)
+ scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_;
+ base::TimeTicks dmg_analysis_start_time_;
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
-index f971c742a..33f7c9d31 100644
+index b93eeaeb7e87..7f2f94c6e377 100644
--- a/chrome/common/safe_browsing/BUILD.gn
+++ b/chrome/common/safe_browsing/BUILD.gn
@@ -68,7 +68,6 @@ if (safe_browsing_mode == 1) {
@@ -124,16 +83,39 @@ index f971c742a..33f7c9d31 100644
]
defines = [
-@@ -136,7 +135,6 @@ source_set("safe_browsing") {
+@@ -150,7 +149,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
- ":download_protection_util",
+ ":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
+diff --git a/chrome/common/safe_browsing/DEPS b/chrome/common/safe_browsing/DEPS
+index c191816456b0..49076ee372c0 100644
+--- a/chrome/common/safe_browsing/DEPS
++++ b/chrome/common/safe_browsing/DEPS
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff --git a/chrome/common/safe_browsing/rar_analyzer.cc b/chrome/common/safe_browsing/rar_analyzer.cc
+index 996c0164ef7f..915f7f93d50b 100644
+--- a/chrome/common/safe_browsing/rar_analyzer.cc
++++ b/chrome/common/safe_browsing/rar_analyzer.cc
+@@ -13,7 +13,6 @@
+ #include "chrome/common/safe_browsing/archive_analyzer_results.h"
+ #include "chrome/common/safe_browsing/download_type_util.h"
+ #include "chrome/common/safe_browsing/file_type_policies.h"
+-#include "third_party/unrar/src/unrar_wrapper.h"
+
+ namespace safe_browsing {
+ namespace rar_analyzer {
diff --git a/chrome/services/file_util/public/cpp/BUILD.gn b/chrome/services/file_util/public/cpp/BUILD.gn
-index 158cbfc6d..6d8b0df7c 100644
+index 158cbfc6d157..6d8b0df7c59e 100644
--- a/chrome/services/file_util/public/cpp/BUILD.gn
+++ b/chrome/services/file_util/public/cpp/BUILD.gn
@@ -14,8 +14,6 @@ source_set("cpp") {
@@ -154,7 +136,7 @@ index 158cbfc6d..6d8b0df7c 100644
]
diff --git a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
-index 6983f7b41..15d5aaba3 100644
+index 6983f7b415d4..15d5aaba3657 100644
--- a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
+++ b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
@@ -22,11 +22,6 @@ interface SafeArchiveAnalyzer {
@@ -170,7 +152,7 @@ index 6983f7b41..15d5aaba3 100644
[Native]
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
-index a13b42b19..db49c37b9 100644
+index a13b42b197b3..db49c37b9b49 100644
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@@ -44,12 +44,3 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile(base::File dmg_file,
@@ -187,7 +169,7 @@ index a13b42b19..db49c37b9 100644
- std::move(callback).Run(results);
-}
diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h
-index f21efa6f5..2eda4f378 100644
+index f21efa6f57ba..2eda4f378bcc 100644
--- a/chrome/services/file_util/safe_archive_analyzer.h
+++ b/chrome/services/file_util/safe_archive_analyzer.h
@@ -25,8 +25,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer {
@@ -199,6 +181,3 @@ index f21efa6f5..2eda4f378 100644
const std::unique_ptr<service_manager::ServiceContextRef> service_ref_;
---
-2.19.2
-
diff --git a/sources b/sources
index 2d5eabb..c03e537 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d0f3540a8d6966d7ec04892738060635 chromium-71.0.3578.98.tar.xz
+ac57ccbec0aceee41101ac1255b3c14b chromium-72.0.3626.81.tar.xz
diff --git a/system-gbm.patch b/system-gbm.patch
new file mode 100644
index 0000000..f679143
--- /dev/null
+++ b/system-gbm.patch
@@ -0,0 +1,229 @@
+From 505eaf5774a2d39cd703ba2cb91fb670683c0b8e Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Fri, 28 Dec 2018 13:58:59 +0530
+Subject: [PATCH] TEST:Make gbm_wrapper to be compiled
+
+---
+ ui/ozone/common/linux/gbm_wrapper.cc | 157 +++++++++++++++++++++------
+ 1 file changed, 124 insertions(+), 33 deletions(-)
+
+diff --git a/ui/ozone/common/linux/gbm_wrapper.cc b/ui/ozone/common/linux/gbm_wrapper.cc
+index ba55b0e56..2705f9b1c 100644
+--- a/ui/ozone/common/linux/gbm_wrapper.cc
++++ b/ui/ozone/common/linux/gbm_wrapper.cc
+@@ -4,7 +4,9 @@
+
+ #include "ui/ozone/common/linux/gbm_wrapper.h"
+
++#include <fcntl.h>
+ #include <gbm.h>
++#include <xf86drm.h>
+
+ #include "base/posix/eintr_wrapper.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -15,6 +17,86 @@
+
+ namespace gbm_wrapper {
+
++namespace {
++
++// Temporary defines while we migrate to GBM_BO_IMPORT_FD_MODIFIER.
++#define GBM_BO_IMPORT_FD_PLANAR_5504 0x5504
++#define GBM_BO_IMPORT_FD_PLANAR_5505 0x5505
++
++// Minigbm and system linux gbm have some differences. There is no clear way how
++// to distinguish linux gbm (Mesa, basically) and minigbm, which can be both
++// third_party and minigbm. Thus, use GBM_BO_IMPORT_FD_PLANAR define to
++// identify, which gbm is used.
++#if defined(GBM_BO_IMPORT_FD_PLANAR)
++// There are some methods, which require knowing whether minigbm is used or not.
++#ifndef USING_MINIGBM
++#define USING_MINIGBM
++#endif // USING_MINIGBM
++// Minigbm and system linux gbm have alike gbm_bo_import* structures, but some
++// of the data variables have different type.
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_planar_data;
++#else
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_modifier_data;
++#endif
++
++void InitializeImportData(uint32_t format,
++ const gfx::Size& size,
++ const std::vector<base::ScopedFD>& fds,
++ const std::vector<gfx::NativePixmapPlane>& planes,
++ gbm_bo_import_fd_data_with_modifier* fd_data) {
++ fd_data->width = size.width();
++ fd_data->height = size.height();
++ fd_data->format = format;
++
++ DCHECK_LE(planes.size(), 3u);
++ for (size_t i = 0; i < planes.size(); ++i) {
++ fd_data->fds[i] = fds[i < fds.size() ? i : 0].get();
++ fd_data->strides[i] = planes[i].stride;
++ fd_data->offsets[i] = planes[i].offset;
++#if defined(USING_MINIGBM)
++ fd_data->format_modifiers[i] = planes[i].modifier;
++#else
++ fd_data->modifier = planes[i].modifier;
++#endif
++ }
++}
++
++int GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
++ DCHECK(plane < gbm_bo_get_plane_count(bo));
++
++ // System linux gbm (or Mesa gbm) does not provide fds per plane basis. Thus,
++ // get plane handle and use drm ioctl to get a prime fd out of it avoid having
++ // two different branches for minigbm and Mesa gbm here.
++ gbm_device* gbm_dev = gbm_bo_get_device(bo);
++ int dev_fd = gbm_device_get_fd(gbm_dev);
++ if (dev_fd <= 0) {
++ LOG(ERROR) << "Unable to get device fd";
++ return -1;
++ }
++
++ const uint32_t plane_handle = gbm_bo_get_handle_for_plane(bo, plane).u32;
++ int fd = -1;
++ int ret;
++ // Use DRM_RDWR to allow the fd to be mappable in another process.
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++
++ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
++ // anyways
++ if (ret)
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC, &fd);
++
++ return ret ? ret : fd;
++}
++
++size_t GetSizeOfPlane(gbm_bo* bo, size_t plane) {
++ // System linux gbm (or Mesa gbm) does not provide plane size. Thus, calculate
++ // it by ourselves and avoid having two different branches for minigbm and
++ // Mesa gbm here.
++ return gbm_bo_get_height(bo) * gbm_bo_get_stride_for_plane(bo, plane);
++}
++
++} // namespace
++
+ class Buffer final : public ui::GbmBuffer {
+ public:
+ Buffer(struct gbm_bo* bo,
+@@ -76,7 +158,7 @@ class Buffer final : public ui::GbmBuffer {
+ }
+ uint32_t GetPlaneHandle(size_t plane) const override {
+ DCHECK_LT(plane, planes_.size());
+- return gbm_bo_get_plane_handle(bo_, plane).u32;
++ return gbm_bo_get_handle_for_plane(bo_, plane).u32;
+ }
+ uint32_t GetHandle() const override { return gbm_bo_get_handle(bo_).u32; }
+ gfx::NativePixmapHandle ExportHandle() const override {
+@@ -106,7 +188,12 @@ class Buffer final : public ui::GbmBuffer {
+ uint32_t stride;
+ void* addr;
+ addr = gbm_bo_map(bo_, 0, 0, gbm_bo_get_width(bo_), gbm_bo_get_height(bo_),
+- GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_, 0);
++ GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_
++#if defined(USING_MINIGBM)
++ ,
++ 0
++#endif
++ );
+
+ if (!addr)
+ return nullptr;
+@@ -147,11 +234,18 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ std::vector<base::ScopedFD> fds;
+ std::vector<gfx::NativePixmapPlane> planes;
+
+- const uint64_t modifier = gbm_bo_get_format_modifier(bo);
+- for (size_t i = 0; i < gbm_bo_get_num_planes(bo); ++i) {
++ const uint64_t modifier = gbm_bo_get_modifier(bo);
++ const int plane_count = gbm_bo_get_plane_count(bo);
++ // The Mesa's gbm implementation explicitly checks whether plane count <= and
++ // returns 1 if the condition is true. Nevertheless, use a DCHECK here to make
++ // sure the condition is not broken there.
++ DCHECK(plane_count > 0);
++ // Ensure there are no differences in integer signs by casting any possible
++ // values to size_t.
++ for (size_t i = 0; i < static_cast<size_t>(plane_count); ++i) {
+ // The fd returned by gbm_bo_get_fd is not ref-counted and need to be
+ // kept open for the lifetime of the buffer.
+- base::ScopedFD fd(gbm_bo_get_plane_fd(bo, i));
++ base::ScopedFD fd(GetPlaneFdForBo(bo, i));
+
+ // TODO(dcastagna): support multiple fds.
+ // crbug.com/642410
+@@ -164,9 +258,9 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ fds.emplace_back(std::move(fd));
+ }
+
+- planes.emplace_back(gbm_bo_get_plane_stride(bo, i),
+- gbm_bo_get_plane_offset(bo, i),
+- gbm_bo_get_plane_size(bo, i), modifier);
++ planes.emplace_back(gbm_bo_get_stride_for_plane(bo, i),
++ gbm_bo_get_offset(bo, i), GetSizeOfPlane(bo, i),
++ modifier);
+ }
+ return std::make_unique<Buffer>(bo, format, flags, modifier, std::move(fds),
+ size, std::move(planes));
+@@ -213,35 +307,32 @@ class Device final : public ui::GbmDevice {
+ DCHECK_EQ(planes[0].offset, 0);
+
+ // Try to use scanout if supported.
+- int gbm_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_TEXTURING;
++ int gbm_flags = GBM_BO_USE_SCANOUT;
++#if defined(USING_MINIGBM)
++ gbm_flags |= GBM_BO_USE_TEXTURING;
++#endif
+ if (!gbm_device_is_format_supported(device_, format, gbm_flags))
+ gbm_flags &= ~GBM_BO_USE_SCANOUT;
+
+ struct gbm_bo* bo = nullptr;
+- if (!gbm_device_is_format_supported(device_, format, gbm_flags)) {
+- LOG(ERROR) << "gbm format not supported: " << format;
+- return nullptr;
+- }
+-
+- struct gbm_import_fd_planar_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+-
+- DCHECK_LE(planes.size(), 3u);
+- for (size_t i = 0; i < planes.size(); ++i) {
+- fd_data.fds[i] = fds[i < fds.size() ? i : 0].get();
+- fd_data.strides[i] = planes[i].stride;
+- fd_data.offsets[i] = planes[i].offset;
+- fd_data.format_modifiers[i] = planes[i].modifier;
+- }
+-
+- // The fd passed to gbm_bo_import is not ref-counted and need to be
+- // kept open for the lifetime of the buffer.
+- bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR, &fd_data, gbm_flags);
+- if (!bo) {
+- LOG(ERROR) << "nullptr returned from gbm_bo_import";
+- return nullptr;
++ if (gbm_device_is_format_supported(device_, format, gbm_flags)) {
++ gbm_bo_import_fd_data_with_modifier fd_data;
++ InitializeImportData(format, size, fds, planes, &fd_data);
++
++ // The fd passed to gbm_bo_import is not ref-counted and need to be
++ // kept open for the lifetime of the buffer.
++ //
++ // See the comment regarding the GBM_BO_IMPORT_FD_PLANAR_550X above.
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5505, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5504, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ LOG(ERROR) << "nullptr returned from gbm_bo_import";
++ return nullptr;
++ }
++ }
+ }
+
+ return std::make_unique<Buffer>(bo, format, gbm_flags, planes[0].modifier,
+--
+2.20.1
+
5 years, 9 months
[chromium-vaapi] Disable gold linker (again); Update didn't fixed the issue.
by Akarshan Biswas
commit 39ae7ad10f75db9671ba860626f62edc7bec00cd
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Tue Feb 5 16:22:55 2019 +0530
Disable gold linker (again); Update didn't fixed the issue.
chromium-vaapi.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index 13c6912..2c7993c 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -61,7 +61,7 @@
#Allow building with Fedora compilation flags
%global fedora_compilation_flags 1
# Gold switch
-%global stopgold 0
+%global stopgold 1
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
5 years, 9 months
[chromium-vaapi] Update to 72.0.3626.81 Add a patch to fix missing includes in webrtc ozone updates (WIP) Fix gn wher
by Akarshan Biswas
commit 95bdf98f8a0304a0dded4e8011c655956f007b98
Author: Akarshan Biswas <akarshan.biswas(a)gmail.com>
Date: Tue Feb 5 15:23:23 2019 +0530
Update to 72.0.3626.81
Add a patch to fix missing includes in webrtc
ozone updates (WIP)
Fix gn where it now needs gold linker in bootstrap
remove clang building implementation in this spec (out of scope)
Make sure chromium uses the x11 GDK backend in wayland
.gitignore | 1 +
ccompiler.patch | 170 -
chromium-71-gcc-fix.patch | 57 -
chromium-dma-buf.patch | 22 +
chromium-drm.patch | 14 +
chromium-gn-r607596.patch | 46 -
chromium-harfbuzz2.patch | 80 -
chromium-non-void-return.patch | 1670 ++++
chromium-system-icu.patch | 10 +-
chromium-vaapi.sh | 26 +-
chromium-vaapi.spec | 121 +-
chromium-webrtc-includes.patch | 16754 +++++++++++++++++++++++++++++++++++++++
enable-vaapi.patch | 303 +-
fixvaapiozone.patch | 33 +
gn-gold.patch | 24 +
llvm-arflags.patch | 26 -
nounrar.patch | 211 +-
sources | 2 +-
system-gbm.patch | 229 +
19 files changed, 19015 insertions(+), 784 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 478072e..57c83f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/chromium-70.0.3538.110.tar.xz
/chromium-71.0.3578.80.tar.xz
/chromium-71.0.3578.98.tar.xz
+/chromium-72.0.3626.81.tar.xz
diff --git a/chromium-dma-buf.patch b/chromium-dma-buf.patch
new file mode 100644
index 0000000..5d8feb5
--- /dev/null
+++ b/chromium-dma-buf.patch
@@ -0,0 +1,22 @@
+Index: chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+===================================================================
+--- chromium-72.0.3626.7.orig/ui/gfx/linux/client_native_pixmap_dmabuf.cc
++++ chromium-72.0.3626.7/ui/gfx/linux/client_native_pixmap_dmabuf.cc
+@@ -18,9 +18,6 @@
+ #include "base/trace_event/trace_event.h"
+ #include "build/build_config.h"
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
+-#include <linux/dma-buf.h>
+-#else
+ #include <linux/types.h>
+
+ struct dma_buf_sync {
+@@ -35,7 +32,6 @@ struct dma_buf_sync {
+
+ #define DMA_BUF_BASE 'b'
+ #define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
+-#endif
+
+ namespace gfx {
+
diff --git a/chromium-drm.patch b/chromium-drm.patch
new file mode 100644
index 0000000..81c9105
--- /dev/null
+++ b/chromium-drm.patch
@@ -0,0 +1,14 @@
+Index: chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+===================================================================
+--- chromium-65.0.3325.146.orig/ui/gfx/native_pixmap_handle.cc
++++ chromium-65.0.3325.146/ui/gfx/native_pixmap_handle.cc
+@@ -12,6 +12,9 @@
+ namespace gfx {
+
+ #if defined(OS_LINUX)
++#ifndef DRM_FORMAT_MOD_INVALID
++#define DRM_FORMAT_MOD_INVALID ((1ULL<<56) - 1)
++#endif
+ static_assert(NativePixmapPlane::kNoModifier == DRM_FORMAT_MOD_INVALID,
+ "gfx::NativePixmapPlane::kNoModifier should be an alias for"
+ "DRM_FORMAT_MOD_INVALID");
diff --git a/chromium-non-void-return.patch b/chromium-non-void-return.patch
new file mode 100644
index 0000000..30363a6
--- /dev/null
+++ b/chromium-non-void-return.patch
@@ -0,0 +1,1670 @@
+Index: chromium-72.0.3626.53/base/bind_internal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/base/bind_internal.h
++++ chromium-72.0.3626.53/base/bind_internal.h
+@@ -749,6 +749,7 @@ bool QueryCancellationTraitsImpl(BindSta
+ functor, std::get<indices>(bound_args)...);
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ // Relays |base| to corresponding CallbackCancellationTraits<>::Run(). Returns
+Index: chromium-72.0.3626.53/base/callback_internal.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/callback_internal.cc
++++ chromium-72.0.3626.53/base/callback_internal.cc
+@@ -21,6 +21,7 @@ bool QueryCancellationTraitsForNonCancel
+ return true;
+ }
+ NOTREACHED();
++ __builtin_abort ();
+ }
+
+ } // namespace
+Index: chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/cc/input/snap_fling_controller.cc
++++ chromium-72.0.3626.53/cc/input/snap_fling_controller.cc
+@@ -26,6 +26,8 @@ bool SnapFlingController::FilterEventFor
+ case GestureScrollType::kEnd: {
+ return state_ == State::kActive || state_ == State::kFinished;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/background_fetch/background_fetch_download_client.cc
++++ chromium-72.0.3626.53/chrome/browser/background_fetch/background_fetch_download_client.cc
+@@ -36,6 +36,8 @@ BackgroundFetchFailureReason ToBackgroun
+ case download::Client::FailureReason::ABORTED:
+ case download::Client::FailureReason::CANCELLED:
+ return BackgroundFetchFailureReason::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_model.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_model.cc
+@@ -147,6 +147,8 @@ download::DownloadItem::DownloadState Of
+ case OfflineItemState::MAX_DOWNLOAD_STATE:
+ NOTREACHED();
+ return download::DownloadItem::CANCELLED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/download/offline_item_utils.cc
++++ chromium-72.0.3626.53/chrome/browser/download/offline_item_utils.cc
+@@ -147,6 +147,8 @@ FailState OfflineItemUtils::ConvertDownl
+ return offline_items_collection::FailState::name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -166,6 +168,8 @@ OfflineItemUtils::ConvertFailStateToDown
+ return download::DOWNLOAD_INTERRUPT_REASON_##name;
+ #include "components/download/public/common/download_interrupt_reason_values.h"
+ #undef INTERRUPT_REASON
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
++++ chromium-72.0.3626.53/chrome/browser/media/webrtc/media_stream_capture_indicator.cc
+@@ -250,6 +250,7 @@ int& MediaStreamCaptureIndicator::WebCon
+ NOTREACHED();
+ return video_stream_count_;
+ }
++ __builtin_abort ();
+ }
+
+ MediaStreamCaptureIndicator::MediaStreamCaptureIndicator() {}
+Index: chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
++++ chromium-72.0.3626.53/chrome/browser/resource_coordinator/tab_lifecycle_unit.cc
+@@ -156,6 +156,7 @@ bool IsValidStateChange(LifecycleUnitSta
+ }
+ }
+ }
++ __builtin_abort ();
+ }
+
+ StateChangeReason DiscardReasonToStateChangeReason(
+@@ -167,6 +168,8 @@ StateChangeReason DiscardReasonToStateCh
+ return StateChangeReason::BROWSER_INITIATED;
+ case LifecycleUnitDiscardReason::URGENT:
+ return StateChangeReason::SYSTEM_MEMORY_PRESSURE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/autofill/save_card_bubble_controller_impl.cc
+@@ -236,6 +236,8 @@ base::string16 SaveCardBubbleControllerI
+ case BubbleType::INACTIVE:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/autofill_popup_view_native_views.cc
+@@ -553,6 +553,8 @@ PopupItemLayoutType AutofillPopupSuggest
+ default:
+ return PopupItemLayoutType::kTrailingIcon;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -573,6 +575,8 @@ bool AutofillPopupSuggestionView::Should
+ case ForcedFontWeight::kBold:
+ *font_weight = gfx::Font::Weight::BOLD;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/autofill/local_card_migration_dialog_view.cc
+@@ -387,6 +387,7 @@ bool LocalCardMigrationDialogView::Accep
+ controller_->OnDoneButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Cancel() {
+@@ -399,6 +400,7 @@ bool LocalCardMigrationDialogView::Cance
+ controller_->OnViewCardsButtonClicked();
+ return true;
+ }
++ __builtin_abort ();
+ }
+
+ bool LocalCardMigrationDialogView::Close() {
+@@ -470,6 +472,8 @@ base::string16 LocalCardMigrationDialogV
+ case LocalCardMigrationDialogState::kActionRequired:
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_DONE);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -483,6 +487,7 @@ base::string16 LocalCardMigrationDialogV
+ return l10n_util::GetStringUTF16(
+ IDS_AUTOFILL_LOCAL_CARD_MIGRATION_DIALOG_BUTTON_LABEL_VIEW_CARDS);
+ }
++ __builtin_abort ();
+ }
+
+ LocalCardMigrationDialog* CreateLocalCardMigrationDialogView(
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/material_refresh_layout_provider.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/material_refresh_layout_provider.cc
+@@ -41,6 +41,8 @@ int MaterialRefreshLayoutProvider::GetCo
+ return 8;
+ case views::EMPHASIS_MAXIMUM:
+ return std::min(size.width(), size.height()) / 2;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -58,6 +60,8 @@ int MaterialRefreshLayoutProvider::GetSh
+ return 3;
+ case views::EMPHASIS_MAXIMUM:
+ return 16;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/discards/discards_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/discards/discards_ui.cc
+@@ -56,6 +56,8 @@ mojom::LifecycleUnitVisibility GetLifecy
+ return mojom::LifecycleUnitVisibility::OCCLUDED;
+ case content::Visibility::VISIBLE:
+ return mojom::LifecycleUnitVisibility::VISIBLE;
++ default:
++ __builtin_abort ();
+ }
+ #if defined(COMPILER_MSVC)
+ NOTREACHED();
+Index: chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/webui/media/media_engagement_ui.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/webui/media/media_engagement_ui.cc
+@@ -100,6 +100,7 @@ class MediaEngagementScoreDetailsProvide
+ case content::AutoplayPolicy::kDocumentUserActivationRequired:
+ return "document-user-activation-required";
+ }
++ __builtin_abort ();
+ }
+
+ const std::string GetPreloadVersion() {
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_external_delegate.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_external_delegate.cc
+@@ -457,6 +457,8 @@ base::string16 AutofillExternalDelegate:
+ case PopupType::kPasswords:
+ NOTREACHED();
+ return base::string16();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_manager.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_manager.cc
+@@ -271,6 +271,7 @@ PopupType AutofillManager::GetPopupType(
+
+ default:
+ NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_sync_bridge_util.cc
+@@ -28,6 +28,8 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ return sync_pb::WalletMaskedCreditCard::VALID;
+ case CreditCard::EXPIRED:
+ return sync_pb::WalletMaskedCreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -38,6 +40,8 @@ CreditCard::ServerStatus ServerToLocalSt
+ return CreditCard::OK;
+ case sync_pb::WalletMaskedCreditCard::EXPIRED:
+ return CreditCard::EXPIRED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -82,6 +86,8 @@ const char* CardNetworkFromWalletCardTyp
+ case sync_pb::WalletMaskedCreditCard::SWITCH:
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN:
+ return kGenericCard;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -95,6 +101,7 @@ sync_pb::WalletMaskedCreditCard::WalletC
+ case CreditCard::CARD_TYPE_PREPAID:
+ return sync_pb::WalletMaskedCreditCard::PREPAID;
+ case CreditCard::CARD_TYPE_UNKNOWN:
++ default:
+ return sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS;
+ }
+ }
+@@ -110,6 +117,8 @@ CreditCard::CardType CardTypeFromWalletC
+ return CreditCard::CARD_TYPE_PREPAID;
+ case sync_pb::WalletMaskedCreditCard::UNKNOWN_CARD_CLASS:
+ return CreditCard::CARD_TYPE_UNKNOWN;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -162,6 +171,8 @@ std::string GetClientTagForSpecificsId(
+ case AutofillWalletSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/webdata/autofill_wallet_metadata_sync_bridge.cc
+@@ -43,6 +43,8 @@ std::string GetClientTagForSpecificsId(W
+ case WalletMetadataSpecifics::UNKNOWN:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/cast_channel/cast_message_util.cc
++++ chromium-72.0.3626.53/components/cast_channel/cast_message_util.cc
+@@ -362,6 +362,8 @@ const char* GetAppAvailabilityResultToSt
+ return "unavailable";
+ case GetAppAvailabilityResult::kUnknown:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
++++ chromium-72.0.3626.53/components/data_reduction_proxy/core/browser/data_reduction_proxy_util.cc
+@@ -321,6 +321,8 @@ PageloadMetrics_ConnectionType ProtoConn
+ return PageloadMetrics_ConnectionType_CONNECTION_NONE;
+ case net::NetworkChangeNotifier::CONNECTION_BLUETOOTH:
+ return PageloadMetrics_ConnectionType_CONNECTION_BLUETOOTH;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -363,6 +365,8 @@ ProtoLitePageRedirectStatusFromLitePageR
+ return HTTPSLitePagePreviewInfo_Status_FAILURE;
+ case previews::ServerLitePageStatus::kControl:
+ return HTTPSLitePagePreviewInfo_Status_CONTROL;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/password_manager/core/browser/browser_save_password_progress_logger.cc
++++ chromium-72.0.3626.53/components/password_manager/core/browser/browser_save_password_progress_logger.cc
+@@ -72,6 +72,8 @@ std::string VoteTypeToString(
+ return "HTML classifier";
+ case AutofillUploadContents::Field::FIRST_USE:
+ return "First use";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/cloud/cloud_policy_util.cc
++++ chromium-72.0.3626.53/components/policy/core/common/cloud/cloud_policy_util.cc
+@@ -170,6 +170,8 @@ em::Channel ConvertToProtoChannel(versio
+ return em::CHANNEL_BETA;
+ case version_info::Channel::STABLE:
+ return em::CHANNEL_STABLE;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/policy/core/common/policy_proto_decoders.cc
++++ chromium-72.0.3626.53/components/policy/core/common/policy_proto_decoders.cc
+@@ -42,6 +42,8 @@ bool GetPolicyLevel(const AnyPolicyProto
+ return true;
+ case em::PolicyOptions::UNSET:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/content/previews_hints.cc
++++ chromium-72.0.3626.53/components/previews/content/previews_hints.cc
+@@ -124,6 +124,8 @@ base::Optional<PreviewsType> ConvertProt
+ return PreviewsType::RESOURCE_LOADING_HINTS;
+ case optimization_guide::proto::LITE_PAGE_REDIRECT:
+ return PreviewsType::LITE_PAGE_REDIRECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -148,6 +150,8 @@ net::EffectiveConnectionType ConvertProt
+ case optimization_guide::proto::EffectiveConnectionType::
+ EFFECTIVE_CONNECTION_TYPE_4G:
+ return net::EffectiveConnectionType::EFFECTIVE_CONNECTION_TYPE_4G;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/previews/core/previews_black_list.cc
++++ chromium-72.0.3626.53/components/previews/core/previews_black_list.cc
+@@ -34,6 +34,8 @@ PreviewsEligibilityReason BlacklistReaso
+ return PreviewsEligibilityReason::ALLOWED;
+ case blacklist::BlacklistReason::kAllowed:
+ return PreviewsEligibilityReason::ALLOWED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/about_signin_internals.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/about_signin_internals.cc
+@@ -564,6 +564,8 @@ std::string AboutSigninInternals::Refres
+ return "Revoked";
+ case AboutSigninInternals::RefreshTokenEventType::kAllTokensLoaded:
+ return "Loaded";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/signin/core/browser/profile_oauth2_token_service.cc
++++ chromium-72.0.3626.53/components/signin/core/browser/profile_oauth2_token_service.cc
+@@ -49,6 +49,8 @@ std::string SourceToString(SourceForRefr
+ return "DiceResponseHandler::Signout";
+ case SourceForRefreshTokenOperation::kDiceTurnOnSyncHelper_Abort:
+ return "DiceTurnOnSyncHelper::Abort";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -204,6 +206,8 @@ bool ProfileOAuth2TokenService::HasLoadC
+ LOAD_CREDENTIALS_FINISHED_WITH_NO_TOKEN_FOR_PRIMARY_ACCOUNT:
+ // Load credentials finished with success.
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/service/display/skia_renderer.cc
++++ chromium-72.0.3626.53/components/viz/service/display/skia_renderer.cc
+@@ -1278,6 +1278,8 @@ GrContext* SkiaRenderer::GetGrContext()
+ return context_provider_->GrContext();
+ case DrawMode::SKPRECORD:
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/cache_storage/cache_storage_quota_client.cc
++++ chromium-72.0.3626.53/content/browser/cache_storage/cache_storage_quota_client.cc
+@@ -98,6 +98,8 @@ storage::QuotaClient::ID CacheStorageQuo
+ return kServiceWorkerCache;
+ case CacheStorageOwner::kBackgroundFetch:
+ return kBackgroundFetch;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/frame_host/frame_tree_node.cc
++++ chromium-72.0.3626.53/content/browser/frame_host/frame_tree_node.cc
+@@ -603,6 +603,7 @@ bool FrameTreeNode::UpdateUserActivation
+ return ClearUserActivation();
+ }
+ NOTREACHED() << "Invalid update_type.";
++ __builtin_abort ();
+ }
+
+ void FrameTreeNode::OnSetHasReceivedUserGestureBeforeNavigation(bool value) {
+Index: chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/browser/media/audio_output_stream_broker.cc
++++ chromium-72.0.3626.53/content/browser/media/audio_output_stream_broker.cc
+@@ -53,6 +53,8 @@ StreamBrokerDisconnectReason GetDisconne
+ : StreamBrokerDisconnectReason::kDocumentDestroyed;
+ case DisconnectReason::kDefault:
+ return StreamBrokerDisconnectReason::kDefault;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/input/input_event_prediction.cc
++++ chromium-72.0.3626.53/content/renderer/input/input_event_prediction.cc
+@@ -108,6 +108,8 @@ std::unique_ptr<ui::InputPredictor> Inpu
+ return std::make_unique<ui::LeastSquaresPredictor>();
+ case PredictorType::kKalman:
+ return std::make_unique<ui::KalmanPredictor>();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_audio_processor_options.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_audio_processor_options.cc
+@@ -99,6 +99,8 @@ AudioProcessingProperties::ToAudioProces
+ return media::EchoCancellationType::kAec3;
+ case EchoCancellationType::kEchoCancellationSystem:
+ return media::EchoCancellationType::kSystemAec;
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_video_device.cc
+@@ -554,6 +554,8 @@ blink::WebMediaStreamTrack::DisplayCaptu
+ kApplication;
+ case media::mojom::DisplayCaptureSurfaceType::BROWSER:
+ return blink::WebMediaStreamTrack::DisplayCaptureSurfaceType::kBrowser;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -566,6 +568,8 @@ blink::WebMediaStreamTrack::CursorCaptur
+ return blink::WebMediaStreamTrack::CursorCaptureType::kAlways;
+ case media::mojom::CursorCaptureType::MOTION:
+ return blink::WebMediaStreamTrack::CursorCaptureType::kMotion;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/webrtc/peer_connection_tracker.cc
++++ chromium-72.0.3626.53/content/renderer/media/webrtc/peer_connection_tracker.cc
+@@ -120,6 +120,8 @@ static const char* SerializeDirection(
+ return "'recvonly'";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "'inactive'";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
++++ chromium-72.0.3626.53/device/bluetooth/bluetooth_remote_gatt_characteristic.cc
+@@ -396,6 +396,8 @@ bool BluetoothRemoteGattCharacteristic::
+ return hasNotify;
+ case NotificationType::kIndication:
+ return hasIndicate;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/extensions/browser/url_loader_factory_manager.cc
++++ chromium-72.0.3626.53/extensions/browser/url_loader_factory_manager.cc
+@@ -65,6 +65,8 @@ bool IsSpecialURLLoaderFactoryRequired(c
+ DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
+ case FactoryUser::kExtensionProcess:
+ return DoExtensionPermissionsCoverCorsOrCorbRelatedOrigins(extension);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gin/v8_isolate_memory_dump_provider.cc
++++ chromium-72.0.3626.53/gin/v8_isolate_memory_dump_provider.cc
+@@ -131,6 +131,8 @@ std::string IsolateTypeString(IsolateHol
+ return "test";
+ case IsolateHolder::IsolateType::kUtility:
+ return "utility";
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+@@ -147,6 +149,8 @@ bool CanHaveMultipleIsolates(IsolateHold
+ case IsolateHolder::IsolateType::kUtility:
+ // PDFium and ProxyResolver create one isolate per process.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ LOG(FATAL) << "Unreachable code";
+ }
+Index: chromium-72.0.3626.53/gpu/config/gpu_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/gpu/config/gpu_info.cc
++++ chromium-72.0.3626.53/gpu/config/gpu_info.cc
+@@ -84,6 +84,8 @@ const char* OverlayFormatToString(Overla
+ return "YUY2";
+ case OverlayFormat::kNV12:
+ return "NV12";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/audio/audio_processing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/audio/audio_processing.cc
++++ chromium-72.0.3626.53/media/audio/audio_processing.cc
+@@ -19,6 +19,8 @@ std::string AudioProcessingSettings::ToS
+ return "experimental";
+ case AutomaticGainControlType::kHybridExperimental:
+ return "hybrid experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -32,6 +34,8 @@ std::string AudioProcessingSettings::ToS
+ return "aec3";
+ case EchoCancellationType::kSystemAec:
+ return "system aec";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+@@ -43,6 +47,8 @@ std::string AudioProcessingSettings::ToS
+ return "default";
+ case NoiseSuppressionType::kExperimental:
+ return "experimental";
++ default:
++ __builtin_abort ();
+ }
+ };
+
+Index: chromium-72.0.3626.53/media/base/decode_status.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decode_status.cc
++++ chromium-72.0.3626.53/media/base/decode_status.cc
+@@ -18,6 +18,8 @@ const char* GetDecodeStatusString(Decode
+ return "DecodeStatus::ABORTED";
+ case DecodeStatus::DECODE_ERROR:
+ return "DecodeStatus::DECODE_ERROR";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/decryptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/decryptor.cc
++++ chromium-72.0.3626.53/media/base/decryptor.cc
+@@ -17,6 +17,8 @@ const char* Decryptor::GetStatusName(Sta
+ return "need_more_data";
+ case kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/base/demuxer_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/base/demuxer_stream.cc
++++ chromium-72.0.3626.53/media/base/demuxer_stream.cc
+@@ -17,6 +17,8 @@ const char* DemuxerStream::GetTypeName(T
+ return "text";
+ case DemuxerStream::UNKNOWN:
+ return "unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -31,6 +33,8 @@ const char* DemuxerStream::GetStatusName
+ return "config_changed";
+ case DemuxerStream::kError:
+ return "error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/watch_time_reporter.cc
++++ chromium-72.0.3626.53/media/blink/watch_time_reporter.cc
+@@ -571,6 +571,8 @@ WatchTimeKey WatchTimeReporter::GetDispl
+ return DISPLAY_TYPE_KEY(DisplayFullscreen);
+ case DisplayType::kPictureInPicture:
+ return DISPLAY_TYPE_KEY(DisplayPictureInPicture);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/blink/webmediaplayer_impl.cc
++++ chromium-72.0.3626.53/media/blink/webmediaplayer_impl.cc
+@@ -197,6 +197,8 @@ EncryptionMode DetermineEncryptionMode(
+ return EncryptionMode::kCenc;
+ case EncryptionScheme::CIPHER_MODE_AES_CBC:
+ return EncryptionMode::kCbcs;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device.cc
+@@ -83,6 +83,8 @@ VideoCaptureFrameDropReason ConvertReser
+ return VideoCaptureFrameDropReason::kBufferPoolMaxBufferCountExceeded;
+ case VideoCaptureDevice::Client::ReserveResult::kAllocationFailed:
+ return VideoCaptureFrameDropReason::kBufferPoolBufferAllocationFailed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/capture/video/video_capture_device_descriptor.cc
++++ chromium-72.0.3626.53/media/capture/video/video_capture_device_descriptor.cc
+@@ -94,6 +94,8 @@ const char* VideoCaptureDeviceDescriptor
+ return "Virtual Device";
+ case VideoCaptureApi::UNKNOWN:
+ return "Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/cdm/cdm_helpers.cc
++++ chromium-72.0.3626.53/media/cdm/cdm_helpers.cc
+@@ -25,6 +25,8 @@ gfx::ColorSpace::RangeID ToGfxColorSpace
+ return gfx::ColorSpace::RangeID::FULL;
+ case cdm::ColorRange::kDerived:
+ return gfx::ColorSpace::RangeID::DERIVED;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/filters/decoder_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/filters/decoder_stream.cc
++++ chromium-72.0.3626.53/media/filters/decoder_stream.cc
+@@ -89,6 +89,8 @@ const char* GetStatusString(typename Dec
+ return "demuxer_read_aborted";
+ case DecoderStream<StreamType>::DECODE_ERROR:
+ return "decode_error";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/media/gpu/vaapi/vaapi_wrapper.cc
++++ chromium-72.0.3626.53/media/gpu/vaapi/vaapi_wrapper.cc
+@@ -401,6 +401,8 @@ static VAEntrypoint GetVaEntryPoint(Vaap
+ case VaapiWrapper::kCodecModeMax:
+ NOTREACHED();
+ return VAEntrypointVLD;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/nqe/network_quality_estimator.cc
++++ chromium-72.0.3626.53/net/nqe/network_quality_estimator.cc
+@@ -1264,6 +1264,8 @@ base::TimeDelta NetworkQualityEstimator:
+ case nqe::internal::OBSERVATION_CATEGORY_COUNT:
+ NOTREACHED();
+ return base::TimeDelta();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/audio/public/cpp/audio_system_to_service_adapter.cc
++++ chromium-72.0.3626.53/services/audio/public/cpp/audio_system_to_service_adapter.cc
+@@ -66,6 +66,8 @@ const char* GetTraceEvent(Action action)
+ return "AudioSystemToServiceAdapter::GetAssociatedOutputDeviceID";
+ case kGetInputDeviceInfo:
+ return "AudioSystemToServiceAdapter::GetInputDeviceInfo";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/cross_origin_read_blocking.cc
++++ chromium-72.0.3626.53/services/network/cross_origin_read_blocking.cc
+@@ -782,6 +782,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && !found_blockable_content_;
+ case kBlock:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -793,6 +795,8 @@ bool CrossOriginReadBlocking::ResponseAn
+ return sniffers_.empty() && found_blockable_content_;
+ case kBlock:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/cors/cors.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/cors/cors.cc
+@@ -552,6 +552,8 @@ bool IsCorsSameOriginResponseType(mojom:
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -565,6 +567,8 @@ bool IsCorsCrossOriginResponseType(mojom
+ case mojom::FetchResponseType::kOpaque:
+ case mojom::FetchResponseType::kOpaqueRedirect:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -582,6 +586,8 @@ bool CalculateCredentialsFlag(mojom::Fet
+ return response_tainting == network::mojom::FetchResponseType::kBasic;
+ case network::mojom::FetchCredentialsMode::kInclude:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/public/cpp/host_resolver_mojom_traits.cc
++++ chromium-72.0.3626.53/services/network/public/cpp/host_resolver_mojom_traits.cc
+@@ -38,6 +38,8 @@ base::Optional<bool> FromTristate(DnsCon
+ return true;
+ case DnsConfigOverrides::Tristate::TRISTATE_FALSE:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -225,6 +227,8 @@ EnumTraits<ResolveHostParameters::DnsQue
+ return ResolveHostParameters::DnsQueryType::A;
+ case net::DnsQueryType::AAAA:
+ return ResolveHostParameters::DnsQueryType::AAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -242,6 +246,8 @@ bool EnumTraits<ResolveHostParameters::D
+ case ResolveHostParameters::DnsQueryType::AAAA:
+ *output = net::DnsQueryType::AAAA;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -258,6 +264,8 @@ EnumTraits<ResolveHostParameters::Source
+ return ResolveHostParameters::Source::DNS;
+ case net::HostResolverSource::MULTICAST_DNS:
+ return ResolveHostParameters::Source::MULTICAST_DNS;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -278,6 +286,8 @@ bool EnumTraits<ResolveHostParameters::S
+ case ResolveHostParameters::Source::MULTICAST_DNS:
+ *output = net::HostResolverSource::MULTICAST_DNS;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/ws/public/cpp/gpu/command_buffer_metrics.cc
++++ chromium-72.0.3626.53/services/ws/public/cpp/gpu/command_buffer_metrics.cc
+@@ -96,6 +96,8 @@ std::string ContextTypeToString(ContextT
+ return "ForTesting";
+ case ContextType::XR_COMPOSITING:
+ return "XRCompositing";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/style_environment_variables.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/style_environment_variables.cc
+@@ -63,7 +63,7 @@ const AtomicString StyleEnvironmentVaria
+ case UADefinedVariable::kSafeAreaInsetRight:
+ return "safe-area-inset-right";
+ default:
+- break;
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/html/media/media_controls.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/html/media/media_controls.cc
+@@ -36,6 +36,8 @@ AtomicString MediaControls::GetSizingCSS
+ return kMediaControlsSizingMediumCSSClass;
+ case MediaControlsSizingClass::kLarge:
+ return kMediaControlsSizingLargeCSSClass;
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/layout/layout_flexible_box.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/layout/layout_flexible_box.cc
+@@ -602,6 +602,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentLeft();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentInsetRight();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -617,6 +619,8 @@ LayoutUnit LayoutFlexibleBox::FlowAwareC
+ return ContentInsetRight();
+ case TransformedWritingMode::kRightToLeftWritingMode:
+ return ContentLeft();
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/loader/mixed_content_checker.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/loader/mixed_content_checker.cc
+@@ -239,6 +239,8 @@ bool MixedContentChecker::IsMixedContent
+
+ case HttpsState::kModern:
+ return IsInsecureUrl(url);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
+@@ -1235,6 +1235,8 @@ ax::mojom::TextPosition AXLayoutObject::
+ return ax::mojom::TextPosition::kSubscript;
+ case EVerticalAlign::kSuper:
+ return ax::mojom::TextPosition::kSuperscript;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/accessibility/ax_position.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/accessibility/ax_position.cc
+@@ -758,6 +758,8 @@ const AXObject* AXPosition::FindNeighbor
+ }
+ return nullptr;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/background_fetch/background_fetch_registration.cc
+@@ -342,6 +342,8 @@ const String BackgroundFetchRegistration
+ return "failure";
+ case mojom::BackgroundFetchResult::UNSET:
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+@@ -362,6 +364,8 @@ const String BackgroundFetchRegistration
+ return "quota-exceeded";
+ case mojom::BackgroundFetchFailureReason::TOTAL_DOWNLOAD_SIZE_EXCEEDED:
+ return "total-download-exceeded";
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/cookie_store/cookie_change_event.cc
+@@ -53,6 +53,8 @@ String ToCookieListItemSameSite(network:
+ return "lax";
+ case network::mojom::CookieSameSite::NO_RESTRICTION:
+ return "unrestricted";
++ default:
++ __builtin_abort ();
+ }
+
+ NOTREACHED();
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_rtp_transceiver.cc
+@@ -28,6 +28,8 @@ String TransceiverDirectionToString(
+ return "recvonly";
+ case webrtc::RtpTransceiverDirection::kInactive:
+ return "inactive";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/storage/cached_storage_area.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/storage/cached_storage_area.cc
+@@ -643,6 +643,8 @@ Vector<uint8_t> CachedStorageArea::Strin
+ input.length() * sizeof(UChar));
+ return result;
+ }
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/webaudio/audio_param.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/webaudio/audio_param.cc
+@@ -145,7 +145,7 @@ String AudioParamHandler::GetParamName()
+ case kParamTypeAudioWorklet:
+ return custom_param_name_;
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/graphics/paint/scroll_paint_property_node.cc
+@@ -18,7 +18,7 @@ WTF::String OverscrollBehaviorTypeToStri
+ case OverscrollBehavior::kOverscrollBehaviorTypeContain:
+ return "contain";
+ default:
+- NOTREACHED();
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/heap/heap_stats_collector.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/heap/heap_stats_collector.h
+@@ -94,6 +94,8 @@ class PLATFORM_EXPORT ThreadHeapStatsCol
+ return "BlinkGC.VisitPersistents";
+ case Id::kVisitStackRoots:
+ return "BlinkGC.VisitStackRoots";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/common/metrics_helper.cc
+@@ -44,6 +44,8 @@ scheduling_metrics::ThreadType ConvertBl
+ case WebThreadType::kCount:
+ NOTREACHED();
+ return scheduling_metrics::ThreadType::kCount;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/scheduler/main_thread/page_scheduler_impl.cc
+@@ -676,6 +676,8 @@ PageSchedulerImpl::PageLifecycleStateTra
+ NOTREACHED();
+ return base::nullopt;
+ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/platform/wtf/casting.h
++++ chromium-72.0.3626.53/third_party/blink/renderer/platform/wtf/casting.h
+@@ -57,6 +57,7 @@ struct DowncastTraits {
+ template <typename U>
+ static bool AllowFrom(const U&) {
+ static_assert(sizeof(U) == 0, "no downcast traits specialization for T");
++ return false;
+ }
+ };
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
+@@ -26,6 +26,8 @@ TemporalLayersChecker::CreateTemporalLay
+ case Vp8TemporalLayersType::kBitrateDynamic:
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<TemporalLayersChecker>(num_temporal_layers);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/accessibility/platform/ax_platform_node_auralinux.cc
++++ chromium-72.0.3626.53/ui/accessibility/platform/ax_platform_node_auralinux.cc
+@@ -1641,6 +1641,8 @@ AtkRole AXPlatformNodeAuraLinux::GetAtkR
+ case ax::mojom::Role::kPresentational:
+ case ax::mojom::Role::kUnknown:
+ return ATK_ROLE_REDUNDANT_OBJECT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/aura/mus/in_flight_change.cc
++++ chromium-72.0.3626.53/ui/aura/mus/in_flight_change.cc
+@@ -57,6 +57,8 @@ std::string ChangeTypeToString(ChangeTyp
+ return "TRANSFORM";
+ case ChangeType::VISIBLE:
+ return "VISIBLE";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/base/mojo/clipboard_struct_traits.h
++++ chromium-72.0.3626.53/ui/base/mojo/clipboard_struct_traits.h
+@@ -20,6 +20,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ return ui::mojom::ClipboardType::SELECTION;
+ case ui::CLIPBOARD_TYPE_DRAG:
+ return ui::mojom::ClipboardType::DRAG;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -34,6 +36,8 @@ struct EnumTraits<ui::mojom::ClipboardTy
+ case ui::mojom::ClipboardType::DRAG:
+ *out = ui::CLIPBOARD_TYPE_DRAG;
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ return false;
+Index: chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/gfx/skia_vector_animation.cc
++++ chromium-72.0.3626.53/ui/gfx/skia_vector_animation.cc
+@@ -163,6 +163,8 @@ float SkiaVectorAnimation::GetCurrentPro
+ // yet
+ DCHECK(timer_control_);
+ return timer_control_->GetNormalizedCurrentCycleProgress();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/ui/views/layout/layout_provider.cc
++++ chromium-72.0.3626.53/ui/views/layout/layout_provider.cc
+@@ -155,6 +155,8 @@ int LayoutProvider::GetCornerRadiusMetri
+ return touch_ui ? 8 : 4;
+ case EMPHASIS_MAXIMUM:
+ return touch_ui ? std::min(size.width(), size.height()) / 2 : 4;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/flags_ui/feature_entry.cc
++++ chromium-72.0.3626.53/components/flags_ui/feature_entry.cc
+@@ -38,13 +38,16 @@ bool FeatureEntry::InternalNameMatches(c
+ case FeatureEntry::MULTI_VALUE:
+ case FeatureEntry::ENABLE_DISABLE_VALUE:
+ case FeatureEntry::FEATURE_VALUE:
+- case FeatureEntry::FEATURE_WITH_PARAMS_VALUE:
++ case FeatureEntry::FEATURE_WITH_PARAMS_VALUE: {
+ // Check that the pattern matches what's produced by NameForOption().
+ int index = -1;
+ return name.size() > internal_name_length + 1 &&
+ name[internal_name_length] == kMultiSeparatorChar &&
+ base::StringToInt(name.substr(internal_name_length + 1), &index) &&
+ index >= 0 && index < num_options;
++ }
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/common/navigation_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/common/navigation_params.cc
++++ chromium-72.0.3626.53/content/common/navigation_params.cc
+@@ -47,6 +47,8 @@ bool IsNavigationDownloadAllowed(Navigat
+ case NavigationDownloadPolicy::kAllowOpenerCrossOrigin:
+ case NavigationDownloadPolicy::kAllowOpenerCrossOriginNoGesture:
+ return true;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/google_apis/gaia/google_service_auth_error.cc
++++ chromium-72.0.3626.53/google_apis/gaia/google_service_auth_error.cc
+@@ -29,6 +29,8 @@ const char* InvalidCredentialsReasonToSt
+ case InvalidGaiaCredentialsReason::NUM_REASONS:
+ NOTREACHED();
+ return "";
++ default:
++ __builtin_abort ();
+ }
+ }
+ } // namespace
+@@ -238,6 +240,8 @@ std::string GoogleServiceAuthError::ToSt
+ case NUM_STATES:
+ NOTREACHED();
+ return std::string();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/dns/dns_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/dns/dns_util.cc
++++ chromium-72.0.3626.53/net/dns/dns_util.cc
+@@ -231,6 +231,8 @@ uint16_t DnsQueryTypeToQtype(DnsQueryTyp
+ return dns_protocol::kTypeA;
+ case DnsQueryType::AAAA:
+ return dns_protocol::kTypeAAAA;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
++++ chromium-72.0.3626.53/net/third_party/quic/core/qpack/qpack_instruction_decoder.cc
+@@ -159,6 +159,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -183,6 +185,8 @@ size_t QpackInstructionDecoder::DoVarint
+ case http2::DecodeStatus::kDecodeError:
+ OnError("Encoded integer too large.");
+ return bytes_consumed;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/worklet/animation_and_paint_worklet_thread.cc
+@@ -92,10 +92,13 @@ AnimationAndPaintWorkletThread::CreateWo
+ return AnimationWorkletGlobalScope::Create(std::move(creation_params),
+ this);
+ }
+- case WorkletType::PAINT_WORKLET:
++ case WorkletType::PAINT_WORKLET: {
+ TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("paint-worklet"),
+ "AnimationAndPaintWorkletThread::CreateWorkerGlobalScope");
+ return PaintWorkletGlobalScope::Create(std::move(creation_params), this);
++ }
++ default:
++ __builtin_abort ();
+ };
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/create_vp8_temporal_layers.cc
+@@ -27,6 +27,8 @@ std::unique_ptr<Vp8TemporalLayers> Creat
+ // Conference mode temporal layering for screen content in base stream.
+ return absl::make_unique<ScreenshareLayers>(num_temporal_layers,
+ Clock::GetRealTimeClock());
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/audio/channel_receive.cc
++++ chromium-72.0.3626.53/third_party/webrtc/audio/channel_receive.cc
+@@ -69,6 +69,8 @@ webrtc::FrameType WebrtcFrameTypeForMedi
+ kDiscountinuousTransmission:
+ return kAudioFrameCN;
+ break;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -24,6 +24,8 @@ std::unique_ptr<KeyDerivation> KeyDeriva
+ switch (key_derivation_algorithm) {
+ case KeyDerivationAlgorithm::HKDF_SHA256:
+ return absl::make_unique<OpenSSLKeyDerivationHKDF>();
++ default:
++ __builtin_abort ();
+ }
+ RTC_NOTREACHED();
+ }
+Index: chromium-72.0.3626.53/base/task/common/operations_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/base/task/common/operations_controller.cc
++++ chromium-72.0.3626.53/base/task/common/operations_controller.cc
+@@ -55,6 +55,8 @@ OperationsController::OperationToken Ope
+ case State::kShuttingDown:
+ DecrementBy(1);
+ return OperationToken(nullptr);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,4 +107,4 @@ void OperationsController::DecrementBy(u
+ }
+
+ } // namespace internal
+-} // namespace base
+\ No newline at end of file
++} // namespace base
+Index: chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
++++ chromium-72.0.3626.53/chrome/browser/signin/mutable_profile_oauth2_token_service_delegate.cc
+@@ -294,6 +294,8 @@ bool MutableProfileOAuth2TokenServiceDel
+ case GaiaAuthConsumer::TokenRevocationStatus::kInvalidRequest:
+ case GaiaAuthConsumer::TokenRevocationStatus::kUnknownError:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/content_settings/content_setting_image_model.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/content_settings/content_setting_image_model.cc
+@@ -474,6 +474,8 @@ bool ContentSettingDownloadsImageModel::
+ case DownloadRequestLimiter::DOWNLOAD_UI_DEFAULT:
+ // No need to show icon otherwise.
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/chrome/browser/ui/views/overlay/resize_handle_button.cc
++++ chromium-72.0.3626.53/chrome/browser/ui/views/overlay/resize_handle_button.cc
+@@ -57,6 +57,8 @@ int ResizeHandleButton::GetHTComponent()
+ return HTBOTTOMRIGHT;
+ case OverlayWindowViews::WindowQuadrant::kTopRight:
+ return HTBOTTOMLEFT;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/autofill/core/browser/autofill_metrics.cc
++++ chromium-72.0.3626.53/components/autofill/core/browser/autofill_metrics.cc
+@@ -296,6 +296,8 @@ const char* GetSyncStateSuffix(AutofillS
+ return ".SignedInAndSyncFeature";
+ case AutofillSyncSigninState::kNumSyncStates:
+ return ".Unknown";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/content_settings/core/browser/host_content_settings_map.cc
++++ chromium-72.0.3626.53/components/content_settings/core/browser/host_content_settings_map.cc
+@@ -231,6 +231,8 @@ const char* ContentSettingToString(Conte
+ case CONTENT_SETTING_NUM_SETTINGS:
+ NOTREACHED();
+ return nullptr;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/omnibox/browser/autocomplete_match.cc
++++ chromium-72.0.3626.53/components/omnibox/browser/autocomplete_match.cc
+@@ -261,6 +261,9 @@ const gfx::VectorIcon& AutocompleteMatch
+ NOTREACHED();
+ static const gfx::VectorIcon dummy = {};
+ return dummy;
++
++ default:
++ __builtin_abort ();
+ }
+ }
+ #endif
+Index: chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/components/viz/common/gl_scaler.cc
++++ chromium-72.0.3626.53/components/viz/common/gl_scaler.cc
+@@ -693,6 +693,8 @@ const char* GLScaler::GetShaderName(GLSc
+ CASE_RETURN_SHADER_STR(I422_NV61_MRT);
+ CASE_RETURN_SHADER_STR(DEINTERLEAVE_PAIRWISE_MRT);
+ #undef CASE_RETURN_SHADER_STR
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/content/renderer/media/stream/media_stream_constraints_util_audio.cc
++++ chromium-72.0.3626.53/content/renderer/media/stream/media_stream_constraints_util_audio.cc
+@@ -414,6 +414,8 @@ class EchoCancellationContainer {
+ return blink::kEchoCancellationTypeSystem;
+ case EchoCancellationType::kEchoCancellationDisabled:
+ return base::nullopt;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/services/network/mdns_responder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/mdns_responder.cc
++++ chromium-72.0.3626.53/services/network/mdns_responder.cc
+@@ -435,6 +435,8 @@ class MdnsResponderManager::SocketHandle
+ case MdnsResponseSendOption::ResponseClass::UNSPECIFIED:
+ NOTREACHED();
+ return RateLimitScheme::PER_RESPONSE;
++ default:
++ __builtin_abort ();
+ }
+ }
+ // Returns null if the computed delay exceeds kMaxScheduledDelay and the next
+Index: chromium-72.0.3626.53/services/network/resource_scheduler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/services/network/resource_scheduler.cc
++++ chromium-72.0.3626.53/services/network/resource_scheduler.cc
+@@ -93,6 +93,8 @@ const char* RequestStartTriggerString(Re
+ return "REQUEST_REPRIORITIZED";
+ case RequestStartTrigger::LONG_QUEUED_REQUESTS_TIMER_FIRED:
+ return "LONG_QUEUED_REQUESTS_TIMER_FIRED";
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/core/css/properties/longhands/custom_property.cc
+@@ -97,6 +97,8 @@ const CSSValue* CustomProperty::ParseSin
+ if (registration_ && !ParseTyped(range, context, local_context))
+ return nullptr;
+ return ParseUntyped(range, context, local_context);
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/exported/indexed_db_key_builder.cc
+@@ -73,6 +73,8 @@ IndexedDBKey IndexedDBKeyBuilder::Build(
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return IndexedDBKey();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -105,6 +107,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -137,6 +141,8 @@ WebIDBKey WebIDBKeyBuilder::Build(const
+ case kWebIDBKeyTypeMin:
+ NOTREACHED();
+ return WebIDBKey::CreateInvalid();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -179,6 +185,8 @@ IndexedDBKeyPath IndexedDBKeyPathBuilder
+ return IndexedDBKeyPath(CopyArray(key_path.Array()));
+ case kWebIDBKeyPathTypeNull:
+ return IndexedDBKeyPath();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -195,6 +203,8 @@ WebIDBKeyPath WebIDBKeyPathBuilder::Buil
+ }
+ case kWebIDBKeyPathTypeNull:
+ return WebIDBKeyPath::CreateNull();
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.cc
+@@ -570,6 +570,8 @@ RTCSetSessionDescriptionOperation GetRTC
+ return RTCSetSessionDescriptionOperation::kSetRemoteDescriptionAnswer;
+ return RTCSetSessionDescriptionOperation::
+ kSetRemoteDescriptionInvalidType;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+@@ -595,6 +597,8 @@ SdpUsageCategory DeduceSdpUsageCategory(
+ sdp_semantics == webrtc::SdpSemantics::kUnifiedPlan)
+ ? SdpUsageCategory::kSafe
+ : SdpUsageCategory::kUnsafe;
++ default:
++ __builtin_abort ();
+ }
+ }
+
+Index: chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
++++ chromium-72.0.3626.53/third_party/blink/renderer/modules/service_worker/wait_until_observer.cc
+@@ -194,6 +194,8 @@ bool WaitUntilObserver::IsEventActive(Sc
+ case EventDispatchState::kDispatched:
+ case EventDispatchState::kFailed:
+ return false;
++ default:
++ __builtin_abort ();
+ }
+ NOTREACHED();
+ }
diff --git a/chromium-system-icu.patch b/chromium-system-icu.patch
index cbea609..4b153d9 100644
--- a/chromium-system-icu.patch
+++ b/chromium-system-icu.patch
@@ -1,11 +1,11 @@
---- chromium-70.0.3521.2.old/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-15 12:41:21.091987662 +0200
-+++ chromium-70.0.3521.2/third_party/blink/renderer/platform/text/character_property_data_generator.h 2018-08-17 12:37:45.459538308 +0200
-@@ -247,7 +247,7 @@
+--- chromium-72.0.3626.7.orig/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:38:52.691743205 +0100
++++ chromium-72.0.3626.7/third_party/blink/renderer/platform/text/character_property_data.h 2018-12-12 14:49:27.320195000 +0100
+@@ -247,7 +247,7 @@ static const UChar32 kIsHangulRanges[] =
0xFFA0, 0xFFDC,
};
-static const UChar32 kIsHangulArray[] = {};
+static const UChar32 kIsHangulArray[] = {0xFFDC,};
- } // namespace blink
-
+ #if !defined(USING_SYSTEM_ICU)
+ // Freezed trie tree, see character_property_data_generator.cc.
diff --git a/chromium-vaapi.sh b/chromium-vaapi.sh
index dbdaf4a..55514fd 100644
--- a/chromium-vaapi.sh
+++ b/chromium-vaapi.sh
@@ -5,8 +5,9 @@
# found in the LICENSE file.
# This file is obtained from https://src.fedoraproject.org/rpms/chromium/
-# and modified by Akarshan Biswas <akarshan.biswas(a)hotmail.com. All modifications are also
+# and modified by Akarshan Biswas <akarshanbiswas(a)fedoraproject.org>. All modifications are also
# licensed under 3-clause BSD license.
+CHROMIUM_DISTRO_FLAGS=()
# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="$(readlink -f "$0")"
@@ -38,19 +39,26 @@ else
fi
export LD_LIBRARY_PATH
+#On wayland pass the correct GDK_BACKEND
+# In future this will be used for running chromium natively on Wayland
+if [ $XDG_SESSION_TYPE == "wayland" ]; then
+export GDK_BACKEND=x11
+fi
+
+
# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)
-export CHROME_VERSION_EXTRA="Built from source for @@BUILDTARGET@@"
+export CHROME_VERSION_EXTRA="Built from source for Fedora 29"
-CHROMIUM_DISTRO_FLAGS=" --enable-plugins \
- --enable-extensions \
- --enable-user-scripts \
- --enable-printing \
- --enable-gpu-rasterization \
- --enable-sync"
+CHROMIUM_DISTRO_FLAGS+=" --enable-plugins \
+ --enable-extensions \
+ --enable-user-scripts \
+ --enable-printing \
+ --enable-gpu-rasterization \
+ --enable-sync"
-exec -a "$0" "@@CHROMIUMDIR@@/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
+exec -a "$0" "/usr/lib64/chromium-vaapi/$(basename "$0" | sed 's/\.sh$//')" $CHROMIUM_DISTRO_FLAGS "$@"
diff --git a/chromium-vaapi.spec b/chromium-vaapi.spec
index d2a0769..13c6912 100644
--- a/chromium-vaapi.spec
+++ b/chromium-vaapi.spec
@@ -19,8 +19,8 @@
# This package depends on automagic byte compilation
# https://fedoraproject.org/wiki/Changes/No_more_automagic_Python_bytecompi...
%global _python_bytecompile_extra 1
-#Require harfbuzz >= 1.8.6 for hb_font_funcs_set_glyph_h_advances_func
-%if 0%{?fedora} >= 29
+#Require harfbuzz >= 2 for hb_ot_tags_from_script_and_language
+%if 0%{?fedora} >= 30
%bcond_without system_harfbuzz
%else
%bcond_with system_harfbuzz
@@ -36,6 +36,8 @@
%bcond_without system_libicu
# Allow testing whether libvpx can be unbundled
%bcond_with system_libvpx
+# Allow testing whether ffmpeg can be unbundled
+%bcond_with system_ffmpeg
#Allow minizip to be unbundled
#mini-compat is going to be removed from fedora 30!
%if 0%{?fedora} >= 30
@@ -47,36 +49,25 @@
%bcond_with system_re2
#Turn on verbose mode
-%global debug_logs 1
+%global debug_logs 0
# Allow compiling with clang
%global clang 0
#Allow jumbo builds
# Enabled by default
%global jumbo 1
#------------------------------------------------------
-%if %{clang}
-#Disable Build debug packages for debugging on clang
-%global debug_pkg 0
-#Disable building with Fedora compilation flags on clang
-%global fedora_compilation_flags 0
-%else
#Build debug packages for debugging
%global debug_pkg 1
#Allow building with Fedora compilation flags
%global fedora_compilation_flags 1
-%endif
-# Use ld in rawhide as gold is faulty
-%if 0%{?fedora} >= 30
-%global stopgold 1
-%else
+# Gold switch
%global stopgold 0
-%endif
# Enable building with ozone support
%global ozone 0
##############################Package Definitions######################################
Name: chromium-vaapi
-Version: 71.0.3578.98
-Release: 2%{?dist}
+Version: 72.0.3626.81
+Release: 1%{?dist}
Summary: A Chromium web browser with video decoding acceleration
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
URL: https://www.chromium.org/Home
@@ -128,6 +119,9 @@ BuildRequires: pkgconfig(xtst), pkgconfig(xscrnsaver)
BuildRequires: pkgconfig(dbus-1), pkgconfig(libudev)
BuildRequires: pkgconfig(gnome-keyring-1)
BuildRequires: pkgconfig(libffi)
+%if %{ozone}
+BuildRequires: mesa-libgbm-devel
+%endif
# remove_bundled_libraries.py --do-remove
BuildRequires: python2-rpm-macros
BuildRequires: python2-beautifulsoup4
@@ -157,6 +151,9 @@ BuildRequires: libpng-devel
%if %{with system_libvpx}
BuildRequires: libvpx-devel
%endif
+%if %{with system_ffmpeg}
+BuildRequires: ffmpeg-devel
+%endif
BuildRequires: libwebp-devel
%if %{with system_libxml2}
BuildRequires: pkgconfig(libxml-2.0)
@@ -173,9 +170,11 @@ BuildRequires: desktop-file-utils
# install AppData files
BuildRequires: libappstream-glib
#for vaapi
-BuildRequires: libva-devel
+BuildRequires: libva-devel
+# Mojojojo need this >:(
+BuildRequires: java-1.8.0-openjdk
#Runtime Requirements
-Requires: hicolor-icon-theme
+Requires: hicolor-icon-theme
#Some recommendations
Recommends: libva-intel-hybrid-driver%{?_isa}
Recommends: libva-intel-driver%{?_isa}
@@ -189,15 +188,9 @@ ExclusiveArch: x86_64
Patch1: enable-vaapi.patch
# Enable support for widevine
Patch2: widevine.patch
-#Will use any clang patch here
-Patch3: ccompiler.patch
-#Fix breaking builds caused by gcc_ar_wrapper.py from upstream
-Patch7: llvm-arflags.patch
#Gcc patches area.
#Gcc produces way too many warnings. Try to silence some of it.
Patch8: silencegcc.patch
-#Fix building with GCC 8
-Patch9: chromium-71-gcc-fix.patch
# More patches to fix chromium build here
# remove dependency on unrar. That's a nasty code.
Patch50: nounrar.patch
@@ -205,19 +198,25 @@ Patch50: nounrar.patch
Patch51: py2-bootstrap.patch
# Fix building with system icu
Patch52: chromium-system-icu.patch
-# Fix chromium build with harfbuzz 2 in rawhide
-Patch53: chromium-harfbuzz2.patch
# Let's brand chromium!
Patch54: brand.patch
-# Disable sysroot related settings
-Patch55: chromium-gn-r607596.patch
# Since the newer versions of VA-API are ABI compatible, relax the version checks for VA-API, by using VA_CHECK_VERSION().
# This will help in updating the libva to the latest releases,while still supporting the old versions, till the new version of
# libva is merged and picked by the builds. Thus ensuring that hardware acceleration is not broken while updating the libva.
# Taken and rebased from https://chromium-review.googlesource.com/c/chromium/src/+/1352519
# The patch might land somewhere in the future and will be removed.
Patch56: relax-libva-version.patch
-
+#This reverts commit https://github.com/Igalia/chromium/commit/816f0e1e5c15d7fce9389a428cbd49b...
+Patch58: system-gbm.patch
+# Possibly fixes vaapi ozone build https://github.com/Igalia/chromium/commit/0fba13c7fb502568c38de99ba41719c...
+Patch59: fixvaapiozone.patch
+# Fix webrtc include error
+Patch60: chromium-webrtc-includes.patch
+Patch61: chromium-non-void-return.patch
+Patch62: chromium-dma-buf.patch
+Patch63: chromium-drm.patch
+#Use gold in gn bootstrap
+Patch64: gn-gold.patch
%description
chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
############################################PREP###########################################################
@@ -226,26 +225,25 @@ chromium-vaapi is an open-source web browser, powered by WebKit (Blink)
## Apply patches here ##
%patch1 -p1 -b .vaapi
%patch2 -p1 -b .widevine
-%if %{clang}
-%patch3 -p1 -b .cc
-%patch7 -p1 -b .llvmarflags
-%else
%patch8 -p1 -b .silencegcc
-%patch9 -p1 -b .gcc
-%endif
%patch50 -p1 -b .nounrar
%patch51 -p1 -b .py2boot
%patch52 -p1 -b .icu
-%if 0%{?fedora} >= 30
-%patch53 -p1 -b .harfbuzz2
-%endif
%if %{freeworld}
%patch54 -p1 -b .brand
%endif
-%patch55 -p1 -b .gn
%patch56 -p1 -b .relaxva
+%if %{ozone}
+%patch58 -p1 -b .sysgbm
+%patch59 -p1 -b .fixozonevaapi
+%endif
+%patch60 -p1 -b .webrtc
+%patch61 -p1 -b .nonvoid
+%patch62 -p1 -b .dma
+%patch63 -p1 -b .drm
+%patch64 -p1 -b .gn
#Let's change the default shebang of python files.
-find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
+find -depth -type f -writable -name "*.py" -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python2}=' {} +
./build/linux/unbundle/remove_bundled_libraries.py --do-remove \
base/third_party/dmg_fp \
base/third_party/dynamic_annotations \
@@ -271,10 +269,10 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
net/third_party/uri_template \
third_party/abseil-cpp \
third_party/adobe \
- third_party/analytics \
third_party/angle \
third_party/angle/src/common/third_party/base \
third_party/angle/src/common/third_party/smhasher \
+ third_party/angle/src/common/third_party/xxhash \
third_party/angle/src/third_party/compiler \
third_party/angle/src/third_party/libXNVCtrl \
third_party/angle/src/third_party/trace_event \
@@ -306,18 +304,20 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/catapult/tracing/third_party/pako \
third_party/ced \
third_party/cld_3 \
+ third_party/closure_compiler \
third_party/crashpad \
third_party/crashpad/crashpad/third_party/zlib \
third_party/crc32c \
third_party/cros_system_api \
third_party/devscripts \
third_party/dom_distiller_js \
+%if !%{with system_ffmpeg}
third_party/ffmpeg \
+%endif
third_party/fips181 \
third_party/flatbuffers \
third_party/flot \
third_party/freetype \
- third_party/glslang-angle \
third_party/google_input_tools \
third_party/google_input_tools/third_party/closure_library \
third_party/google_input_tools/third_party/closure_library/third_party/closure \
@@ -369,6 +369,7 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/minizip/ \
%endif
third_party/modp_b64 \
+ third_party/nasm \
third_party/node \
third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 \
third_party/openh264 \
@@ -407,22 +408,16 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
third_party/speech-dispatcher \
third_party/spirv-headers \
third_party/SPIRV-Tools \
- third_party/spirv-tools-angle \
third_party/sqlite \
- third_party/swiftshader \
- third_party/swiftshader/third_party/llvm-subzero \
- third_party/swiftshader/third_party/subzero \
third_party/tcmalloc \
third_party/usb_ids \
third_party/usrsctp \
third_party/vulkan \
- third_party/vulkan-validation-layers \
%if %{ozone}
third_party/wayland \
%endif
third_party/web-animations-js \
third_party/webdriver \
- third_party/WebKit \
third_party/webrtc \
third_party/webrtc/common_audio/third_party/fft4g \
third_party/webrtc/common_audio/third_party/spl_sqrt_floor \
@@ -447,6 +442,9 @@ find -depth -type f -exec sed -iE '1s=^#! */usr/bin/\(python\|env python\)[23]\?
v8/third_party/v8
./build/linux/unbundle/replace_gn_files.py --system-libraries \
+%if %{with system_ffmpeg}
+ ffmpeg \
+%endif
flac \
freetype \
fontconfig \
@@ -495,10 +493,6 @@ sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"chromium-vaapi"/' $FILE
#####################################BUILD#############################################
%build
#export compilar variables
-%if %{clang}
-export AR=llvm-ar NM=llvm-nm
-export CC=clang CXX=clang++
-%else
export AR=ar NM=nm
export CC=gcc CXX=g++
%if %{fedora_compilation_flags}
@@ -520,7 +514,6 @@ export LDFLAGS='%{__global_ldflags}'
%else
export CXXFLAGS=$CXXFLAGS" -fpermissive"
%endif
-%endif
gn_args=(
is_debug=false
use_vaapi=true
@@ -564,34 +557,28 @@ gn_args=(
)
# Gold is faulty on rawhide so disabled it.
gn_args+=(
-%if %{clang}
- is_clang=true
- 'clang_base_path = "/usr"'
- clang_use_chrome_plugins=false
-%else
is_clang=false
use_lld=false
%if %{stopgold}
use_gold=false
%endif
-%endif
)
#Jumbo stuff
gn_args+=(
%if %{jumbo}
use_jumbo_build=true
- jumbo_file_merge_limit=7
+ jumbo_file_merge_limit=5
concurrent_links=1
%endif
)
# Ozone stuff
+# Tracking bug : https://github.com/Igalia/chromium/issues/512
gn_args+=(
%if %{ozone}
use_ozone=true
- ozone_auto_platforms=true
- ozone_platform_wayland=true
+ use_system_minigbm=true
use_xkbcommon=true
%endif
)
@@ -692,6 +679,14 @@ appstream-util validate-relax --nonet "%{buildroot}%{_metainfodir}/%{name}.appda
%{chromiumdir}/locales/*.pak
#########################################changelogs#################################################
%changelog
+* Tue Feb 05 2019 Akarshan Biswas <akarshanbiswas(a)fedoraproject.org> 72.0.3626.81-1
+- Update to 72.0.3626.81
+- Add a patch to fix missing includes in webrtc
+- ozone updates (WIP)
+- Fix gn where it now needs gold linker in bootstrap
+- remove clang building implementation in this spec (out of scope)
+- Make sure chromium uses the x11 GDK backend in wayland
+
* Fri Dec 21 2018 Akarshan Biswas <akarshan.biswas(a)hotmail.com> 71.0.3578.98-2
- Re enable the non effective enable_widevine flag
diff --git a/chromium-webrtc-includes.patch b/chromium-webrtc-includes.patch
new file mode 100644
index 0000000..0c66920
--- /dev/null
+++ b/chromium-webrtc-includes.patch
@@ -0,0 +1,16754 @@
+From 3e70781361ed0666b925fe4333a567025de211bb Mon Sep 17 00:00:00 2001
+From: Yves Gerey <yvesg(a)webrtc.org>
+Date: Wed, 28 Nov 2018 16:47:49 +0100
+Subject: [PATCH] [Cleanup] Add missing #include. Remove useless ones. IWYU part 2.
+
+This is a follow-up to
+https://webrtc-review.googlesource.com/c/src/+/106280.
+This time the whole code base is covered.
+Some files may have not been fixed though, whenever the IWYU tool
+was breaking the build.
+
+Bug: webrtc:8311
+Change-Id: I2c31f552a87e887d33931d46e87b6208b1e483ef
+Reviewed-on: https://webrtc-review.googlesource.com/c/111965
+Commit-Queue: Yves Gerey <yvesg(a)google.com>
+Reviewed-by: Karl Wiberg <kwiberg(a)webrtc.org>
+Reviewed-by: Mirko Bonadei <mbonadei(a)webrtc.org>
+Cr-Commit-Position: refs/heads/master@{#25830}
+---
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/BUILD.gn
+@@ -58,6 +58,7 @@ rtc_static_library("create_peerconnectio
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+ "../media:rtc_audio_video",
++ "../media:rtc_media_base",
+ "../modules/audio_device:audio_device_api",
+ "../modules/audio_processing:api",
+ "../pc:peerconnection",
+@@ -202,6 +203,7 @@ rtc_source_set("test_dependency_factory"
+ ]
+ deps = [
+ ":video_quality_test_fixture_api",
++ "../rtc_base:checks",
+ "../rtc_base:thread_checker",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -279,6 +281,7 @@ rtc_source_set("audio_options_api") {
+ ]
+
+ deps = [
++ ":array_view",
+ "../rtc_base:stringutils",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -636,7 +639,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":libjingle_peerconnection_api",
+ "../rtc_base:checks",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/api/DEPS
+@@ -110,6 +110,12 @@ specific_include_rules = {
+ "+rtc_base/bind.h",
+ ],
+
++ "proxy\.h": [
++ "+rtc_base/messagehandler.h", # Inherits from it.
++ "+rtc_base/messagequeue.h", # Inherits from MessageData.
++ "+rtc_base/scoped_ref_ptr.h",
++ ],
++
+ "refcountedbase\.h": [
+ "+rtc_base/constructormagic.h",
+ "+rtc_base/refcount.h",
+@@ -258,7 +264,8 @@ specific_include_rules = {
+ ],
+
+ "i010_buffer\.h": [
+- "+rtc_base/memory/aligned_malloc.h"
++ "+rtc_base/memory/aligned_malloc.h",
++ "+rtc_base/scoped_ref_ptr.h",
+ ],
+
+ "i420_buffer\.h": [
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/BUILD.gn
+@@ -55,6 +55,7 @@ rtc_source_set("aec3_config_json") {
+ ]
+ deps = [
+ ":aec3_config",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_json",
+ "../../rtc_base/system:rtc_export",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/echo_canceller3_config_json.cc
+@@ -9,9 +9,11 @@
+ */
+ #include "api/audio/echo_canceller3_config_json.h"
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/json.h"
+ #include "rtc_base/strings/string_builder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/audio_frame_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h> // memcmp
+
+ #include "api/audio/audio_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio/test/echo_canceller3_config_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
+-
+ #include "api/audio/echo_canceller3_config.h"
+ #include "api/audio/echo_canceller3_config_json.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/audio_options.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/audio_options.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/audio_options.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/create_peerconnection_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/create_peerconnection_factory.cc
+@@ -13,16 +13,21 @@
+ #include <memory>
+ #include <utility>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/call/callfactoryinterface.h"
++#include "api/fec_controller.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/transport/network_control.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/mediaengine.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/mediastreaminterface.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/mediastreaminterface.cc
+@@ -9,8 +9,6 @@
+ */
+
+ #include "api/mediastreaminterface.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/proxy.h
+@@ -53,12 +53,20 @@
+ #define API_PROXY_H_
+
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "rtc_base/event.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+
++namespace rtc {
++class Location;
++}
++
+ namespace webrtc {
+
+ template <typename R>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/rtpparameters_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/rtpparameters_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
+-
+ #include "api/rtpparameters.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_STATS_RTCSTATS_H_
+ #define API_STATS_RTCSTATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstats_objects.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstats_objects.h
+@@ -11,6 +11,7 @@
+ #ifndef API_STATS_RTCSTATS_OBJECTS_H_
+ #define API_STATS_RTCSTATS_OBJECTS_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/stats/rtcstatsreport.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/stats/rtcstatsreport.h
+@@ -11,6 +11,8 @@
+ #ifndef API_STATS_RTCSTATSREPORT_H_
+ #define API_STATS_RTCSTATSREPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_decryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_decryptor.h
+@@ -11,9 +11,13 @@
+ #ifndef API_TEST_FAKE_FRAME_DECRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_DECRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
++#include "api/array_view.h"
+ #include "api/crypto/framedecryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/fake_frame_encryptor.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/fake_frame_encryptor.h
+@@ -11,7 +11,12 @@
+ #ifndef API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+ #define API_TEST_FAKE_FRAME_ENCRYPTOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/array_view.h"
+ #include "api/crypto/frameencryptorinterface.h"
++#include "api/mediatypes.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.cc
+@@ -13,6 +13,7 @@
+
+ #include "absl/memory/memory.h"
+ #include "api/test/test_dependency_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/test_dependency_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/test_dependency_factory.h
+@@ -14,7 +14,6 @@
+ #include <memory>
+
+ #include "api/test/video_quality_test_fixture.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/test/videocodec_test_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/test/videocodec_test_stats.h
+@@ -11,7 +11,8 @@
+ #ifndef API_TEST_VIDEOCODEC_TEST_STATS_H_
+ #define API_TEST_VIDEOCODEC_TEST_STATS_H_
+
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/BUILD.gn
+@@ -69,6 +69,10 @@ if (rtc_include_tests) {
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../test:test_support",
++ "../units:data_rate",
++ "../units:data_size",
++ "../units:time_delta",
++ "../units:timestamp",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/goog_cc_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/goog_cc_factory.cc
+@@ -10,8 +10,11 @@
+
+ #include "api/transport/goog_cc_factory.h"
+
++#include <stdint.h>
++
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
++
+ namespace webrtc {
+ GoogCcNetworkControllerFactory::GoogCcNetworkControllerFactory(
+ RtcEventLog* event_log)
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.cc
+@@ -11,8 +11,13 @@
+ #include "api/transport/test/network_control_tester.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/units/data_size.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/transport/test/network_control_tester.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/transport/test/network_control_tester.h
+@@ -11,12 +11,16 @@
+ #ifndef API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+ #define API_TRANSPORT_TEST_NETWORK_CONTROL_TESTER_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <functional>
+ #include <memory>
+
+-#include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/BUILD.gn
+@@ -18,6 +18,7 @@ rtc_source_set("data_rate") {
+ deps = [
+ ":data_size",
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -32,6 +33,7 @@ rtc_source_set("data_size") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -46,6 +48,7 @@ rtc_source_set("time_delta") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+@@ -61,6 +64,7 @@ rtc_source_set("timestamp") {
+
+ deps = [
+ ":time_delta",
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/units:unit_base",
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_rate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_rate.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_rate.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/data_size.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/data_size.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/data_size.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/time_delta.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/time_delta.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/time_delta.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/units/timestamp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/units/timestamp.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/units/timestamp.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/BUILD.gn
+@@ -32,6 +32,7 @@ rtc_source_set("video_frame") {
+ ]
+
+ deps = [
++ "..:array_view",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:rtc_export",
+@@ -199,6 +200,7 @@ rtc_source_set("video_stream_encoder_cre
+ }
+
+ deps = [
++ ":video_frame",
+ ":video_stream_encoder",
+ "../../rtc_base:ptr_util",
+ "../../video:video_stream_encoder_impl",
+@@ -216,12 +218,15 @@ rtc_static_library("builtin_video_bitrat
+
+ deps = [
+ ":video_bitrate_allocation",
++ ":video_bitrate_allocator",
+ ":video_bitrate_allocator_factory",
++ "../../:webrtc_common",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_coding_utility",
+ "../../modules/video_coding:webrtc_vp9_helpers",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:fallthrough",
++ "../video_codecs:video_codecs_api",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/builtin_video_bitrate_allocator_factory.cc
+@@ -11,7 +11,9 @@
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/encoded_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/encoded_frame.h
+@@ -13,6 +13,9 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ namespace webrtc {
+ namespace video_coding {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.cc
+@@ -9,14 +9,12 @@
+ */
+ #include "api/video/i010_buffer.h"
+
+-#include <algorithm>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+ // Aligning pointer to 64 bytes for improved performance, e.g. use SIMD.
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i010_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i010_buffer.h
+@@ -11,11 +11,13 @@
+ #ifndef API_VIDEO_I010_BUFFER_H_
+ #define API_VIDEO_I010_BUFFER_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+ #include "rtc_base/memory/aligned_malloc.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/i420_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/i420_buffer.cc
+@@ -10,12 +10,11 @@
+ #include "api/video/i420_buffer.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/BUILD.gn
+@@ -18,5 +18,6 @@ rtc_source_set("rtc_api_video_unittests"
+ "..:video_bitrate_allocation",
+ "..:video_frame",
+ "../../../test:test_support",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/test/video_bitrate_allocation_unittest.cc
+@@ -8,9 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/video_bitrate_allocation.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.cc
+@@ -11,6 +11,7 @@
+ #include "api/video/video_stream_encoder_create.h"
+
+ #include "absl/memory/memory.h"
++#include "video/overuse_frame_detector.h"
+ #include "video/video_stream_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_stream_encoder_create.h
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_stream_encoder_create.h
+@@ -11,10 +11,11 @@
+ #ifndef API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+ #define API_VIDEO_VIDEO_STREAM_ENCODER_CREATE_H_
+
+-#include <map>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_stream_encoder_interface.h"
+ #include "api/video/video_stream_encoder_observer.h"
+ #include "api/video/video_stream_encoder_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video/video_timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video/video_timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "api/video/video_timing.h"
+
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/BUILD.gn
+@@ -80,6 +80,7 @@ rtc_static_library("builtin_video_encode
+ "../../media:rtc_internal_video_codecs",
+ "../../media:rtc_media_base",
+ "../../media:rtc_vp8_encoder_simulcast_proxy",
++ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base/system:rtc_export",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -101,7 +102,7 @@ rtc_static_library("create_vp8_temporal_
+ "../../modules/video_coding:video_codec_interface",
+ "../../modules/video_coding:webrtc_vp8_temporal_layers",
+ "../../system_wrappers:system_wrappers",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -122,6 +123,7 @@ rtc_static_library("rtc_software_fallbac
+
+ deps = [
+ ":video_codecs_api",
++ "../../:webrtc_common",
+ "../../media:rtc_h264_profile_id",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_codec_interface",
+@@ -129,7 +131,10 @@ rtc_static_library("rtc_software_fallbac
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base/system:fallthrough",
+ "../../system_wrappers:field_trial",
++ "../video:encoded_image",
+ "../video:video_bitrate_allocation",
++ "../video:video_frame",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/builtin_video_encoder_factory.cc
+@@ -15,10 +15,12 @@
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/BUILD.gn
+@@ -22,14 +22,19 @@ if (rtc_include_tests) {
+ "..:rtc_software_fallback_wrappers",
+ "..:video_codecs_api",
+ "../..:mock_video_encoder",
++ "../../../:webrtc_common",
++ "../../../modules:module_api",
+ "../../../modules/video_coding:video_codec_interface",
+ "../../../modules/video_coding:video_coding_utility",
+ "../../../modules/video_coding:webrtc_vp8",
+ "../../../rtc_base:checks",
++ "../../../rtc_base:ptr_util",
+ "../../../rtc_base:rtc_base_tests_utils",
+ "../../../test:field_trial",
+ "../../../test:test_support",
++ "../../video:encoded_image",
+ "../../video:video_bitrate_allocation",
++ "../../video:video_frame",
+ "../../video:video_frame_i420",
+ "//testing/gtest",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/builtin_video_encoder_factory_unittest.cc
+@@ -11,9 +11,11 @@
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
+
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "api/video_codecs/sdp_video_format.h"
+-#include "test/gmock.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_decoder_software_fallback_wrapper_unittest.cc
+@@ -9,8 +9,17 @@
+ */
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/test/video_encoder_software_fallback_wrapper_unittest.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_encoder.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/field_trial.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_decoder_software_fallback_wrapper.cc
+@@ -10,10 +10,13 @@
+
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
+@@ -10,18 +10,21 @@
+
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+
++#include <stdint.h>
+ #include <cstdio>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "media/base/codec.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/call/BUILD.gn
+@@ -124,6 +124,10 @@ rtc_source_set("rtp_sender") {
+ "../api:fec_controller_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:data_rate",
++ "../api/units:time_delta",
++ "../api/units:timestamp",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
+ "../logging:rtc_event_log_api",
+ "../modules/congestion_controller",
+@@ -133,6 +137,7 @@ rtc_source_set("rtp_sender") {
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/utility",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../rtc_base:checks",
+ "../rtc_base:rate_limiter",
+@@ -140,7 +145,10 @@ rtc_source_set("rtp_sender") {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_task_queue",
+ "../system_wrappers:field_trial",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ }
+
+@@ -155,6 +163,7 @@ rtc_source_set("bitrate_configurator") {
+ "../api/transport:bitrate_settings",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -199,10 +208,16 @@ rtc_static_library("call") {
+ ":rtp_sender",
+ ":simulated_network",
+ ":video_stream_api",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:callfactory_api",
++ "../api:fec_controller_api",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../api/transport:network_control",
++ "../api/units:time_delta",
++ "../api/video_codecs:video_codecs_api",
+ "../audio",
+ "../logging:rtc_event_audio",
+ "../logging:rtc_event_log_api",
+@@ -223,6 +238,7 @@ rtc_static_library("call") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:sequenced_task_checker",
+ "../rtc_base/experiments:field_trial_parser",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/synchronization:rw_lock_wrapper",
+ "../system_wrappers",
+ "../system_wrappers:field_trial",
+@@ -265,6 +281,7 @@ rtc_source_set("simulated_network") {
+ "../api/units:data_rate",
+ "../api/units:data_size",
+ "../api/units:time_delta",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+@@ -291,10 +308,13 @@ rtc_source_set("fake_network") {
+ ":call_interfaces",
+ ":simulated_network",
+ ":simulated_packet_receiver",
++ "..:webrtc_common",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+ "../modules:module_api",
+ "../modules/utility",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
+@@ -330,12 +350,15 @@ if (rtc_include_tests) {
+ ":rtp_receiver",
+ ":rtp_sender",
+ ":simulated_network",
++ "../:webrtc_common",
+ "../api:array_view",
+ "../api:fake_media_transport",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../api:mock_audio_mixer",
++ "../api:transport_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
++ "../api/video:video_frame",
+ "../audio:audio",
+ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_impl_base",
+@@ -351,6 +374,7 @@ if (rtc_include_tests) {
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/utility:mock_process_thread",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+ "../rtc_base:checks",
+@@ -367,6 +391,7 @@ if (rtc_include_tests) {
+ "../video:video",
+ "//testing/gmock",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.cc
+@@ -10,14 +10,15 @@
+
+ #include "call/callfactory.h"
+
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
+ #include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "call/call.h"
+ #include "call/degraded_call.h"
+-#include "call/fake_network_pipe.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/callfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/callfactory.h
+@@ -12,6 +12,8 @@
+ #define CALL_CALLFACTORY_H_
+
+ #include "api/call/callfactoryinterface.h"
++#include "call/call.h"
++#include "call/call_config.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.cc
+@@ -10,9 +10,9 @@
+
+ #include <utility>
+
+-#include "call/degraded_call.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/degraded_call.h"
++#include "rtc_base/location.h"
+
+ namespace webrtc {
+ DegradedCall::DegradedCall(
+Index: chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/degraded_call.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/degraded_call.h
+@@ -11,15 +11,31 @@
+ #ifndef CALL_DEGRADED_CALL_H_
+ #define CALL_DEGRADED_CALL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+ #include "api/call/transport.h"
++#include "api/fec_controller.h"
++#include "api/mediatypes.h"
++#include "api/rtp_headers.h"
+ #include "api/test/simulated_network.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/audio_receive_stream.h"
++#include "call/audio_send_stream.h"
+ #include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/packet_receiver.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/simulated_network.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/bitrateallocationstrategy.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/fake_network_pipe.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/fake_network_pipe.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+ #include <string.h>
+-
+ #include <algorithm>
++#include <queue>
+ #include <utility>
++#include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "call/call.h"
++#include "api/mediatypes.h"
+ #include "call/fake_network_pipe.h"
+-#include "call/simulated_network.h"
+ #include "modules/utility/include/process_thread.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_impl.cc
+@@ -10,8 +10,14 @@
+
+ #include "call/flexfec_receive_stream_impl.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <string>
++#include <vector>
+
++#include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtpparameters.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "modules/rtp_rtcp/include/flexfec_receiver.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/flexfec_receive_stream_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "call/flexfec_receive_stream_impl.h"
+-
+-#include <stdint.h>
++#include <cstdint>
+ #include <memory>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/call/transport.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/flexfec_receive_stream_impl.h"
+ #include "call/rtp_stream_receiver_controller.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/flexfec_receiver.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/mocks/mock_recovered_packet_receiver.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtcp_rtt_stats.h"
+ #include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/utility/include/mock/mock_process_thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.cc
+@@ -11,10 +11,10 @@
+ #include "call/receive_time_calculator.h"
+
+ #include <string>
++#include <type_traits>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator.h
+@@ -10,9 +10,11 @@
+ #ifndef CALL_RECEIVE_TIME_CALCULATOR_H_
+ #define CALL_RECEIVE_TIME_CALCULATOR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "rtc_base/experiments/field_trial_units.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/receive_time_calculator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/receive_time_calculator_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "call/receive_time_calculator.h"
+
++#include <stdlib.h>
+ #include <algorithm>
+-#include <iostream>
+-#include <tuple>
++#include <cmath>
++#include <cstdint>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer.cc
+@@ -10,6 +10,11 @@
+
+ #include "call/rtcp_demuxer.h"
+
++#include <stddef.h>
++#include <algorithm>
++#include <utility>
++
++#include "absl/types/optional.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "call/rtp_rtcp_demuxer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtcp_demuxer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtcp_demuxer_unittest.cc
+@@ -10,14 +10,14 @@
+
+ #include "call/rtcp_demuxer.h"
+
+-#include <memory>
++#include <stddef.h>
+ #include <set>
+
+-#include "absl/memory/memory.h"
+ #include "api/rtp_headers.h"
+ #include "call/rtcp_packet_sink_interface.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_bitrate_configurator.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_bitrate_configurator.h
+@@ -11,6 +11,7 @@
+ #ifndef CALL_RTP_BITRATE_CONFIGURATOR_H_
+ #define CALL_RTP_BITRATE_CONFIGURATOR_H_
+
++#include "absl/types/optional.h"
+ #include "api/bitrate_constraints.h"
+ #include "api/transport/bitrate_settings.h"
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params.cc
+@@ -10,7 +10,17 @@
+
+ #include "call/rtp_payload_params.h"
+
+-#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include <stddef.h>
++
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_payload_params_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_payload_params_unittest.cc
+@@ -8,10 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
++#include <string.h>
++#include <map>
+ #include <set>
+
++#include "absl/container/inlined_vector.h"
++#include "absl/types/optional.h"
++#include "absl/types/variant.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_rotation.h"
+ #include "call/rtp_payload_params.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper.h
+@@ -11,9 +11,8 @@
+ #ifndef CALL_RTP_RTCP_DEMUXER_HELPER_H_
+ #define CALL_RTP_RTCP_DEMUXER_HELPER_H_
+
+-#include <algorithm>
+-#include <map>
+-#include <utility>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
+ #include "api/array_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_rtcp_demuxer_helper_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <cstdio>
+
+ #include "call/rtp_rtcp_demuxer_helper.h"
+-
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_jitter_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/extended_reports.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtp_transport_controller_send.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtp_transport_controller_send.cc
+@@ -11,9 +11,16 @@
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "call/rtp_transport_controller_send.h"
++#include "call/rtp_video_sender.h"
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+ #include "modules/congestion_controller/rtp/include/send_side_congestion_controller.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/rate_limiter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/rtx_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/rtx_receive_stream.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "call/rtx_receive_stream.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.cc
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.cc
+@@ -13,7 +13,11 @@
+ #include <algorithm>
+ #include <cmath>
+ #include <utility>
++
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/call/simulated_network.h
++++ chromium-72.0.3626.53/third_party/webrtc/call/simulated_network.h
+@@ -10,11 +10,11 @@
+ #ifndef CALL_SIMULATED_NETWORK_H_
+ #define CALL_SIMULATED_NETWORK_H_
+
++#include <stdint.h>
+ #include <deque>
+ #include <queue>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+ #include "api/test/simulated_network.h"
+ #include "rtc_base/criticalsection.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_audio/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_audio/BUILD.gn
+@@ -58,7 +58,7 @@ rtc_static_library("common_audio") {
+ "../system_wrappers:cpu_features_api",
+ "third_party/fft4g:fft4g",
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/BUILD.gn
+@@ -86,10 +86,14 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":common_video",
++ "../:webrtc_common",
++ "../api/units:time_delta",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i010",
+ "../api/video:video_frame_i420",
++ "../media:rtc_h264_profile_id",
+ "../modules/video_capture:video_capture",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/bitrate_adjuster_unittest.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "common_video/include/bitrate_adjuster.h"
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/fakeclock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/pps_parser_unittest.cc
+@@ -10,12 +10,10 @@
+
+ #include "common_video/h264/pps_parser.h"
+
+-#include <limits>
+-#include <memory>
+-
+ #include "common_video/h264/h264_common.h"
+ #include "rtc_base/bitbuffer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/profile_level_id_unittest.cc
+@@ -10,6 +10,12 @@
+
+ #include "common_video/h264/profile_level_id.h"
+
++#include <map>
++#include <string>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "media/base/h264_profile_level_id.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/h264/sps_vui_rewriter_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <vector>
+
+ #include "common_video/h264/h264_common.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/i420_buffer_pool_unittest.cc
+@@ -8,9 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string>
++#include <stdint.h>
++#include <string.h>
+
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/libyuv/webrtc_libyuv.cc
+@@ -10,7 +10,7 @@
+
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+
+-#include <string.h>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "common_video/include/video_frame_buffer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/common_video/video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/common_video/video_frame_buffer.cc
+@@ -9,16 +9,10 @@
+ */
+ #include "common_video/include/video_frame_buffer.h"
+
+-#include <string.h>
+-
+-#include <algorithm>
+-
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/planar_functions.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/examples/BUILD.gn
+@@ -681,14 +681,21 @@ if (is_linux || is_win) {
+ suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+ }
+ deps = [
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame_i420",
++ "../api/video_codecs:video_codecs_api",
++ "../media:rtc_media_base",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/sigslot",
+ "../system_wrappers:field_trial",
+ "../test:field_trial",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (is_win) {
+ sources += [
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/conductor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/conductor.cc
+@@ -10,22 +10,37 @@
+
+ #include "examples/peerconnection/client/conductor.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/rtpsenderinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "examples/peerconnection/client/defaults.h"
++#include "media/base/device.h"
+ #include "media/engine/webrtcvideocapturerfactory.h"
+ #include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_factory.h"
++#include "p2p/base/portallocator.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/strings/json.h"
+
+ // Names used for a IceCandidate JSON object.
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/defaults.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/defaults.cc
+@@ -11,7 +11,6 @@
+ #include "examples/peerconnection/client/defaults.h"
+
+ #include <stdlib.h>
+-#include <string.h>
+
+ #ifdef WIN32
+ #include <winsock2.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <glib.h>
+ #include <gtk/gtk.h>
++#include <stdio.h>
+
+ #include "examples/peerconnection/client/conductor.h"
+ #include "examples/peerconnection/client/flagdefs.h"
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
+-
++#include "rtc_base/flags.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+@@ -10,12 +10,25 @@
+
+ #include "examples/peerconnection/client/linux/main_wnd.h"
+
++#include <cairo.h>
++#include <gdk/gdk.h>
+ #include <gdk/gdkkeysyms.h>
++#include <glib-object.h>
++#include <glib.h>
++#include <gobject/gclosure.h>
+ #include <gtk/gtk.h>
+ #include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
++#include <utility>
+
+ #include "api/video/i420_buffer.h"
+-#include "examples/peerconnection/client/defaults.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_source_interface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "third_party/libyuv/include/libyuv/convert_from.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/client/linux/main_wnd.h
+@@ -11,11 +11,16 @@
+ #ifndef EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+ #define EXAMPLES_PEERCONNECTION_CLIENT_LINUX_MAIN_WND_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "examples/peerconnection/client/main_wnd.h"
+ #include "examples/peerconnection/client/peer_connection_client.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // Forward declarations.
+ typedef struct _GtkWidget GtkWidget;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/main.cc
+@@ -11,13 +11,15 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
++#if defined(WEBRTC_POSIX)
++#include <sys/select.h>
++#endif
++#include <time.h>
++#include <string>
+ #include <vector>
+
+ #include "examples/peerconnection/server/data_socket.h"
+ #include "examples/peerconnection/server/peer_channel.h"
+-#include "examples/peerconnection/server/utils.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/peer_channel.cc
+@@ -10,10 +10,9 @@
+
+ #include "examples/peerconnection/server/peer_channel.h"
+
++#include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <algorithm>
+
+ #include "examples/peerconnection/server/data_socket.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/peerconnection/server/utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/examples/peerconnection/server/utils.h
+@@ -11,6 +11,7 @@
+ #ifndef EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+ #define EXAMPLES_PEERCONNECTION_SERVER_UTILS_H_
+
++#include <stddef.h>
+ #include <string>
+
+ #ifndef ARRAYSIZE
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/relayserver/relayserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/relayserver/relayserver_main.cc
+@@ -12,6 +12,9 @@
+ #include <memory>
+
+ #include "p2p/base/relayserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ int main(int argc, char** argv) {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunprober/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunprober/main.cc
+@@ -8,25 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-
+-#include <map>
+ #include <memory>
++#include <set>
+ #include <sstream>
++#include <string>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/ssladapter.h"
+-#include "rtc_base/strings/string_builder.h"
+-#include "rtc_base/stringutils.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/stunserver/stunserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/stunserver/stunserver_main.cc
+@@ -7,14 +7,12 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-
+-#if defined(WEBRTC_POSIX)
+-#include <errno.h>
+-#endif // WEBRTC_POSIX
+-
+ #include <iostream>
+
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ using cricket::StunServer;
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/read_auth_file.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/read_auth_file.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "examples/turnserver/read_auth_file.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/stringencode.h"
+
+ namespace webrtc_examples {
+Index: chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/examples/turnserver/turnserver_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/examples/turnserver/turnserver_main.cc
+@@ -12,12 +12,16 @@
+ #include <iostream>
+ #include <map>
+ #include <string>
++#include <utility>
+
+ #include "examples/turnserver/read_auth_file.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/turnserver.h"
+ #include "rtc_base/asyncudpsocket.h"
+-#include "rtc_base/stringencode.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/logging/BUILD.gn
+@@ -173,6 +173,8 @@ rtc_static_library("rtc_event_log_impl_e
+ defines = []
+
+ deps = [
++ "../api:libjingle_peerconnection_api",
++ "../api/transport:network_control",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+@@ -346,6 +348,7 @@ if (rtc_enable_protobuf) {
+ ":rtc_event_rtp_rtcp",
+ ":rtc_event_video",
+ ":rtc_stream_config",
++ "../api:array_view",
+ "../api:libjingle_peerconnection_api",
+ "../call",
+ "../call:call_interfaces",
+@@ -355,6 +358,7 @@ if (rtc_enable_protobuf) {
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -375,13 +379,15 @@ if (rtc_enable_protobuf) {
+ deps = [
+ ":rtc_event_log_api",
+ ":rtc_event_log_parser",
++ "../api:array_view",
++ "../api:libjingle_peerconnection_api",
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../test:rtp_test_utils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/DEPS
+@@ -4,4 +4,5 @@ include_rules = [
+ "+modules/congestion_controller",
+ "+modules/remote_bitrate_estimator/include",
+ "+modules/rtp_rtcp",
++ "+system_wrappers",
+ ]
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.cc
+@@ -10,9 +10,10 @@
+
+ #include "logging/rtc_event_log/encoder/blob_encoding.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "logging/rtc_event_log/encoder/varint.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/blob_encoding.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_BLOB_ENCODING_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/delta_encoding.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_DELTA_ENCODING_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_common_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_common.h"
+
++#include <cstdint>
+ #include <limits>
+ #include <type_traits>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.cc
+@@ -10,6 +10,13 @@
+
+ #include "logging/rtc_event_log/encoder/rtc_event_log_encoder_legacy.h"
+
++#include <string.h>
++#include <vector>
++
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "api/transport/network_types.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/encoder/varint.h
+@@ -11,6 +11,8 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+ #define LOGGING_RTC_EVENT_LOG_ENCODER_VARINT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+
+ #include "absl/strings/string_view.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/events/rtc_event_ice_candidate_pair_config.h
+@@ -11,6 +11,7 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+ #define LOGGING_RTC_EVENT_LOG_EVENTS_RTC_EVENT_ICE_CANDIDATE_PAIR_CONFIG_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "logging/rtc_event_log/events/rtc_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/fake_rtc_event_log_factory.cc
+@@ -10,8 +10,7 @@
+
+ #include "logging/rtc_event_log/fake_rtc_event_log_factory.h"
+
+-#include <utility>
+-
++#include "logging/rtc_event_log/fake_rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file.h
+@@ -13,8 +13,6 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
+-
+-#include <memory>
+ #include <string>
+
+ #include "api/rtceventlogoutput.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/output/rtc_event_log_output_file_unittest.cc
+@@ -11,6 +11,7 @@
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
+
+ #include <fstream>
++#include <iterator>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log2rtp_dump.cc
+@@ -8,24 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <iostream>
+ #include <memory>
+-#include <sstream>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet.h"
+-#include "modules/rtp_rtcp/source/rtp_utility.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
++#include "test/rtp_file_reader.h"
+ #include "test/rtp_file_writer.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_factory.h
+@@ -13,6 +13,7 @@
+
+ #include <memory>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
+ #include "rtc_base/task_queue.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc
+@@ -11,8 +11,8 @@
+ #include "logging/rtc_event_log/rtc_event_log_unittest_helper.h"
+
+ #include <string.h> // memcmp
+-
+-#include <algorithm>
++#include <cmath>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+ #include <numeric>
+@@ -20,14 +20,21 @@
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
+-#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor.h"
++#include "api/array_view.h"
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
++#include "modules/audio_coding/audio_network_adaptor/include/audio_network_adaptor_config.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/rtp_rtcp/include/rtp_cvo.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extensions.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_to_send.h"
++#include "rtc_base/buffer.h"
+ #include "rtc_base/checks.h"
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h
+@@ -11,9 +11,10 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_LOG_UNITTEST_HELPER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+-#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_alr_state.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_network_adaptation.h"
+ #include "logging/rtc_event_log/events/rtc_event_audio_playout.h"
+@@ -34,9 +35,11 @@
+ #include "logging/rtc_event_log/events/rtc_event_video_send_stream_config.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
+ #include "logging/rtc_event_log/rtc_stream_config.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/receiver_report.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/sender_report.h"
++#include "modules/rtp_rtcp/source/rtp_packet.h"
+ #include "rtc_base/random.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor.h
+@@ -11,11 +11,13 @@
+ #ifndef LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+ #define LOGGING_RTC_EVENT_LOG_RTC_EVENT_PROCESSOR_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/logging/rtc_event_log/rtc_event_processor_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "logging/rtc_event_log/rtc_event_processor.h"
+
++#include <stddef.h>
++#include <cstdint>
+ #include <initializer_list>
+ #include <numeric>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/media/BUILD.gn
+@@ -73,6 +73,7 @@ rtc_static_library("rtc_media_base") {
+ defines = []
+ libs = []
+ deps = [
++ "../api:array_view",
+ "../api:audio_options_api",
+ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+@@ -172,6 +173,7 @@ rtc_static_library("rtc_simulcast_encode
+ ]
+ deps = [
+ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+@@ -200,7 +202,11 @@ rtc_static_library("rtc_vp8_encoder_simu
+ ]
+ deps = [
+ ":rtc_simulcast_encoder_adapter",
++ "../:webrtc_common",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video_codecs:video_codecs_api",
++ "../modules/video_coding:video_codec_interface",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -217,6 +223,9 @@ rtc_static_library("rtc_internal_video_c
+ ":rtc_h264_profile_id",
+ ":rtc_simulcast_encoder_adapter",
+ ":rtc_vp8_encoder_simulcast_proxy",
++ "../:webrtc_common",
++ "../api/video:encoded_image",
++ "../api/video:video_frame",
+ "../modules/video_coding:video_codec_interface",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -278,8 +287,10 @@ rtc_static_library("rtc_audio_video") {
+ defines = []
+ libs = []
+ deps = [
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator_factory",
+ "../modules/audio_processing:api",
++ "../modules/audio_processing:gain_control_interface",
+ "../modules/audio_processing/aec_dump:aec_dump",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -446,6 +457,7 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_simulcast_encoder_adapter",
+ "../api:libjingle_peerconnection_api",
++ "../api/video:encoded_image",
+ "../api/video:video_frame_i420",
+ "../call:video_stream_api",
+ "../common_video:common_video",
+@@ -543,12 +555,17 @@ if (rtc_include_tests) {
+ ":rtc_audio_video",
+ ":rtc_constants",
+ ":rtc_data",
++ "../:webrtc_common",
+ "../api/test/video:function_video_factory",
+ "../api/units:time_delta",
+ "../api/video:video_frame_i420",
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:mocks",
+ "../modules/rtp_rtcp",
++
++ # TODO(http://crbug.com/908819): Add this dependency when Chromium
++ # android templates stop to consider *_module to have a special meaning.
++ # "../modules/video_capture:video_capture_module",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:webrtc_vp8",
+ "../pc:rtc_pc",
+@@ -558,6 +575,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:stringutils",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../test:field_trial",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.cc
+@@ -11,6 +11,11 @@
+ #include "media/base/adaptedvideotracksource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/adaptedvideotracksource.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/adaptedvideotracksource.h
+@@ -11,10 +11,19 @@
+ #ifndef MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+ #define MEDIA_BASE_ADAPTEDVIDEOTRACKSOURCE_H_
+
++#include <stdint.h>
++
++#include "absl/types/optional.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videoadapter.h"
+ #include "media/base/videobroadcaster.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakeframesource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakeframesource.cc
+@@ -11,7 +11,10 @@
+ #include "media/base/fakeframesource.h"
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakertp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakertp.cc
+@@ -8,10 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "media/base/fakertp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/checks.h"
++#include "test/gtest.h"
+
+ void CompareHeaderExtensions(const char* packet1,
+ size_t packet1_size,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideocapturer.cc
+@@ -10,7 +10,15 @@
+
+ #include "media/base/fakevideocapturer.h"
+
++#include <string.h>
++#include <cstdint>
++
++#include "absl/memory/memory.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/fakevideorenderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/fakevideorenderer.h
+@@ -11,10 +11,14 @@
+ #ifndef MEDIA_BASE_FAKEVIDEORENDERER_H_
+ #define MEDIA_BASE_FAKEVIDEORENDERER_H_
+
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video/video_sink_interface.h"
+ #include "rtc_base/criticalsection.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "media/base/mediaconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const int kVideoCodecClockrate = 90000;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaconstants.h
+@@ -11,7 +11,7 @@
+ #ifndef MEDIA_BASE_MEDIACONSTANTS_H_
+ #define MEDIA_BASE_MEDIACONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/mediaengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/mediaengine.cc
+@@ -10,9 +10,13 @@
+
+ #include "media/base/mediaengine.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
+ #include <utility>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/stringencode.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtpdataengine_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtpdataengine_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+@@ -16,9 +17,10 @@
+ #include "media/base/rtpdataengine.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/fakeclock.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ class FakeDataReceiver : public sigslot::has_slots<> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils.cc
+@@ -10,10 +10,14 @@
+
+ #include "media/base/rtputils.h"
+
++#include <string.h>
++#include <vector>
++
+ // PacketTimeUpdateParams is defined in asyncpacketsocket.h.
+ // TODO(sergeyu): Find more appropriate place for PacketTimeUpdateParams.
+ #include "media/base/turnutils.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/messagedigest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/rtputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/rtputils_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <vector>
+
+ #include "media/base/fakertp.h"
+ #include "media/base/rtputils.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.cc
+@@ -10,9 +10,10 @@
+
+ #include "media/base/streamparams.h"
+
++#include <stdint.h>
+ #include <list>
+
+-#include "rtc_base/checks.h"
++#include "api/array_view.h"
+ #include "rtc_base/strings/string_builder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams.h
+@@ -26,10 +26,9 @@
+ #ifndef MEDIA_BASE_STREAMPARAMS_H_
+ #define MEDIA_BASE_STREAMPARAMS_H_
+
+-#include <stdint.h>
+-
++#include <stddef.h>
+ #include <algorithm>
+-#include <set>
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/streamparams_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/streamparams_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "media/base/streamparams.h"
++
++#include <stdint.h>
++
+ #include "media/base/testutils.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ static const uint32_t kSsrcs1[] = {1};
+ static const uint32_t kSsrcs2[] = {1, 2};
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/testutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/testutils.cc
+@@ -10,10 +10,10 @@
+
+ #include "media/base/testutils.h"
+
+-#include <algorithm>
+-#include <memory>
++#include <cstdint>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videocapturer.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils.cc
+@@ -12,7 +12,6 @@
+
+ #include "p2p/base/stun.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/turnutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/turnutils_unittest.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/turnutils.h"
+
+-#include <stddef.h>
+-
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.cc
+@@ -17,11 +17,10 @@
+ #include <utility>
+
+ #include "absl/types/optional.h"
+-#include "media/base/mediaconstants.h"
+ #include "media/base/videocommon.h"
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
+
+ namespace {
+ struct Fraction {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter.h
+@@ -11,12 +11,14 @@
+ #ifndef MEDIA_BASE_VIDEOADAPTER_H_
+ #define MEDIA_BASE_VIDEOADAPTER_H_
+
++#include <stdint.h>
+ #include <utility>
+
+ #include "absl/types/optional.h"
+ #include "media/base/videocommon.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videoadapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videoadapter_unittest.cc
+@@ -8,19 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h> // For INT_MAX
+-
+ #include <limits>
+ #include <memory>
+-#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_frame.h"
+ #include "media/base/fakeframesource.h"
+-#include "media/base/mediachannel.h"
+ #include "media/base/videoadapter.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.cc
+@@ -10,9 +10,11 @@
+
+ #include "media/base/videobroadcaster.h"
+
+-#include <limits>
++#include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster.h
+@@ -11,14 +11,12 @@
+ #ifndef MEDIA_BASE_VIDEOBROADCASTER_H_
+ #define MEDIA_BASE_VIDEOBROADCASTER_H_
+
+-#include <memory>
+-#include <utility>
+-#include <vector>
+-
+-#include "api/video/video_frame.h"
+-#include "api/video/video_sink_interface.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videobroadcaster_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videobroadcaster_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <limits>
+
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videobroadcaster.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using rtc::VideoBroadcaster;
+ using rtc::VideoSinkWants;
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer.cc
+@@ -12,11 +12,16 @@
+
+ #include "media/base/videocapturer.h"
+
+-#include <algorithm>
++#include <cstdint>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocapturer_unittest.cc
+@@ -9,16 +9,17 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_rotation.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
+ #include "media/base/videocapturer.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::FakeVideoCapturerWithTaskQueue;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon.cc
+@@ -10,9 +10,7 @@
+
+ #include "media/base/videocommon.h"
+
+-#include <limits.h> // For INT_MAX
+-#include <math.h>
+-
++#include "api/array_view.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videocommon_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videocommon_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "media/base/videocommon.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/base/videosourcebase.h"
+
++#include <algorithm>
++
+ #include "rtc_base/checks.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/videosourcebase.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/videosourcebase.h
+@@ -14,6 +14,7 @@
+ #include <vector>
+
+ #include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
+ #include "api/video/video_source_interface.h"
+ #include "rtc_base/thread_checker.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.cc
+@@ -10,6 +10,9 @@
+
+ #include "media/base/vp9_profile.h"
+
++#include <map>
++#include <utility>
++
+ #include "rtc_base/string_to_number.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/base/vp9_profile.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/base/vp9_profile.h
+@@ -11,7 +11,6 @@
+ #ifndef MEDIA_BASE_VP9_PROFILE_H_
+ #define MEDIA_BASE_VP9_PROFILE_H_
+
+-#include <map>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/adm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/adm_helpers.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/adm_helpers.h"
+
+ #include "modules/audio_device/include/audio_device.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/apm_helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/apm_helpers.cc
+@@ -10,8 +10,9 @@
+
+ #include "media/engine/apm_helpers.h"
+
+-#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "modules/audio_processing/include/gain_control.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/convert_legacy_video_factory.cc
+@@ -16,11 +16,16 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_decoder_software_fallback_wrapper.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "api/video_codecs/video_encoder_software_fallback_wrapper.h"
+-#include "media/base/h264_profile_level_id.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/scopedvideodecoder.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.cc
+@@ -10,14 +10,15 @@
+
+ #include "media/engine/fakewebrtcvideoengine.h"
+
++#include <algorithm>
++
++#include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+ #include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/simulcast_encoder_adapter.h"
+-#include "media/engine/webrtcvideodecoderfactory.h"
+-#include "media/engine/webrtcvideoencoderfactory.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/fakewebrtcvideoengine.h
+@@ -11,15 +11,23 @@
+ #ifndef MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+ #define MEDIA_ENGINE_FAKEWEBRTCVIDEOENGINE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.cc
+@@ -12,6 +12,7 @@
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internaldecoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internaldecoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.cc
+@@ -10,10 +10,12 @@
+
+ #include "media/engine/internalencoderfactory.h"
+
+-#include <utility>
++#include <string>
+
+ #include "absl/strings/match.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/internalencoderfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/internalencoderfactory.h
+@@ -14,6 +14,8 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.cc
+@@ -10,6 +10,8 @@
+
+ #include "media/engine/multiplexcodecfactory.h"
+
++#include <map>
++#include <string>
+ #include <utility>
+
+ #include "absl/strings/match.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/multiplexcodecfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/multiplexcodecfactory.h
+@@ -14,7 +14,10 @@
+ #include <memory>
+ #include <vector>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/payload_type_mapper_unittest.cc
+@@ -11,6 +11,8 @@
+ #include <set>
+ #include <string>
+
++#include "absl/strings/string_view.h"
++#include "media/base/mediaconstants.h"
+ #include "media/engine/payload_type_mapper.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.cc
+@@ -10,8 +10,10 @@
+
+ #include "media/engine/scopedvideodecoder.h"
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideodecoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideodecoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_decoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.cc
+@@ -10,10 +10,15 @@
+
+ #include "media/engine/scopedvideoencoder.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/scopedvideoencoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/scopedvideoencoder.h
+@@ -13,6 +13,8 @@
+
+ #include <memory>
+
++#include "api/video_codecs/video_encoder.h"
++#include "media/base/codec.h"
+ #include "media/engine/webrtcvideoencoderfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/base/streamparams.h"
+ #include "media/engine/constants.h"
+ #include "media/engine/simulcast.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast.h
+@@ -11,6 +11,7 @@
+ #ifndef MEDIA_ENGINE_SIMULCAST_H_
+ #define MEDIA_ENGINE_SIMULCAST_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "api/video_codecs/video_encoder_config.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/simulcast_encoder_adapter.cc
+@@ -10,17 +10,23 @@
+
+ #include "media/engine/simulcast_encoder_adapter.h"
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/vp8_encoder_simulcast_proxy.h"
+
+ #include "media/engine/simulcast_encoder_adapter.h"
++#include "modules/video_coding/include/video_error_codes.h"
+
+ namespace webrtc {
+ VP8EncoderSimulcastProxy::VP8EncoderSimulcastProxy(VideoEncoderFactory* factory,
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/vp8_encoder_simulcast_proxy.h
+@@ -12,12 +12,19 @@
+ #ifndef MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+ #define MEDIA_ENGINE_VP8_ENCODER_SIMULCAST_PROXY_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/video_encoder_factory.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.cc
+@@ -10,17 +10,19 @@
+
+ #include "media/engine/webrtcvideocapturer.h"
+
++#include <stddef.h>
++#include <cstdint>
++#include <string>
++
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_factory.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+
+-#include "modules/video_capture/video_capture_factory.h"
+-
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32.h" // Need this to #include the impl files.
+ #endif // WEBRTC_WIN
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer.h
+@@ -11,17 +11,19 @@
+ #ifndef MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+ #define MEDIA_ENGINE_WEBRTCVIDEOCAPTURER_H_
+
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/device.h"
+ #include "media/base/videocapturer.h"
++#include "media/base/videocommon.h"
+ #include "modules/video_capture/video_capture.h"
+-#include "rtc_base/asyncinvoker.h"
+-#include "rtc_base/messagehandler.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturer_unittest.cc
+@@ -11,18 +11,21 @@
+ #ifdef HAVE_WEBRTC_VIDEO
+
+ #include <stdio.h>
+-
+ #include <memory>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/testutils.h"
+ #include "media/base/videocommon.h"
++#include "media/engine/fakewebrtcdeviceinfo.h"
+ #include "media/engine/fakewebrtcvcmfactory.h"
++#include "media/engine/fakewebrtcvideocapturemodule.h"
+ #include "media/engine/webrtcvideocapturer.h"
++// TODO(http://crbug.com/908819): Add this when Chromium android templates
++// stop to consider *_module to have a special meaning. See media/BUILD.gn
++// #include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+-#include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using cricket::VideoFormat;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideocapturerfactory.h
+@@ -14,6 +14,8 @@
+
+ #include <memory>
+
++#include "media/base/device.h"
++#include "media/base/videocapturer.h"
+ #include "media/base/videocapturerfactory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/engine/webrtcvideodecoderfactory.cc
+@@ -11,6 +11,7 @@
+ #include "media/engine/webrtcvideodecoderfactory.h"
+
+ #include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/media/sctp/sctptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/media/sctp/sctptransport_unittest.cc
+@@ -8,23 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <errno.h>
+-#include <stdarg.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "media/sctp/sctptransport.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ static const int kDefaultTimeout = 10000; // 10 seconds.
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/BUILD.gn
+@@ -236,6 +236,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":module_api",
++ ":module_api_public",
+ "../test:test_main",
+ "../test:test_support",
+ "audio_coding:audio_coding_unittests",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_coding/BUILD.gn
+@@ -2090,6 +2090,7 @@ if (rtc_include_tests) {
+ ":webrtc_cng",
+ ":webrtc_opus",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../api/audio:audio_frame_api",
+ "../../api/audio_codecs:audio_codecs_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_frame_manipulator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_FRAME_MANIPULATOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/audio_mixer/audio_mixer_impl.h"
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <functional>
+ #include <iterator>
++#include <type_traits>
+ #include <utility>
+
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/audio_mixer_impl.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+ #define MODULES_AUDIO_MIXER_AUDIO_MIXER_IMPL_H_
+
++#include <stddef.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/audio/audio_frame.h"
+ #include "api/audio/audio_mixer.h"
+ #include "modules/audio_mixer/frame_combiner.h"
+ #include "modules/audio_mixer/output_rate_calculator.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/default_output_rate_calculator.cc
+@@ -11,8 +11,10 @@
+ #include "modules/audio_mixer/default_output_rate_calculator.h"
+
+ #include <algorithm>
++#include <iterator>
+
+ #include "modules/audio_processing/include/audio_processing.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner.cc
+@@ -12,18 +12,19 @@
+
+ #include <algorithm>
+ #include <array>
+-#include <functional>
++#include <cstdint>
++#include <iterator>
++#include <string>
+
+ #include "api/array_view.h"
+-#include "audio/utility/audio_frame_operations.h"
+ #include "common_audio/include/audio_util.h"
+ #include "modules/audio_mixer/audio_frame_manipulator.h"
+ #include "modules/audio_mixer/audio_mixer_impl.h"
++#include "modules/audio_processing/include/audio_frame_view.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "modules/audio_processing/logging/apm_data_dumper.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/frame_combiner_unittest.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/audio_mixer/frame_combiner.h"
+
++#include <cstdint>
++#include <initializer_list>
+ #include <numeric>
+ #include <string>
++#include <type_traits>
+
++#include "api/array_view.h"
+ #include "audio/utility/audio_frame_operations.h"
+ #include "modules/audio_mixer/gain_change_calculator.h"
+ #include "modules/audio_mixer/sine_wave_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.cc
+@@ -11,8 +11,11 @@
+ #include "modules/audio_mixer/gain_change_calculator.h"
+
+ #include <math.h>
++#include <cstdlib>
+ #include <vector>
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/gain_change_calculator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+ #define MODULES_AUDIO_MIXER_GAIN_CHANGE_CALCULATOR_H_
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.cc
+@@ -11,6 +11,7 @@
+ #include "modules/audio_mixer/sine_wave_generator.h"
+
+ #include <math.h>
++#include <stddef.h>
+
+ #include "rtc_base/numerics/safe_conversions.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/audio_mixer/sine_wave_generator.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+ #define MODULES_AUDIO_MIXER_SINE_WAVE_GENERATOR_H_
+
++#include <stdint.h>
++
+ #include "api/audio/audio_frame.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/BUILD.gn
+@@ -80,10 +80,14 @@ if (rtc_include_tests) {
+ "../../logging:mocks",
+ "../../logging:rtc_event_bwe",
+ "../../logging:rtc_event_log_api",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:test_support",
++ "../congestion_controller/goog_cc:delay_based_bwe",
+ "../pacing:mock_paced_sender",
++ "../pacing:pacing",
+ "../remote_bitrate_estimator:remote_bitrate_estimator",
++ "../rtp_rtcp:rtp_rtcp_format",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc
+@@ -8,14 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
++#include <stdint.h>
++#include <memory>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/pacing/mock/mock_paced_sender.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++#include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ using ::testing::Exactly;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/bitrate_controller/send_side_bandwidth_estimation_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-#include <vector>
+-
++#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "logging/rtc_event_log/events/rtc_event.h"
+ #include "logging/rtc_event_log/events/rtc_event_bwe_update_loss_based.h"
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
++#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/BUILD.gn
+@@ -38,6 +38,8 @@ rtc_static_library("congestion_controlle
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
+ "../../rtc_base:ptr_util",
+ "../../rtc_base:rate_limiter",
+@@ -53,6 +55,7 @@ rtc_static_library("congestion_controlle
+ "goog_cc:probe_controller",
+ "goog_cc:pushback_controller",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -69,6 +72,7 @@ rtc_static_library("transport_feedback")
+
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_size",
+ "../../modules:module_api",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+@@ -91,7 +95,12 @@ if (rtc_include_tests) {
+ }
+ deps = [
+ "../../api/transport:network_control",
++ "../../api/units:data_rate",
++ "../../api/units:data_size",
++ "../../api/units:time_delta",
++ "../../api/units:timestamp",
+ "../../rtc_base:checks",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("congestion_controller_unittests") {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/BUILD.gn
+@@ -16,6 +16,7 @@ rtc_static_library("bbr") {
+ deps = [
+ ":bbr_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -104,6 +105,7 @@ rtc_source_set("rtt_stats") {
+ deps = [
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -124,6 +126,9 @@ if (rtc_include_tests) {
+ ":bbr",
+ ":bbr_controller",
+ "..:test_controller_printer",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ ]
+ }
+ rtc_source_set("bbr_unittests") {
+@@ -150,6 +155,7 @@ if (rtc_include_tests) {
+ "../../../api/units:data_rate",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
++ "../../../rtc_base:logging",
+ "../../../test:test_support",
+ ]
+ if (!build_with_chromium && is_clang) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bandwidth_sampler_unittest.cc
+@@ -9,10 +9,9 @@
+ */
+ // Based on the Quic implementation in Chromium.
+
+-#include <algorithm>
++#include <stddef.h>
+
+ #include "modules/congestion_controller/bbr/bandwidth_sampler.h"
+-
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/bbr_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker.cc
+@@ -11,7 +11,6 @@
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/data_transfer_tracker_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/bbr/data_transfer_tracker.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter.h
+@@ -10,7 +10,7 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_LOSS_RATE_FILTER_H_
+
+-#include "absl/types/optional.h"
++#include <stdint.h>
+
+ namespace webrtc {
+ namespace bbr {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/loss_rate_filter_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "modules/congestion_controller/bbr/loss_rate_filter.h"
++
++#include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue.h
+@@ -13,8 +13,10 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_PACKET_NUMBER_INDEXED_QUEUE_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <deque>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/packet_number_indexed_queue_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/congestion_controller/bbr/packet_number_indexed_queue.h"
+
+-#include <limits>
+-#include <map>
+ #include <string>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
+-#include <cstdlib>
++#include <algorithm>
++#include <string>
++#include <type_traits>
+
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats.h
+@@ -13,11 +13,9 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_RTT_STATS_H_
+
+-#include <algorithm>
+-#include <cstdint>
+-
+ #include "api/units/time_delta.h"
+ #include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/rtt_stats_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/congestion_controller/bbr/rtt_stats.h"
+
++#include <stdlib.h>
++#include <cmath>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.cc
+@@ -9,6 +9,8 @@
+ */
+ #include "modules/congestion_controller/bbr/test/bbr_printer.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ BbrStatePrinter::BbrStatePrinter() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/test/bbr_printer.h
+@@ -10,8 +10,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_BBR_TEST_BBR_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/bbr/bbr_factory.h"
+ #include "modules/congestion_controller/bbr/bbr_network_controller.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/bbr/windowed_filter_unittest.cc
+@@ -10,10 +10,13 @@
+
+ #include "modules/congestion_controller/bbr/windowed_filter.h"
+
++#include <stdint.h>
++#include <string>
++#include <type_traits>
++
+ #include "api/units/data_rate.h"
+ #include "api/units/time_delta.h"
+-
+-#include "modules/congestion_controller/bbr/rtt_stats.h"
++#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/BUILD.gn
+@@ -32,6 +32,10 @@ rtc_static_library("goog_cc") {
+ "../..:module_api",
+ "../../..:webrtc_common",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -55,6 +59,7 @@ rtc_source_set("pushback_controller") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_size",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../system_wrappers:field_trial",
+@@ -144,6 +149,9 @@ rtc_source_set("probe_controller") {
+
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../logging:rtc_event_log_api",
+ "../../../logging:rtc_event_pacing",
+ "../../../rtc_base:checks",
+@@ -163,10 +171,18 @@ if (rtc_include_tests) {
+ "test/goog_cc_printer.h",
+ ]
+ deps = [
++ ":alr_detector",
++ ":delay_based_bwe",
+ ":estimators",
+ ":goog_cc",
+ "..:test_controller_printer",
+ "../../../api/transport:goog_cc",
++ "../../../api/transport:network_control",
++ "../../../api/units:timestamp",
++ "../../../logging:rtc_event_log_api",
++ "../../../rtc_base:checks",
++ "../../remote_bitrate_estimator:remote_bitrate_estimator",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+ rtc_source_set("goog_cc_unittests") {
+@@ -198,6 +214,8 @@ if (rtc_include_tests) {
+ "../../../api/transport:goog_cc",
+ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
++ "../../../api/units:data_rate",
++ "../../../api/units:timestamp",
+ "../../../logging:mocks",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h
+@@ -11,7 +11,11 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_CONGESTION_WINDOW_PUSHBACK_CONTROLLER_H_
+
+-#include "api/transport/network_types.h"
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest.cc
+@@ -9,12 +9,11 @@
+ */
+
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
++
++#include "api/transport/network_types.h"
++#include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+-#include "modules/pacing/paced_sender.h"
+-#include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+-#include "test/field_trial.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.cc
+@@ -10,8 +10,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h"
+
+ #include <algorithm>
+-#include <limits>
+-#include <utility>
++#include <cstdint>
+
+ #include "absl/memory/memory.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/delay_based_bwe_unittest_helper.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_DELAY_BASED_BWE_UNITTEST_HELPER_H_
+
+-#include <list>
+-#include <map>
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+@@ -10,25 +10,25 @@
+
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+
++#include <inttypes.h>
++#include <stdio.h>
+ #include <algorithm>
+-#include <functional>
+-#include <limits>
++#include <cstdint>
+ #include <memory>
+ #include <numeric>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/alr_detector.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.h
+@@ -18,6 +18,10 @@
+
+ #include "absl/types/optional.h"
+ #include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/timestamp.h"
+ #include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/bitrate_controller/send_side_bandwidth_estimation.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+@@ -26,6 +30,7 @@
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/experiments/field_trial_parser.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_bitrate_estimator_unittest.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/congestion_controller/goog_cc/probe_bitrate_estimator.h"
+
+-#include <utility>
+-#include <vector>
++#include <stddef.h>
+
+-#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+-#include "test/gmock.h"
++#include "api/transport/network_types.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller.cc
+@@ -12,7 +12,12 @@
+
+ #include <algorithm>
+ #include <initializer_list>
++#include <string>
+
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/probe_controller_unittest.cc
+@@ -10,8 +10,9 @@
+ #include <memory>
+
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+-#include "rtc_base/logging.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.cc
+@@ -11,7 +11,12 @@
+
+ #include <math.h>
+
++#include "absl/types/optional.h"
++#include "modules/congestion_controller/goog_cc/alr_detector.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/goog_cc/trendline_estimator.h"
++#include "modules/remote_bitrate_estimator/aimd_rate_control.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/goog_cc/test/goog_cc_printer.h
+@@ -10,9 +10,14 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+ #define MODULES_CONGESTION_CONTROLLER_GOOG_CC_TEST_GOOG_CC_PRINTER_H_
+
++#include <stdio.h>
+ #include <memory>
+
+ #include "api/transport/goog_cc_factory.h"
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "modules/congestion_controller/goog_cc/goog_cc_network_control.h"
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/include/send_side_congestion_controller_interface.h
+@@ -20,12 +20,9 @@
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/networkroute.h"
+
+-namespace rtc {
+-struct SentPacket;
+-}
+-
+ namespace webrtc {
+
+ class BitrateController;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/BUILD.gn
+@@ -16,8 +16,9 @@ rtc_static_library("pcc") {
+ deps = [
+ ":pcc_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -31,8 +32,14 @@ rtc_static_library("pcc_controller") {
+ ":monitor_interval",
+ ":rtt_tracker",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -43,6 +50,10 @@ rtc_static_library("monitor_interval") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -54,6 +65,8 @@ rtc_static_library("rtt_tracker") {
+ ]
+ deps = [
+ "../../../api/transport:network_control",
++ "../../../api/units:time_delta",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -66,6 +79,8 @@ rtc_static_library("utility_function") {
+ deps = [
+ ":monitor_interval",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -79,8 +94,9 @@ rtc_static_library("bitrate_controller")
+ ":monitor_interval",
+ ":utility_function",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
+ "../../../rtc_base:rtc_base_approved",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+@@ -102,13 +118,15 @@ if (rtc_include_tests) {
+ ":pcc_controller",
+ ":rtt_tracker",
+ ":utility_function",
++ "../../../api/transport:network_control",
+ "../../../api/transport:network_control_test",
+ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
+ "../../../api/units:time_delta",
+ "../../../api/units:timestamp",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../test:test_support",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.cc
+@@ -9,10 +9,8 @@
+ */
+
+ #include <algorithm>
+-#include <array>
+ #include <cmath>
+ #include <cstdlib>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/bitrate_controller.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_BITRATE_CONTROLLER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+-#include "api/transport/network_types.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++#include <cmath>
++
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval.h
+@@ -13,8 +13,11 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/monitor_interval_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
++
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_factory.h
+@@ -14,6 +14,7 @@
+ #include <memory>
+
+ #include "api/transport/network_control.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_size.h"
+ #include "modules/congestion_controller/pcc/pcc_network_controller.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/pcc_network_controller.h
+@@ -11,11 +11,16 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_PCC_NETWORK_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <deque>
+ #include <vector>
+
+ #include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/bitrate_controller.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+ #include "modules/congestion_controller/pcc/rtt_tracker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/rtt_tracker.h
+@@ -13,8 +13,9 @@
+
+ #include <vector>
+
+-#include "api/transport/network_control.h"
+ #include "api/transport/network_types.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.cc
+@@ -12,7 +12,9 @@
+
+ #include <algorithm>
+ #include <cmath>
+-#include <vector>
++
++#include "api/units/data_rate.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace pcc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function.h
+@@ -11,7 +11,6 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+ #define MODULES_CONGESTION_CONTROLLER_PCC_UTILITY_FUNCTION_H_
+
+-#include "api/transport/network_control.h"
+ #include "modules/congestion_controller/pcc/monitor_interval.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/pcc/utility_function_unittest.cc
+@@ -8,8 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cmath>
++#include <type_traits>
+ #include <vector>
+
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
+ #include "modules/congestion_controller/pcc/utility_function.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/receive_side_congestion_controller.cc
+@@ -11,6 +11,7 @@
+ #include "modules/congestion_controller/include/receive_side_congestion_controller.h"
+
+ #include "modules/pacing/packet_router.h"
++#include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/BUILD.gn
+@@ -72,6 +72,9 @@ rtc_source_set("control_handler") {
+ deps = [
+ "../:congestion_controller",
+ "../../../api/transport:network_control",
++ "../../../api/units:data_rate",
++ "../../../api/units:data_size",
++ "../../../api/units:time_delta",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rate_limiter",
+ "../../../rtc_base:safe_minmax",
+@@ -83,6 +86,7 @@ rtc_source_set("control_handler") {
+ "../../remote_bitrate_estimator",
+ "../../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_mozilla) {
+@@ -102,6 +106,7 @@ rtc_static_library("transport_feedback")
+ "../..:module_api",
+ "../../../api/transport:network_control",
+ "../../../api/units:data_size",
++ "../../../api/units:timestamp",
+ "../../../rtc_base:checks",
+ "../../../rtc_base:rtc_base_approved",
+ "../../../rtc_base/network:sent_packet",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/congestion_controller_unittests_helper.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/congestion_controller/rtp/congestion_controller_unittests_helper.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.cc
+@@ -10,8 +10,12 @@
+
+ #include "modules/congestion_controller/rtp/control_handler.h"
+
+-#include "rtc_base/checks.h"
++#include <algorithm>
++#include <vector>
++
++#include "api/units/data_rate.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/control_handler.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+ #define MODULES_CONGESTION_CONTROLLER_RTP_CONTROL_HANDLER_H_
+
+-#include <algorithm>
+-#include <memory>
++#include <stdint.h>
+
+-#include "api/transport/network_control.h"
++#include "absl/types/optional.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+ #include "modules/congestion_controller/include/network_changed_observer.h"
+ #include "modules/pacing/paced_sender.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/send_time_history_unittest.cc
+@@ -13,6 +13,7 @@
+ #include <random>
+ #include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/rtp/transport_feedback_adapter.cc
+@@ -10,13 +10,15 @@
+
+ #include "modules/congestion_controller/rtp/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
+
++#include "api/units/timestamp.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/send_side_congestion_controller.cc
+@@ -10,23 +10,26 @@
+
+ #include "modules/congestion_controller/include/send_side_congestion_controller.h"
+
++#include <inttypes.h>
+ #include <algorithm>
+ #include <cstdio>
+ #include <iterator>
+ #include <memory>
++#include <string>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/timestamp.h"
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
+ #include "modules/congestion_controller/goog_cc/congestion_window_pushback_controller.h"
+ #include "modules/congestion_controller/goog_cc/probe_controller.h"
+ #include "modules/remote_bitrate_estimator/include/bwe_defines.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/format_macros.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/network/sent_packet.h"
+-#include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rate_limiter.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.cc
+@@ -9,11 +9,13 @@
+ */
+ #include "modules/congestion_controller/test/controller_printer.h"
+
+-#include <cmath>
+ #include <limits>
+ #include <utility>
+
+-#include "rtc_base/checks.h"
++#include "absl/types/optional.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/test/controller_printer.h
+@@ -13,7 +13,8 @@
+ #include <cstdio>
+ #include <memory>
+
+-#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/timestamp.h"
+
+ namespace webrtc {
+ class DebugStatePrinter {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/congestion_controller/transport_feedback_adapter.cc
+@@ -10,13 +10,16 @@
+
+ #include "modules/congestion_controller/transport_feedback_adapter.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cmath>
++#include <cstdint>
+
++#include "api/units/data_size.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/numerics/mod_ops.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h"
+
+-#include <algorithm>
++#include <stdint.h>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h
+@@ -13,8 +13,11 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/rgba_color.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/blank_detector_desktop_capturer_wrapper_unittest.cc
+@@ -16,6 +16,8 @@
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/fake_desktop_capturer.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/capture_result_desktop_capturer_wrapper.h
+@@ -15,6 +15,7 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_capturer_wrapper.h"
++#include "modules/desktop_capture/desktop_frame.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+-
++#include "modules/desktop_capture/desktop_region.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropped_desktop_frame.h
+@@ -11,7 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_CROPPED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/cropping_window_capturer.h"
+
++#include <stddef.h>
++#include <utility>
++
+ #include "modules/desktop_capture/cropped_desktop_frame.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/cropping_window_capturer.h
+@@ -14,7 +14,11 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h
+@@ -14,8 +14,13 @@
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "modules/desktop_capture/shared_memory.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer_unittest.cc
+@@ -8,10 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_and_cursor_composer.h"
+-#include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capture_options.h
+@@ -10,7 +10,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_CAPTURE_OPTIONS_H_
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
+@@ -12,6 +12,10 @@
+
+ #include "modules/desktop_capture/desktop_capturer.h"
+
++#include <stdlib.h>
++#include <string.h>
++#include <utility>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.cc
+@@ -10,12 +10,12 @@
+
+ #include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+-#include <algorithm>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/differ_block.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_differ_wrapper.h
+@@ -13,8 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_desktop_frame.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_capturer_wrapper.h
+@@ -13,7 +13,10 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.cc
+@@ -10,11 +10,11 @@
+
+ #include "modules/desktop_capture/desktop_frame.h"
+
+-#include <utility>
+-
+ #include <string.h>
++#include <utility>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_FRAME_H_
+
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_generator.cc
+@@ -12,10 +12,10 @@
+
+ #include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/rgba_color.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
+-#include <string.h>
+-
+ #include "rtc_base/checks.h"
+ #include "third_party/libyuv/include/libyuv/rotate_argb.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_frame_rotation_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/desktop_capture/desktop_frame_rotation.h"
+
++#include <stdint.h>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/test_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_geometry.h
+@@ -13,7 +13,6 @@
+
+ #include <stdint.h>
+
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.cc
+@@ -11,8 +11,8 @@
+ #include "modules/desktop_capture/desktop_region.h"
+
+ #include <assert.h>
+-
+ #include <algorithm>
++#include <utility>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region.h
+@@ -11,11 +11,11 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+ #define MODULES_DESKTOP_CAPTURE_DESKTOP_REGION_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/system/rtc_export.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/desktop_region_unittest.cc
+@@ -10,7 +10,9 @@
+
+ #include "modules/desktop_capture/desktop_region.h"
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <cstdint>
+
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/differ_block_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/desktop_capture/differ_block.h"
+-#include "test/gmock.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.cc
+@@ -12,6 +12,9 @@
+
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_frame.h"
++
+ namespace webrtc {
+
+ FakeDesktopCapturer::FakeDesktopCapturer() = default;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fake_desktop_capturer.h
+@@ -13,7 +13,6 @@
+
+ #include <memory>
+
+-#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame_generator.h"
+ #include "modules/desktop_capture/shared_memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.cc
+@@ -10,9 +10,11 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
++#include "rtc_base/thread_checker.h"
+ #include "system_wrappers/include/metrics.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper.h
+@@ -16,6 +16,7 @@
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/shared_memory.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/fallback_desktop_capturer_wrapper_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/fallback_desktop_capturer_wrapper.h"
+
++#include <stddef.h>
+ #include <memory>
+ #include <utility>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.cc
+@@ -10,18 +10,22 @@
+
+ #include "modules/desktop_capture/linux/mouse_cursor_monitor_x11.h"
+
+-#include <X11/Xutil.h>
++#include <X11/Xlib.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/xfixeswire.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/mouse_cursor_monitor_x11.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_MOUSE_CURSOR_MONITOR_X11_H_
+
+-#include <X11/Xlib.h>
+-
++#include <X11/X.h>
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_capture_options.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.cc
+@@ -10,20 +10,19 @@
+
+ #include "modules/desktop_capture/linux/screen_capturer_x11.h"
+
+-#include <string.h>
+-
+ #include <X11/Xlib.h>
+-#include <X11/Xutil.h>
+ #include <X11/extensions/Xdamage.h>
+ #include <X11/extensions/Xfixes.h>
+-
++#include <X11/extensions/damagewire.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <set>
+ #include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/screen_capturer_x11.h
+@@ -11,16 +11,17 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_SCREEN_CAPTURER_X11_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <X11/extensions/Xdamage.h>
+-
++#include <X11/extensions/Xfixes.h>
+ #include <memory>
+-#include <set>
+-#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "modules/desktop_capture/screen_capture_frame_queue.h"
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.cc
+@@ -12,13 +12,15 @@
+
+ #include <X11/Xutil.h>
+ #include <X11/extensions/Xcomposite.h>
+-#include <X11/extensions/Xrender.h>
+-
++#include <X11/extensions/composite.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_frame.h"
++#include "modules/desktop_capture/desktop_region.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_capturer_x11.h
+@@ -11,15 +11,20 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_CAPTURER_X11_H_
+
++#include <X11/X.h>
++#include <X11/Xlib.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "modules/desktop_capture/linux/shared_x_display.h"
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_finder_x11.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/linux/window_finder_x11.h"
+
++#include <X11/X.h>
+ #include <memory>
+
+ #include "absl/memory/memory.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/desktop_capture/linux/window_list_utils.h"
+
+-#include <X11/Xatom.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <string.h>
+-
+ #include <algorithm>
+
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/window_list_utils.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_WINDOW_LIST_UTILS_H_
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stdint.h>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/x_atom_cache.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_atom_cache.h
+@@ -11,7 +11,7 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+ #define MODULES_DESKTOP_CAPTURE_LINUX_X_ATOM_CACHE_H_
+
+-#include <X11/Xatom.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_error_trap.cc
+@@ -11,6 +11,7 @@
+ #include "modules/desktop_capture/linux/x_error_trap.h"
+
+ #include <assert.h>
++#include <stddef.h>
+
+ #if defined(TOOLKIT_GTK)
+ #include <gdk/gdk.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/linux/x_server_pixel_buffer.cc
+@@ -10,7 +10,10 @@
+
+ #include "modules/desktop_capture/linux/x_server_pixel_buffer.h"
+
++#include <X11/Xutil.h>
++#include <stdint.h>
+ #include <string.h>
++#include <sys/ipc.h>
+ #include <sys/shm.h>
+
+ #include "modules/desktop_capture/desktop_frame.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor.h
+@@ -13,13 +13,12 @@
+
+ #include <memory>
+
++#include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+
+-class DesktopFrame;
+-
+ class MouseCursor {
+ public:
+ MouseCursor();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_linux.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
++#include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+@@ -15,6 +17,7 @@
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "modules/desktop_capture/mouse_cursor.h"
+ #include "modules/desktop_capture/mouse_cursor_monitor.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/rgba_color_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/desktop_capture/rgba_color.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_helper.cc
+@@ -11,7 +11,6 @@
+ #include "modules/desktop_capture/screen_capturer_helper.h"
+
+ #include <assert.h>
+-#include <algorithm>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer.h
+@@ -11,10 +11,6 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+ #define MODULES_DESKTOP_CAPTURE_SCREEN_DRAWER_H_
+
+-#include <stdint.h>
+-
+-#include <memory>
+-
+ #include "modules/desktop_capture/desktop_capture_types.h"
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/screen_drawer_linux.cc
+@@ -8,16 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <X11/X.h>
+ #include <X11/Xlib.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "absl/memory/memory.h"
++#include "modules/desktop_capture/desktop_capture_types.h"
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/linux/shared_x_display.h"
++#include "modules/desktop_capture/rgba_color.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "modules/desktop_capture/screen_drawer_lock_posix.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/sleep.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+@@ -11,11 +11,9 @@
+ #include "modules/desktop_capture/shared_desktop_frame.h"
+
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+-#include "absl/memory/memory.h"
+-#include "rtc_base/constructormagic.h"
+-
+ namespace webrtc {
+
+ SharedDesktopFrame::~SharedDesktopFrame() {}
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_desktop_frame.h
+@@ -11,9 +11,10 @@
+ #ifndef MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+ #define MODULES_DESKTOP_CAPTURE_SHARED_DESKTOP_FRAME_H_
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_frame.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/system/rtc_export.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/shared_memory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/shared_memory.h
+@@ -20,7 +20,6 @@
+ #include <memory>
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils.cc
+@@ -10,8 +10,10 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
+ #include <string.h>
+
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/test_utils_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/desktop_capture/test_utils.h"
+
++#include <stdint.h>
++
++#include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/rgba_color.h"
+ #include "rtc_base/checks.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_capturer_unittest.cc
+@@ -9,11 +9,14 @@
+ */
+
+ #include <memory>
++#include <string>
++#include <utility>
+
+ #include "modules/desktop_capture/desktop_capture_options.h"
+ #include "modules/desktop_capture/desktop_capturer.h"
+ #include "modules/desktop_capture/desktop_frame.h"
+-#include "modules/desktop_capture/desktop_region.h"
++#include "modules/desktop_capture/desktop_geometry.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/desktop_capture/window_finder_unittest.cc
+@@ -11,12 +11,12 @@
+ #include "modules/desktop_capture/window_finder.h"
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "modules/desktop_capture/desktop_geometry.h"
+ #include "modules/desktop_capture/screen_drawer.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ #if defined(USE_X11)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/module_common_types_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/module_common_types_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/include/module_common_types.h"
+
++#include "modules/include/module_common_types_public.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/BUILD.gn
+@@ -73,6 +73,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":interval_budget",
+ ":pacing",
++ "../../api/units:time_delta",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_base_tests_utils",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/bitrate_prober_unittest.cc
+@@ -8,8 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-
+ #include "modules/pacing/bitrate_prober.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/pacing/packet_router_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/pacing/packet_router_unittest.cc
+@@ -8,11 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <list>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+
++#include "api/units/time_delta.h"
+ #include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
+ #include "modules/rtp_rtcp/mocks/mock_rtp_rtcp.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/BUILD.gn
+@@ -41,6 +41,7 @@ rtc_static_library("remote_bitrate_estim
+
+ deps = [
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../../api/units:data_rate",
+ "../../api/units:timestamp",
+ "../../modules:module_api",
+@@ -124,7 +125,10 @@ if (rtc_include_tests) {
+ deps = [
+ ":remote_bitrate_estimator",
+ "..:module_api",
++ "..:module_api_public",
+ "../..:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/transport:network_control",
+ "../../logging:mocks",
+ "../../rtc_base:checks",
+ "../../rtc_base:gtest_prod",
+@@ -166,6 +170,7 @@ if (rtc_include_tests) {
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:field_trial",
+ "../../test:fileutils",
+ "../../test:test_support",
+@@ -199,6 +204,7 @@ if (rtc_include_tests) {
+ deps = [
+ ":bwe_simulator_lib",
+ ":remote_bitrate_estimator",
++ "..:module_api_public",
+ "../..:webrtc_common",
+ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+@@ -227,6 +233,7 @@ if (rtc_include_tests) {
+ ":remote_bitrate_estimator",
+ "../..:webrtc_common",
+ "../../rtc_base:rtc_base_approved",
++ "../../system_wrappers:system_wrappers",
+ "../../test:fileutils",
+ "../../test:test_main",
+ "../../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/bwe_simulations.cc
+@@ -8,13 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
++#include <string>
++#include <vector>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/inter_arrival_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include <memory>
+
+-#include "common_types.h" // NOLINT(build/include)
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/overuse_detector_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+-#include <cmath>
+ #include <cstdlib>
+ #include <memory>
+
+@@ -20,7 +19,6 @@
+ #include "modules/remote_bitrate_estimator/overuse_detector.h"
+ #include "modules/remote_bitrate_estimator/overuse_estimator.h"
+ #include "rtc_base/random.h"
+-#include "rtc_base/rate_statistics.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_REMOTE_BITRATE_ESTIMATOR_ABS_SEND_TIME_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/aimd_rate_control.h"
+ #include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/inter_arrival.h"
+@@ -26,6 +29,8 @@
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/race_checker.h"
+ #include "rtc_base/rate_statistics.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream_unittest.cc
+@@ -9,8 +9,10 @@
+ */
+
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
++
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_unittest_helper.h"
+ #include "rtc_base/constructormagic.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimators_test.cc
+@@ -9,20 +9,22 @@
+ */
+
+ #ifndef WEBRTC_WIN
+-#include <sys/types.h>
+ #include <unistd.h>
+ #endif
+
++#include <stdint.h>
+ #include <algorithm>
+-#include <sstream>
+
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/random.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bbr_paced_sender.cc
+@@ -11,10 +11,8 @@
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+
+ #include <algorithm>
+-#include <queue>
+-#include <set>
+-#include <vector>
+
++#include "api/transport/network_types.h"
+ #include "modules/pacing/paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe.h
+@@ -11,17 +11,21 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iterator>
+ #include <list>
+ #include <map>
+-#include <sstream>
+-#include <string>
++#include <utility>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
++#include "modules/include/module.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gtest_prod_util.h"
+ #include "rtc_base/numerics/sequence_number_util.h"
++#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.cc
+@@ -11,13 +11,12 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h"
+
+ #include <stdio.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_fileutils.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_baselinefile.h
+@@ -11,8 +11,8 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_BASELINEFILE_H_
+
++#include <stdint.h>
+ #include <string>
+-#include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_fileutils.h
+@@ -11,11 +11,10 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_BWE_TEST_FILEUTILS_H_
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+-#include "modules/include/module_common_types.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc
+@@ -11,10 +11,13 @@
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+ #include <stdio.h>
+-
++#include <stdlib.h>
++#include <string.h>
++#include <cmath>
+ #include <sstream>
+
+-#include "modules/rtp_rtcp/source/rtp_header_extensions.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/rtp_rtcp/source/rtp_packet_received.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/numerics/safe_minmax.h"
+ #include "rtc_base/system/unused.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework_unittest.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+
+-#include <numeric>
+-
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/bwe_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+
++#include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/bbr.cc
+@@ -12,6 +12,7 @@
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ #include <stdlib.h>
++#include <time.h>
+ #include <algorithm>
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.cc
+@@ -11,9 +11,8 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/congestion_window.h"
+
+-#include <algorithm>
+-
+ #include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/congestion_window.h
+@@ -12,9 +12,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_CONGESTION_WINDOW_H_
+
+-#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "absl/types/optional.h"
++#include "modules/remote_bitrate_estimator/test/estimators/bbr.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/max_bandwidth_filter.h
+@@ -12,15 +12,9 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MAX_BANDWIDTH_FILTER_H_
+
+-#include <climits>
+-#include <list>
+-#include <map>
+-#include <memory>
++#include <cstddef>
++#include <cstdint>
+ #include <utility>
+-#include <vector>
+-
+-#include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
+-#include "modules/remote_bitrate_estimator/test/bwe.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/min_rtt_filter.h
+@@ -12,8 +12,7 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_MIN_RTT_FILTER_H_
+
+-#include <cstdint>
+-#include <limits>
++#include <stddef.h>
+ #include <list>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada.cc
+@@ -15,10 +15,12 @@
+ // From March 26, 2015.
+
+ #include <math.h>
++#include <stddef.h>
+ #include <algorithm>
++#include <cstdint>
++#include <list>
+ #include <vector>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
+ #include "rtc_base/arraysize.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/nada_unittest.cc
+@@ -10,17 +10,14 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/nada.h"
+
++#include <math.h>
++#include <stddef.h>
+ #include <algorithm>
+ #include <memory>
+-#include <numeric>
+
+-#include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+-#include "modules/remote_bitrate_estimator/test/packet_sender.h"
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/constructormagic.h"
+ #include "test/gtest.h"
+-#include "test/testsupport/fileutils.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/remb.cc
+@@ -8,14 +8,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+-
+-#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
++#include <cstdint>
+
+ #include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
++#include "modules/remote_bitrate_estimator/test/estimators/remb.h"
+ #include "modules/rtp_rtcp/include/receive_statistics.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/system/unused.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.cc
+@@ -10,9 +10,13 @@
+
+ #include "modules/remote_bitrate_estimator/test/estimators/send_side.h"
+
++#include <assert.h>
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "absl/memory/memory.h"
++#include "api/rtp_headers.h"
++#include "api/transport/network_types.h"
+ #include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/send_side.h
+@@ -11,13 +11,23 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_SEND_SIDE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
+ #include "logging/rtc_event_log/mock/mock_rtc_event_log.h"
++#include "modules/bitrate_controller/include/bitrate_controller.h"
+ #include "modules/congestion_controller/goog_cc/acknowledged_bitrate_estimator.h"
++#include "modules/congestion_controller/goog_cc/delay_based_bwe.h"
+ #include "modules/congestion_controller/rtp/send_time_history.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "rtc_base/constructormagic.h"
++#include "system_wrappers/include/clock.h"
++#include "test/gmock.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.cc
+@@ -8,15 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdint>
+
++#include "api/rtp_headers.h"
+ #include "modules/remote_bitrate_estimator/test/estimators/tcp.h"
+
+-#include "modules/bitrate_controller/include/bitrate_controller.h"
+-#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "test/gtest.h"
+-
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/estimators/tcp.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_ESTIMATORS_TCP_H_
+
++#include <stdint.h>
+ #include <vector>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/metric_recorder_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <math.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <random>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet.h"
+
++#include <assert.h>
++#include <cstdint>
++
+ namespace webrtc {
+ namespace testing {
+ namespace bwe {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet.h
+@@ -11,13 +11,13 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <map>
+-#include <utility>
+ #include <vector>
+
+-#include "common_types.h" // NOLINT(build/include)
+-#include "modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h"
++#include "api/rtp_headers.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.cc
+@@ -10,14 +10,12 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_receiver.h"
+
++#include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+-#include "modules/rtp_rtcp/include/receive_statistics.h"
+-#include "system_wrappers/include/clock.h"
+-#include "test/gtest.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_receiver.h
+@@ -11,12 +11,15 @@
+ #ifndef MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+ #define MODULES_REMOTE_BITRATE_ESTIMATOR_TEST_PACKET_RECEIVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
+ #include "modules/remote_bitrate_estimator/test/bwe_test_framework.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/remote_bitrate_estimator/test/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/remote_bitrate_estimator/test/packet_sender.cc
+@@ -10,15 +10,20 @@
+
+ #include "modules/remote_bitrate_estimator/test/packet_sender.h"
+
++#include <assert.h>
++#include <math.h>
+ #include <algorithm>
++#include <limits>
+ #include <list>
+-#include <sstream>
++#include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/pacing/pacer.h"
+ #include "modules/remote_bitrate_estimator/test/bbr_paced_sender.h"
+ #include "modules/remote_bitrate_estimator/test/bwe.h"
++#include "modules/remote_bitrate_estimator/test/bwe_test_logging.h"
+ #include "modules/remote_bitrate_estimator/test/metric_recorder.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.cc
+@@ -12,10 +12,10 @@
+ #include <stdlib.h>
+
+ #include "absl/strings/match.h"
++#include "absl/strings/string_view.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_config.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/stringutils.h"
+
+ #ifndef abs
+ #define abs(a) (a >= 0 ? a : -a)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/device_info_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/device_info_impl.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_DEVICE_INFO_IMPL_H_
+
++#include <stdint.h>
+ #include <vector>
+
++#include "api/video/video_rotation.h"
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/synchronization/rw_lock_wrapper.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/device_info_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/device_info_external.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/external/video_capture_external.cc
+@@ -8,9 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_impl.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.cc
+@@ -14,12 +14,17 @@
+ #include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <sys/ioctl.h>
+-#include <sys/stat.h>
+ #include <unistd.h>
+ // v4l includes
+ #include <linux/videodev2.h>
++#include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/device_info_linux.h
+@@ -11,8 +11,9 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_DEVICE_INFO_LINUX_H_
+
++#include <stdint.h>
++
+ #include "modules/video_capture/device_info_impl.h"
+-#include "modules/video_capture/video_capture_impl.h"
+
+ namespace webrtc {
+ namespace videocapturemodule {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.cc
+@@ -17,14 +17,15 @@
+ #include <string.h>
+ #include <sys/ioctl.h>
+ #include <sys/mman.h>
+-#include <sys/stat.h>
++#include <sys/select.h>
++#include <time.h>
+ #include <unistd.h>
+-
+ #include <new>
++#include <string>
+
+ #include "media/base/videocommon.h"
++#include "modules/video_capture/video_capture.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/linux/video_capture_linux.h
+@@ -11,9 +11,12 @@
+ #ifndef MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+ #define MODULES_VIDEO_CAPTURE_MAIN_SOURCE_LINUX_VIDEO_CAPTURE_LINUX_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "common_types.h" // NOLINT(build/include)
++#include "modules/video_capture/video_capture_defines.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/platform_thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_factory.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_factory.h
+@@ -15,6 +15,8 @@
+ #define MODULES_VIDEO_CAPTURE_VIDEO_CAPTURE_FACTORY_H_
+
+ #include "modules/video_capture/video_capture.h"
++#include "modules/video_capture/video_capture_defines.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.cc
+@@ -9,18 +9,18 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_capture/video_capture_config.h"
+ #include "modules/video_capture/video_capture_impl.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/clock.h"
+ #include "third_party/libyuv/include/libyuv.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_capture/video_capture_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_capture/video_capture_impl.h
+@@ -15,10 +15,15 @@
+ * video_capture_impl.h
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/video/video_frame.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_sink_interface.h"
+ #include "modules/video_capture/video_capture.h"
+ #include "modules/video_capture/video_capture_config.h"
++#include "modules/video_capture/video_capture_defines.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/BUILD.gn
+@@ -15,9 +15,11 @@ rtc_static_library("encoded_frame") {
+ "encoded_frame.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../../:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../modules:module_api",
+ "../../modules:module_api_public",
+@@ -28,6 +30,7 @@ rtc_static_library("encoded_frame") {
+ "../../rtc_base/experiments:rtt_mult_experiment",
+ "../../system_wrappers:system_wrappers",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -70,15 +73,26 @@ rtc_static_library("packet") {
+ ]
+ deps = [
+ "..:module_api",
++ "../../:webrtc_common",
++ "../../api:libjingle_peerconnection_api",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+ rtc_static_library("video_coding") {
+ visibility = [ "*" ]
+ deps = [
++ "..:module_fec_api",
++ "../../api:libjingle_peerconnection_api",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../system_wrappers:field_trial",
+ "../../system_wrappers:metrics",
++ "../rtp_rtcp:rtp_video_header",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+
+ sources = [
+@@ -201,6 +215,7 @@ rtc_source_set("video_codec_interface")
+ "../../api/video:video_frame",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -264,6 +279,7 @@ rtc_source_set("video_coding_utility") {
+ "..:module_api",
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -298,6 +314,7 @@ rtc_static_library("webrtc_h264") {
+ deps = [
+ ":video_codec_interface",
+ ":video_coding_utility",
++ "../../:webrtc_common",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -309,6 +326,7 @@ rtc_static_library("webrtc_h264") {
+ "../../system_wrappers:metrics",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/strings",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+
+@@ -386,6 +404,7 @@ rtc_static_library("webrtc_multiplex") {
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video:common_video",
++ "../../rtc_base:checks",
+ "../../rtc_base:rtc_base",
+ "../../system_wrappers",
+ "../rtp_rtcp:rtp_rtcp_format",
+@@ -420,6 +439,7 @@ rtc_static_library("webrtc_vp8") {
+ "../..:webrtc_common",
+ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:create_vp8_temporal_layers",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -489,8 +509,10 @@ rtc_static_library("webrtc_vp9_helpers")
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ "../..:webrtc_common",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video_codecs:video_codecs_api",
+ "../../common_video",
+@@ -635,14 +657,19 @@ if (rtc_include_tests) {
+ }
+
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_coding",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
++ "..:module_api",
+ "../..:webrtc_common",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:encoded_image",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
++ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:video_codecs_api",
+@@ -656,6 +683,8 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/libyuv",
+ ]
+ }
+@@ -704,13 +733,16 @@ if (rtc_include_tests) {
+ "codecs/test/videocodec_test_stats_impl.h",
+ ]
+ deps = [
++ ":codec_globals_headers",
+ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":webrtc_vp9_helpers",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video_codecs:video_codecs_api",
+ "../../call:video_stream_api",
+ "../../common_video",
+@@ -731,6 +763,7 @@ if (rtc_include_tests) {
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -757,6 +790,7 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":mock_headers",
++ ":video_codec_interface",
+ ":video_codecs_test_framework",
+ ":video_coding_utility",
+ ":videocodec_test_impl",
+@@ -772,6 +806,7 @@ if (rtc_include_tests) {
+ "../../api:mock_video_encoder",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
++ "../../api/video:encoded_image",
+ "../../api/video:video_frame",
+ "../../api/video:video_frame_i420",
+ "../../api/video_codecs:rtc_software_fallback_wrappers",
+@@ -886,14 +921,18 @@ if (rtc_include_tests) {
+ ":webrtc_vp9",
+ ":webrtc_vp9_helpers",
+ "..:module_api",
++ "..:module_fec_api",
+ "../..:webrtc_common",
++ "../../api:array_view",
+ "../../api:create_simulcast_test_fixture_api",
++ "../../api:fec_controller_api",
+ "../../api:mock_video_decoder",
+ "../../api:mock_video_encoder",
+ "../../api:simulcast_test_fixture_api",
+ "../../api:videocodec_test_fixture_api",
+ "../../api/test/video:function_video_factory",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
++ "../../api/video:video_bitrate_allocation",
+ "../../api/video:video_bitrate_allocator",
+ "../../api/video:video_bitrate_allocator_factory",
+ "../../api/video:video_frame",
+@@ -920,8 +959,10 @@ if (rtc_include_tests) {
+ "../../test:video_test_common",
+ "../../test:video_test_support",
+ "../rtp_rtcp:rtp_rtcp_format",
++ "../rtp_rtcp:rtp_video_header",
+ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
++ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+ if (rtc_build_libvpx) {
+ deps += [ rtc_libvpx_dir ]
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codec_timer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codec_timer.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/codec_timer.h"
+
++#include <cstdint>
++
+ namespace webrtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/h264.cc
+@@ -11,15 +11,19 @@
+
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+
++#include <string>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/h264_profile_level_id.h"
++#include "media/base/mediaconstants.h"
+
+ #if defined(WEBRTC_USE_H264)
+ #include "modules/video_coding/codecs/h264/h264_decoder_impl.h"
+ #include "modules/video_coding/codecs/h264/h264_encoder_impl.h"
+ #endif
+
+-#include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/color_space.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "media/base/codec.h"
++#include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/h264/include/h264.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/interface/common_constants.h
+@@ -14,6 +14,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+ #define MODULES_VIDEO_CODING_CODECS_INTERFACE_COMMON_CONSTANTS_H_
+
++#include <stdint.h>
++
+ namespace webrtc {
+
+ const int16_t kNoPictureId = -1;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/augmented_video_frame_buffer.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h"
++
++#include <stdint.h>
++#include <utility>
++
+ #include "api/video/video_frame_buffer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/include/augmented_video_frame_buffer.h
+@@ -11,9 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_INCLUDE_AUGMENTED_VIDEO_FRAME_BUFFER_H_
+
++#include <cstdint>
+ #include <memory>
+
+ #include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ class AugmentedVideoFrameBuffer : public VideoFrameBuffer {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.cc
+@@ -14,6 +14,7 @@
+ #include <utility>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ int PackHeader(uint8_t* buffer, MultiplexImageHeader header) {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+ #define MODULES_VIDEO_CODING_CODECS_MULTIPLEX_MULTIPLEX_ENCODED_IMAGE_PACKER_H_
+
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/multiplex/test/multiplex_adapter_unittest.cc
+@@ -8,10 +8,25 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <memory>
++#include <utility>
++#include <vector>
++
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/test/mock_video_decoder_factory.h"
+ #include "api/test/mock_video_encoder_factory.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "media/base/mediaconstants.h"
+@@ -21,7 +36,13 @@
+ #include "modules/video_coding/codecs/multiplex/multiplex_encoded_image_packer.h"
+ #include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/keep_ref_until_done.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+
+ using testing::_;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/video_codec_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/codecs/test/video_codec_unittest.h"
++#include <utility>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
++#include "modules/video_coding/codecs/test/video_codec_unittest.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "test/video_codec_settings.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_config_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++
+ #include "api/test/videocodec_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+ #include "test/video_codec_settings.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+@@ -10,30 +10,43 @@
+
+ #include "modules/video_coding/codecs/test/videocodec_test_fixture_impl.h"
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <algorithm>
+ #include <cmath>
+ #include <memory>
++#include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "common_types.h" // NOLINT(build/include)
++#include "common_video/h264/h264_common.h"
+ #include "media/base/h264_profile_level_id.h"
+ #include "media/base/mediaconstants.h"
+ #include "media/engine/internaldecoderfactory.h"
+ #include "media/engine/internalencoderfactory.h"
+ #include "media/engine/simulcast.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/cpu_time.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_writer.h"
+ #include "test/video_codec_settings.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videocodec_test_stats_impl.h
+@@ -11,12 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOCODEC_TEST_STATS_IMPL_H_
+
++#include <stddef.h>
+ #include <map>
+-#include <string>
+ #include <vector>
+
+ #include "api/test/videocodec_test_stats.h" // NOLINT(build/include)
+-#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.cc
+@@ -10,21 +10,27 @@
+
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <limits>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_bitrate_allocator_factory.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video_codecs/video_codec.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor.h
+@@ -11,21 +11,32 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_TEST_VIDEOPROCESSOR_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/test/videocodec_test_stats.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_frame.h"
++#include "api/video_codecs/video_decoder.h"
++#include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "test/testsupport/frame_reader.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/test/videoprocessor_unittest.cc
+@@ -15,12 +15,10 @@
+ #include "api/test/mock_video_encoder.h"
+ #include "api/test/videocodec_test_fixture.h"
+ #include "api/video/i420_buffer.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/mediaconstants.h"
+ #include "modules/video_coding/codecs/test/videocodec_test_stats_impl.h"
+ #include "modules/video_coding/codecs/test/videoprocessor.h"
+-#include "modules/video_coding/include/video_coding.h"
+-#include "rtc_base/event.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.h
+@@ -12,6 +12,8 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_DEFAULT_TEMPORAL_LAYERS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <limits>
+ #include <map>
+ #include <memory>
+@@ -19,9 +21,9 @@
+ #include <vector>
+
+ #include "absl/types/optional.h"
+-
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "modules/video_coding/codecs/vp8/include/temporal_layers_checker.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers_unittest.cc
+@@ -9,11 +9,18 @@
+ */
+
+ #include "modules/video_coding/codecs/vp8/default_temporal_layers.h"
++
++#include <cstdint>
++
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_interface.h
+@@ -11,10 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP8_LIBVPX_INTERFACE_H_
+
++#include <stdint.h>
+ #include <memory>
+
+ #include "vpx/vp8cx.h"
++#include "vpx/vpx_codec.h"
+ #include "vpx/vpx_encoder.h"
++#include "vpx/vpx_image.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_decoder.cc
+@@ -8,18 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <algorithm>
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_decoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/numerics/exp_filter.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "third_party/libyuv/include/libyuv/convert.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8.h"
++#include "vpx/vp8dx.h"
++#include "vpx/vpx_decoder.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc
+@@ -8,24 +8,33 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_timing.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/field_trial.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
++#include "vpx/vp8cx.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp8/screenshare_layers_unittest.cc
+@@ -8,16 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/codecs/vp8/libvpx_vp8_encoder.h"
+ #include "modules/video_coding/codecs/vp8/screenshare_layers.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
++#include "vpx/vp8cx.h"
+
+ using ::testing::_;
+ using ::testing::ElementsAre;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/include/vp9_globals.h
+@@ -15,6 +15,7 @@
+ #define MODULES_VIDEO_CODING_CODECS_VP9_INCLUDE_VP9_GLOBALS_H_
+
+ #include <assert.h>
++#include <stdint.h>
+
+ #include "modules/video_coding/codecs/interface/common_constants.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config.h
+@@ -10,6 +10,7 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_CONFIG_H_
+
++#include <stddef.h>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_config_unittest.cc
+@@ -9,7 +9,6 @@
+ */
+
+ #include <cstddef>
+-#include <cstdint>
+ #include <vector>
+
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.cc
+@@ -12,8 +12,10 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <numeric>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator.h
+@@ -11,10 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_CODECS_VP9_SVC_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/codecs/vp9/svc_rate_allocator_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+ #include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/decoding_state_unittest.cc
+@@ -8,13 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <string.h>
+-
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/decoding_state.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/frame_buffer.h"
+-#include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/session_info.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoded_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoded_frame.cc
+@@ -10,6 +10,14 @@
+
+ #include "modules/video_coding/encoded_frame.h"
+
++#include <string.h>
++
++#include "absl/types/variant.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
++
+ namespace webrtc {
+
+ VCMEncodedFrame::VCMEncodedFrame()
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.cc
+@@ -10,6 +10,9 @@
+
+ #include "modules/video_coding/encoder_database.h"
+
++#include <string.h>
++
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/encoder_database.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/encoder_database.h
+@@ -11,8 +11,11 @@
+ #ifndef MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+ #define MODULES_VIDEO_CODING_ENCODER_DATABASE_H_
+
++#include <stddef.h>
+ #include <memory>
+
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "modules/video_coding/generic_encoder.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
++#include <string>
+
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h" // NOLINT
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_default.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_default.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+ #define MODULES_VIDEO_CODING_FEC_CONTROLLER_DEFAULT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
++
+ #include "api/fec_controller.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/media_opt_util.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/fec_controller_unittest.cc
+@@ -8,6 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <vector>
++
++#include "api/fec_controller.h"
++#include "modules/include/module_fec_types.h"
+ #include "modules/video_coding/fec_controller_default.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.cc
+@@ -13,6 +13,10 @@
+ #include <assert.h>
+ #include <string.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer.h
+@@ -11,12 +11,17 @@
+ #ifndef MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+ #define MODULES_VIDEO_CODING_FRAME_BUFFER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/session_info.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_buffer2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_buffer2.cc
+@@ -11,15 +11,22 @@
+ #include "modules/video_coding/frame_buffer2.h"
+
+ #include <algorithm>
+-#include <cstring>
++#include <cstdlib>
++#include <iterator>
+ #include <queue>
++#include <utility>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/experiments/rtt_mult_experiment.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/sequence_number_util.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/frame_object.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/frame_object.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/frame_object.h"
+
+-#include "common_video/h264/h264_common.h"
++#include <string.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/packet_buffer.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_decoder.cc
+@@ -10,10 +10,11 @@
+
+ #include "modules/video_coding/generic_decoder.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+-#include "modules/video_coding/include/video_coding.h"
+-#include "modules/video_coding/internal_defines.h"
++#include "api/video/video_timing.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder.cc
+@@ -10,19 +10,24 @@
+
+ #include "modules/video_coding/generic_encoder.h"
+
++#include <cstddef>
++#include <cstdint>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_content_type.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "api/video/video_timing.h"
+ #include "modules/include/module_common_types_public.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/media_optimization.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/generic_encoder_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstddef>
+ #include <vector>
+
+-#include "modules/video_coding/encoded_frame.h"
++#include "api/video/video_timing.h"
+ #include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+ #include "rtc_base/fakeclock.h"
++#include "rtc_base/timeutils.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+ #define MODULES_VIDEO_CODING_H264_SPROP_PARAMETER_SETS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sprop_parameter_sets_unittest.cc
+@@ -10,8 +10,6 @@
+
+ #include "modules/video_coding/h264_sprop_parameter_sets.h"
+
+-#include <stdint.h>
+-
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/h264_sps_pps_tracker_unittest.cc
+@@ -10,9 +10,14 @@
+
+ #include "modules/video_coding/h264_sps_pps_tracker.h"
+
++#include <string.h>
+ #include <vector>
+
++#include "absl/types/variant.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/packet.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/histogram.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/histogram.cc
+@@ -12,7 +12,7 @@
+
+ #include <algorithm>
+
+-#include "rtc_base/numerics/sequence_number_util.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace video_coding {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/include/video_coding_defines.h
+@@ -11,11 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+ #define MODULES_VIDEO_CODING_INCLUDE_VIDEO_CODING_DEFINES_H_
+
+-#include <string>
+-#include <vector>
++#include <stddef.h>
++#include <stdint.h>
+
++#include "absl/types/optional.h"
++#include "api/video/video_content_type.h"
+ #include "api/video/video_frame.h"
+-#include "modules/include/module_common_types.h"
++#include "api/video/video_timing.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator.cc
+@@ -12,17 +12,16 @@
+
+ #include <assert.h>
+ #include <math.h>
+-#include <stdlib.h>
+ #include <string.h>
+ #include <algorithm>
+-#include <string>
++#include <cstdint>
+
+ #include "absl/types/optional.h"
+ #include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/rtt_filter.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
++#include "rtc_base/numerics/safe_conversions.h"
+ #include "system_wrappers/include/clock.h"
+-#include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/jitter_estimator_tests.cc
+@@ -7,11 +7,17 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "modules/video_coding/jitter_estimator.h"
++#include <stdint.h>
++#include <memory>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "modules/video_coding/jitter_estimator.h"
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
++#include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/timeutils.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_opt_util.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_opt_util.cc
+@@ -10,18 +10,14 @@
+
+ #include "modules/video_coding/media_opt_util.h"
+
+-#include <float.h>
+-#include <limits.h>
++#include <assert.h>
+ #include <math.h>
+-
+ #include <algorithm>
+-#include <limits>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/fec_rate_table.h"
+-#include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/nack_fec_tables.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/media_optimization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/media_optimization.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/media_optimization.h"
+
++#include <string.h>
++#include <algorithm>
+ #include <limits>
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module.h
+@@ -11,6 +11,7 @@
+ #ifndef MODULES_VIDEO_CODING_NACK_MODULE_H_
+ #define MODULES_VIDEO_CODING_NACK_MODULE_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <set>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/nack_module_unittest.cc
+@@ -8,10 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <cstring>
+ #include <memory>
+
+-#include "modules/video_coding/include/video_coding_defines.h"
+ #include "modules/video_coding/nack_module.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/packet.h"
+
++#include "api/rtp_headers.h"
+ #include "modules/include/module_common_types.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet.h
+@@ -11,8 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_PACKET_H_
+ #define MODULES_VIDEO_CODING_PACKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/include/module_common_types.h"
+ #include "modules/rtp_rtcp/source/rtp_generic_frame_descriptor.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/packet_buffer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/packet_buffer.cc
+@@ -10,15 +10,22 @@
+
+ #include "modules/video_coding/packet_buffer.h"
+
++#include <string.h>
+ #include <algorithm>
+-#include <limits>
++#include <cstdint>
+ #include <utility>
+
++#include "absl/types/variant.h"
++#include "api/video/encoded_frame.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/h264/h264_common.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/frame_object.h"
+ #include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/numerics/mod_ops.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver.cc
+@@ -11,14 +11,17 @@
+ #include "modules/video_coding/receiver.h"
+
+ #include <assert.h>
+-
++#include <cstdint>
+ #include <cstdlib>
+ #include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
++#include "api/video/encoded_image.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
+ #include "modules/video_coding/internal_defines.h"
+-#include "modules/video_coding/media_opt_util.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/trace_event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/receiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/receiver_unittest.cc
+@@ -8,13 +8,14 @@
+ */
+
+ #include <string.h>
+-
+-#include <list>
++#include <cstdint>
+ #include <memory>
+ #include <queue>
+ #include <vector>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "modules/video_coding/receiver.h"
+ #include "modules/video_coding/test/stream_generator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.cc
+@@ -9,6 +9,17 @@
+ */
+
+ #include "modules/video_coding/session_info.h"
++
++#include <assert.h>
++#include <string.h>
++#include <vector>
++
++#include "absl/types/variant.h"
++#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
+ #include "modules/video_coding/jitter_buffer_common.h"
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/session_info.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/session_info.h
+@@ -11,10 +11,14 @@
+ #ifndef MODULES_VIDEO_CODING_SESSION_INFO_H_
+ #define MODULES_VIDEO_CODING_SESSION_INFO_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+ #include <vector>
+
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/packet.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.cc
+@@ -11,11 +11,10 @@
+ #include "modules/video_coding/test/stream_generator.h"
+
+ #include <string.h>
+-
+ #include <list>
+
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/packet.h"
+-#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/test/stream_generator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/test/stream_generator.h
+@@ -10,8 +10,10 @@
+ #ifndef MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+ #define MODULES_VIDEO_CODING_TEST_STREAM_GENERATOR_H_
+
++#include <stdint.h>
+ #include <list>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/packet.h"
+ #include "rtc_base/constructormagic.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timestamp_map.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timestamp_map.cc
+@@ -10,7 +10,7 @@
+
+ #include <stdlib.h>
+
+-#include "modules/include/module_common_types.h"
++#include "modules/include/module_common_types_public.h"
+ #include "modules/video_coding/timestamp_map.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/timing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/timing.cc
+@@ -10,6 +10,7 @@
+
+ #include "modules/video_coding/timing.h"
+
++#include <assert.h>
+ #include <algorithm>
+
+ #include "rtc_base/time/timestamp_extrapolator.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.cc
+@@ -10,8 +10,8 @@
+
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+ #include <algorithm>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator.h
+@@ -11,6 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_DEFAULT_VIDEO_BITRATE_ALLOCATOR_H_
+
++#include <stdint.h>
++
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video_codecs/video_codec.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/default_video_bitrate_allocator_unittest.cc
+@@ -11,6 +11,7 @@
+ #include <limits>
+ #include <memory>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/frame_dropper.h"
+
+-#include "rtc_base/logging.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.cc
+@@ -10,7 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
+-#include "rtc_base/checks.h"
++#include <stddef.h>
++#include <cstdint>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_FRAMERATE_CONTROLLER_H_
+
++#include <stdint.h>
++
+ #include "absl/types/optional.h"
+ #include "rtc_base/rate_statistics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/framerate_controller_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "modules/video_coding/utility/framerate_controller.h"
+
++#include <stddef.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.cc
+@@ -10,7 +10,6 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
+-#include <string>
+ #include <utility>
+
+ #include "api/video_codecs/video_codec.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer.h
+@@ -11,11 +11,12 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_IVF_FILE_WRITER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <string>
+
+ #include "api/video/encoded_image.h"
+-#include "modules/include/module_common_types.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/file.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/ivf_file_writer_unittest.cc
+@@ -10,13 +10,12 @@
+
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "modules/rtp_rtcp/source/byte_io.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/thread.h"
+-#include "rtc_base/timeutils.h"
++#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.cc
+@@ -10,11 +10,9 @@
+
+ #include "modules/video_coding/utility/quality_scaler.h"
+
+-#include <math.h>
+-
+-#include <algorithm>
+ #include <memory>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/exp_filter.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler.h
+@@ -11,15 +11,15 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+ #define MODULES_VIDEO_CODING_UTILITY_QUALITY_SCALER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+-#include <utility>
+
+-#include "absl/types/optional.h"
+ #include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+ #include "rtc_base/numerics/moving_average.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+@@ -66,6 +66,7 @@ class QualityScaler {
+ private:
+ class CheckQpTask;
+ class QpSmoother;
++
+ void CheckQp();
+ void ClearSamples();
+ void ReportQpLow();
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/quality_scaler_unittest.cc
+@@ -13,10 +13,10 @@
+ #include <memory>
+ #include <string>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
+ #include "test/field_trial.h"
+-#include "test/gmock.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.cc
+@@ -10,10 +10,10 @@
+
+ #include "modules/video_coding/utility/simulcast_rate_allocator.h"
+
++#include <stdio.h>
+ #include <algorithm>
+-#include <memory>
++#include <cstdint>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+ #include "common_types.h" // NOLINT(build/include)
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_rate_allocator.h
+@@ -11,15 +11,13 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_RATE_ALLOCATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+-
+-#include <map>
+-#include <memory>
+ #include <vector>
+
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+-#include "api/video_codecs/video_encoder.h"
+-#include "common_types.h" // NOLINT(build/include)
++#include "api/video_codecs/video_codec.h"
+ #include "rtc_base/constructormagic.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.cc
+@@ -10,7 +10,9 @@
+
+ #include <algorithm>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/utility/simulcast_utility.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/utility/simulcast_utility.h
+@@ -11,7 +11,9 @@
+ #ifndef MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+ #define MODULES_VIDEO_CODING_UTILITY_SIMULCAST_UTILITY_H_
+
+-#include "api/video_codecs/video_encoder.h"
++#include <stdint.h>
++
++#include "api/video_codecs/video_codec.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer.cc
+@@ -10,17 +10,19 @@
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
+
+-#include "api/video/video_bitrate_allocator.h"
++#include <stdint.h>
++#include <string.h>
++#include <algorithm>
++
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_coding/codecs/vp9/svc_config.h"
+-#include "modules/video_coding/codecs/vp9/svc_rate_allocator.h"
+ #include "modules/video_coding/include/video_coding_defines.h"
+-#include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/simulcast_rate_allocator.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/system/fallthrough.h"
+-#include "system_wrappers/include/clock.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_codec_initializer_unittest.cc
+@@ -9,7 +9,16 @@
+ */
+
+ #include "modules/video_coding/include/video_codec_initializer.h"
++
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+@@ -17,6 +26,7 @@
+ #include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_coding_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_coding_impl.cc
+@@ -11,17 +11,14 @@
+ #include "modules/video_coding/video_coding_impl.h"
+
+ #include <algorithm>
+-#include <utility>
++#include <memory>
+
+ #include "api/video/builtin_video_bitrate_allocator_factory.h"
++#include "api/video/encoded_image.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_bitrate_allocator_factory.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_initializer.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "modules/video_coding/jitter_buffer.h"
+-#include "modules/video_coding/packet.h"
+ #include "modules/video_coding/timing.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_receiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_receiver.cc
+@@ -8,17 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
++#include <vector>
++
++#include "api/rtp_headers.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/decoder_database.h"
+ #include "modules/video_coding/encoded_frame.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/generic_decoder.h"
++#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/internal_defines.h"
+ #include "modules/video_coding/jitter_buffer.h"
++#include "modules/video_coding/media_opt_util.h"
+ #include "modules/video_coding/packet.h"
++#include "modules/video_coding/receiver.h"
++#include "modules/video_coding/timing.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/onetimeevent.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_coding/video_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_coding/video_sender.cc
+@@ -8,19 +8,31 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <vector>
+
+-#include <algorithm> // std::max
+-
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "common_types.h" // NOLINT(build/include)
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/video_coding/encoded_frame.h"
++#include "modules/video_coding/encoder_database.h"
++#include "modules/video_coding/generic_encoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "modules/video_coding/internal_defines.h"
++#include "modules/video_coding/media_optimization.h"
+ #include "modules/video_coding/utility/default_video_bitrate_allocator.h"
+-#include "modules/video_coding/utility/quality_scaler.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/BUILD.gn
+@@ -27,6 +27,8 @@ rtc_static_library("video_processing") {
+ deps = [
+ ":denoiser_filter",
+ "..:module_api",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_audio",
+ "../../common_video",
+ "../../modules/utility",
+@@ -110,8 +112,12 @@ if (rtc_include_tests) {
+ "test/denoiser_test.cc",
+ ]
+ deps = [
++ ":denoiser_filter",
+ ":video_processing",
++ "../../api/video:video_frame",
++ "../../api/video:video_frame_i420",
+ "../../common_video:common_video",
++ "../../rtc_base:ptr_util",
+ "../../test:fileutils",
+ "../../test:test_support",
+ "../../test:video_test_common",
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/test/denoiser_test.cc
+@@ -8,12 +8,18 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <string.h>
+-
+ #include <memory>
++#include <string>
+
+-#include "common_video/include/i420_buffer_pool.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "modules/video_processing/util/denoiser_filter.h"
++#include "modules/video_processing/util/skin_detection.h"
+ #include "modules/video_processing/video_denoiser.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter.h
+@@ -11,11 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_H_
+
+-#include <climits>
++#include <stdint.h>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+-
+ namespace webrtc {
+
+ extern const int kMotionMagnitudeThreshold;
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "modules/video_processing/util/denoiser_filter_c.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_c.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_C_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "modules/video_processing/util/denoiser_filter_sse2.h"
++
+ #include <emmintrin.h>
++#include <stdlib.h>
++#include <string.h>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/denoiser_filter_sse2.h
+@@ -11,6 +11,8 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_DENOISER_FILTER_SSE2_H_
+
++#include <stdint.h>
++
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/noise_estimation.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/noise_estimation.h
+@@ -11,9 +11,9 @@
+ #ifndef MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+ #define MODULES_VIDEO_PROCESSING_UTIL_NOISE_ESTIMATION_H_
+
++#include <cstdint>
+ #include <memory>
+
+-#include "modules/include/module_common_types.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/util/skin_detection.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/util/skin_detection.cc
+@@ -8,9 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits.h>
+-#include <math.h>
+-
+ #include "modules/video_processing/util/skin_detection.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "modules/video_processing/video_denoiser.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
++
++#include <stdint.h>
++#include <string.h>
++
++#include "api/video/i420_buffer.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/modules/video_processing/video_denoiser.h
++++ chromium-72.0.3626.53/third_party/webrtc/modules/video_processing/video_denoiser.h
+@@ -13,10 +13,12 @@
+
+ #include <memory>
+
++#include "api/video/video_frame_buffer.h"
+ #include "common_video/include/i420_buffer_pool.h"
+ #include "modules/video_processing/util/denoiser_filter.h"
+ #include "modules/video_processing/util/noise_estimation.h"
+ #include "modules/video_processing/util/skin_detection.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/BUILD.gn
+@@ -93,6 +93,7 @@ rtc_static_library("rtc_p2p") {
+ "../rtc_base:safe_minmax",
+ "../rtc_base:stringutils",
+ "../rtc_base:weak_ptr",
++ "../rtc_base/network:sent_packet",
+ "../rtc_base/system:rtc_export",
+ "../rtc_base/third_party/base64",
+ "../rtc_base/third_party/sigslot",
+@@ -180,7 +181,9 @@ if (rtc_include_tests) {
+ deps = [
+ ":p2p_test_utils",
+ ":rtc_p2p",
++ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
++ "../api/units:time_delta",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -188,6 +191,8 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base:testclient",
++ "../rtc_base/network:sent_packet",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:test_support",
+ "//testing/gtest",
+@@ -231,6 +236,7 @@ if (rtc_include_tests) {
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_tests_utils",
++ "../test:test_support",
+ "//testing/gtest",
+ ]
+ }
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.cc
+@@ -10,11 +10,16 @@
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+
++#include <errno.h>
++#include <stdint.h>
+ #include <string.h>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket.h
+@@ -11,9 +11,13 @@
+ #ifndef P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+ #define P2P_BASE_ASYNCSTUNTCPSOCKET_H_
+
++#include <stddef.h>
++
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/asyncstuntcpsocket_unittest.cc
+@@ -8,14 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <list>
+ #include <memory>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory.h
+@@ -12,6 +12,7 @@
+ #define P2P_BASE_BASICASYNCRESOLVERFACTORY_H_
+
+ #include "api/asyncresolverfactory.h"
++#include "rtc_base/asyncresolverinterface.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicasyncresolverfactory_unittest.cc
+@@ -9,7 +9,11 @@
+ */
+
+ #include "p2p/base/basicasyncresolverfactory.h"
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/basicpacketsocketfactory.cc
+@@ -10,17 +10,18 @@
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+
++#include <stddef.h>
+ #include <string>
+
+ #include "p2p/base/asyncstuntcpsocket.h"
+-#include "p2p/base/stun.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketadapters.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/dtlstransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/dtlstransportinternal.h
+@@ -11,14 +11,20 @@
+ #ifndef P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+ #define P2P_BASE_DTLSTRANSPORTINTERNAL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+-#include <vector>
+
+ #include "api/crypto/cryptooptions.h"
+ #include "p2p/base/icetransportinternal.h"
+ #include "p2p/base/packettransportinternal.h"
++#include "rtc_base/constructormagic.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator.cc
+@@ -9,6 +9,8 @@
+ */
+
+ #include "p2p/base/icecredentialsiterator.h"
++
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/helpers.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icecredentialsiterator_unittest.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
+ #include "p2p/base/icecredentialsiterator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::IceParameters;
+ using cricket::IceCredentialsIterator;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/icetransportinternal.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/icetransportinternal.h
+@@ -11,16 +11,20 @@
+ #ifndef P2P_BASE_ICETRANSPORTINTERNAL_H_
+ #define P2P_BASE_ICETRANSPORTINTERNAL_H_
+
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
+ #include "api/candidate.h"
+ #include "api/transport/enums.h"
+-#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/packettransportinternal.h"
+ #include "p2p/base/port.h"
+ #include "p2p/base/transportdescription.h"
++#include "rtc_base/network_constants.h"
+ #include "rtc_base/system/rtc_export.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/mdns_message.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/mdns_message.h
+@@ -21,9 +21,7 @@
+ // Fuzzer tests (test/fuzzers/mdns_parser_fuzzer.cc) MUST always be performed
+ // after changes made to this file.
+
+-#include <map>
+-#include <memory>
+-#include <set>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.cc
+@@ -10,8 +10,6 @@
+
+ #include "p2p/base/p2pconstants.h"
+
+-#include <string>
+-
+ namespace cricket {
+
+ const char CN_AUDIO[] = "audio";
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/p2pconstants.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/p2pconstants.h
+@@ -11,7 +11,8 @@
+ #ifndef P2P_BASE_P2PCONSTANTS_H_
+ #define P2P_BASE_P2PCONSTANTS_H_
+
+-#include <string>
++#include <stddef.h>
++#include <stdint.h>
+
+ #include "rtc_base/system/rtc_export.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator.h
+@@ -11,6 +11,7 @@
+ #ifndef P2P_BASE_PACKETLOSSESTIMATOR_H_
+ #define P2P_BASE_PACKETLOSSESTIMATOR_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <string>
+ #include <unordered_map>
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/packetlossestimator_unittest.cc
+@@ -8,10 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <utility>
+
+ #include "p2p/base/packetlossestimator.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ using cricket::PacketLossEstimator;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/port_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/port_unittest.cc
+@@ -8,32 +8,63 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <list>
+ #include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/candidate.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
++#include "p2p/base/packetsocketfactory.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/tcpport.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
++#include "p2p/base/turnserver.h"
++#include "p2p/client/relayportfactoryinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/crc32.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/network.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketadapters.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+-#include "rtc_base/stringutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::AsyncPacketSocket;
+ using rtc::ByteBufferReader;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator.cc
+@@ -11,10 +11,12 @@
+ #include "p2p/base/portallocator.h"
+
+ #include <iterator>
++#include <set>
+ #include <utility>
+
+ #include "p2p/base/icecredentialsiterator.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/portallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/portallocator_unittest.cc
+@@ -12,9 +12,9 @@
+
+ #include "p2p/base/fakeportallocator.h"
+ #include "p2p/base/portallocator.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ static const char kContentName[] = "test content";
+ // Based on ICE_UFRAG_LENGTH
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.cc
+@@ -10,14 +10,13 @@
+
+ #include "p2p/base/pseudotcp.h"
+
++#include <errno.h>
+ #include <stdio.h>
+-#include <stdlib.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
+ #include <set>
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp.h
+@@ -11,6 +11,8 @@
+ #ifndef P2P_BASE_PSEUDOTCP_H_
+ #define P2P_BASE_PSEUDOTCP_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <list>
+
+ #include "rtc_base/stream.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/pseudotcp_unittest.cc
+@@ -8,17 +8,23 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
+ #include "p2p/base/pseudotcp.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/memory_stream.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using cricket::PseudoTcp;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayport.cc
+@@ -7,13 +7,24 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
+ #include "p2p/base/relayport.h"
++#include "p2p/base/stun.h"
++#include "p2p/base/stunrequest.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/helpers.h"
++#include "rtc_base/dscp.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/proxyinfo.h"
++#include "rtc_base/timeutils.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/relayserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/relayserver_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/relayserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun.h
+@@ -14,11 +14,14 @@
+ // This file contains classes for dealing with the STUN protocol, as specified
+ // in RFC 5389, and its descendants.
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+@@ -116,14 +119,15 @@ const size_t kStunLegacyTransactionIdLen
+ // STUN Message Integrity HMAC length.
+ const size_t kStunMessageIntegritySize = 20;
+
+-class StunAttribute;
+ class StunAddressAttribute;
+-class StunXorAddressAttribute;
+-class StunUInt32Attribute;
+-class StunUInt64Attribute;
++class StunAttribute;
+ class StunByteStringAttribute;
+ class StunErrorCodeAttribute;
++
+ class StunUInt16ListAttribute;
++class StunUInt32Attribute;
++class StunUInt64Attribute;
++class StunXorAddressAttribute;
+
+ // Records a complete STUN/TURN message. Each message consists of a type and
+ // any number of attributes. Each attribute is parsed into an instance of an
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stun_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stun_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+@@ -15,10 +16,9 @@
+ #include "p2p/base/stun.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest.h
+@@ -11,9 +11,14 @@
+ #ifndef P2P_BASE_STUNREQUEST_H_
+ #define P2P_BASE_STUNREQUEST_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <string>
++
+ #include "p2p/base/stun.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunrequest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunrequest_unittest.cc
+@@ -13,10 +13,9 @@
+ #include "p2p/base/stunrequest.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver.h
+@@ -11,10 +11,15 @@
+ #ifndef P2P_BASE_STUNSERVER_H_
+ #define P2P_BASE_STUNSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "p2p/base/stun.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/stunserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/stunserver_unittest.cc
+@@ -8,16 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+ #include "absl/memory/memory.h"
+ #include "p2p/base/stunserver.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/bytebuffer.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport.cc
+@@ -66,10 +66,18 @@
+
+ #include "p2p/base/tcpport.h"
+
++#include <errno.h>
++#include <algorithm>
+ #include <vector>
+
++#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/ratetracker.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/tcpport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/tcpport_unittest.cc
+@@ -10,13 +10,20 @@
+
+ #include <list>
+ #include <memory>
++#include <vector>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
++#include "p2p/base/p2pconstants.h"
+ #include "p2p/base/tcpport.h"
++#include "p2p/base/transportdescription.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+ using cricket::Connection;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.cc
+@@ -10,6 +10,9 @@
+
+ #include "p2p/base/teststunserver.h"
+
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/socketserver.h"
++
+ namespace cricket {
+
+ TestStunServer* TestStunServer::Create(rtc::Thread* thread,
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/teststunserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/teststunserver.h
+@@ -11,7 +11,9 @@
+ #ifndef P2P_BASE_TESTSTUNSERVER_H_
+ #define P2P_BASE_TESTSTUNSERVER_H_
+
++#include "p2p/base/stun.h"
+ #include "p2p/base/stunserver.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/thread.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescription.cc
+@@ -11,7 +11,6 @@
+ #include "p2p/base/transportdescription.h"
+
+ #include "absl/strings/match.h"
+-#include "p2p/base/p2pconstants.h"
+ #include "rtc_base/arraysize.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory.cc
+@@ -10,12 +10,12 @@
+
+ #include "p2p/base/transportdescriptionfactory.h"
+
++#include <stddef.h>
+ #include <memory>
++#include <string>
+
+ #include "p2p/base/transportdescription.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/messagedigest.h"
+ #include "rtc_base/sslfingerprint.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/transportdescriptionfactory_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <algorithm>
+ #include <memory>
+ #include <string>
+ #include <vector>
+@@ -15,9 +17,12 @@
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/sslcertificate.h"
++#include "rtc_base/sslfingerprint.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::TransportDescriptionFactory;
+ using cricket::TransportDescription;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnport_unittest.cc
+@@ -16,29 +16,31 @@
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/units/time_delta.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/portallocator.h"
+-#include "p2p/base/tcpport.h"
++#include "p2p/base/stunport.h"
+ #include "p2p/base/testturncustomizer.h"
+ #include "p2p/base/testturnserver.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/turnport.h"
+-#include "p2p/base/udpport.h"
+-#include "rtc_base/asynctcpsocket.h"
++#include "p2p/base/turnserver.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/bytebuffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/dscp.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/socketadapters.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using rtc::SocketAddress;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/base/turnserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/base/turnserver_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+
+ #include "p2p/base/turnserver.h"
++
+ #include "p2p/base/basicpacketsocketfactory.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ // NOTE: This is a work in progress. Currently this file only has tests for
+ // TurnServerConnection, a primitive class used by TurnServer.
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/basicportallocator_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include <algorithm>
+ #include <memory>
++#include <ostream> // no-presubmit-check TODO(webrtc:8982)
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/p2pconstants.h"
+-#include "p2p/base/p2ptransportchannel.h"
+ #include "p2p/base/stunport.h"
++#include "p2p/base/stunrequest.h"
++#include "p2p/base/stunserver.h"
+ #include "p2p/base/testrelayserver.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/base/testturnserver.h"
+@@ -23,18 +25,23 @@
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/helpers.h"
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/nethelper.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/networkmonitor.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
+-#include "rtc_base/ssladapter.h"
++#include "rtc_base/socketaddresspair.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ using rtc::IPAddress;
+ using rtc::SocketAddress;
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.cc
+@@ -13,6 +13,7 @@
+ #include <memory>
+ #include <utility>
+
++#include "p2p/base/portallocator.h"
+ #include "p2p/base/turnport.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/client/turnportfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/client/turnportfactory.h
+@@ -13,7 +13,9 @@
+
+ #include <memory>
+
++#include "p2p/base/port.h"
+ #include "p2p/client/relayportfactoryinterface.h"
++#include "rtc_base/asyncpacketsocket.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/p2p/stunprober/stunprober_unittest.cc
+@@ -9,18 +9,16 @@
+ */
+
+ #include <stdint.h>
+-
+ #include <memory>
+
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "p2p/base/teststunserver.h"
+ #include "p2p/stunprober/stunprober.h"
+-#include "rtc_base/asyncresolverinterface.h"
+-#include "rtc_base/bind.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using stunprober::StunProber;
+ using stunprober::AsyncCallback;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/pc/BUILD.gn
+@@ -67,10 +67,12 @@ rtc_static_library("rtc_pc_base") {
+ deps = [
+ "..:webrtc_common",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:ortc_api",
+ "../api/video:video_frame",
++ "../call:call_interfaces",
+ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../common_video:common_video",
+@@ -78,6 +80,7 @@ rtc_static_library("rtc_pc_base") {
+ "../media:rtc_data",
+ "../media:rtc_h264_profile_id",
+ "../media:rtc_media_base",
++ "../media:rtc_media_config",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+@@ -185,6 +188,8 @@ rtc_static_library("peerconnection") {
+ deps = [
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:call_api",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+@@ -269,9 +274,11 @@ if (rtc_include_tests) {
+ ":rtc_pc",
+ ":rtc_pc_base",
+ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:fake_media_transport",
+ "../api:libjingle_peerconnection_api",
+ "../call:rtp_interfaces",
++ "../call:rtp_receiver",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_media_base",
+ "../media:rtc_media_tests_utils",
+@@ -308,24 +315,33 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":pc_test_utils",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/audio_codecs:builtin_audio_decoder_factory",
+ "../api/audio_codecs:builtin_audio_encoder_factory",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_media_tests_utils",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:api",
+ "../p2p:p2p_test_utils",
+ "../p2p:rtc_p2p",
+ "../pc:peerconnection",
++ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_utils",
++ "../system_wrappers:system_wrappers",
+ "../test:perf_test",
+ "../test:test_support",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -364,13 +380,17 @@ if (rtc_include_tests) {
+ ":peerconnection",
+ ":rtc_pc_base",
+ "..:webrtc_common",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:libjingle_peerconnection_api",
+ "../api:libjingle_peerconnection_test_api",
+ "../api:rtc_stats_api",
++ "../api/audio:audio_mixer_api",
++ "../api/audio_codecs:audio_codecs_api",
+ "../api/video:video_frame",
+ "../api/video_codecs:builtin_video_decoder_factory",
+ "../api/video_codecs:builtin_video_encoder_factory",
++ "../api/video_codecs:video_codecs_api",
+ "../call:call_interfaces",
+ "../logging:rtc_event_log_api",
+ "../media:rtc_data",
+@@ -381,6 +401,7 @@ if (rtc_include_tests) {
+ "../modules/audio_processing:api",
+ "../modules/audio_processing:audio_processing",
+ "../p2p:p2p_test_utils",
++ "../p2p:rtc_p2p",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base",
+@@ -390,6 +411,7 @@ if (rtc_include_tests) {
+ "../test:test_support",
+ "../test:video_test_common",
+ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+ if (!build_with_chromium && is_clang) {
+@@ -453,19 +475,27 @@ if (rtc_include_tests) {
+ deps = [
+ ":peerconnection",
+ ":rtc_pc_base",
++ "../api:array_view",
++ "../api:audio_options_api",
+ "../api:create_peerconnection_factory",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_logging_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:loopback_media_transport",
+ "../api:mock_rtp",
++ "../api/audio:audio_mixer_api",
+ "../api/units:time_delta",
+ "../logging:fake_rtc_event_log",
++ "../media:rtc_media_config",
++ "../modules/audio_device:audio_device_api",
++ "../modules/audio_processing:audio_processing_statistics",
+ "../rtc_base:checks",
+ "../rtc_base:gunit_helpers",
+ "../rtc_base:rtc_base_tests_utils",
+ "../rtc_base:stringutils",
+ "../rtc_base/third_party/base64",
++ "../rtc_base/third_party/sigslot:sigslot",
+ "../system_wrappers:metrics",
+ "../test:fileutils",
+ "//third_party/abseil-cpp/absl/memory",
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/audiotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/audiotrack.h
+@@ -14,7 +14,6 @@
+ #include <string>
+
+ #include "api/mediastreaminterface.h"
+-#include "api/notifier.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channel_unittest.cc
+@@ -8,23 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
+ #include <memory>
+ #include <utility>
+
++#include "absl/memory/memory.h"
+ #include "api/array_view.h"
++#include "api/audio_options.h"
++#include "api/rtpparameters.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/fakertp.h"
+ #include "media/base/mediachannel.h"
+-#include "p2p/base/fakecandidatepair.h"
++#include "p2p/base/candidatepairinterface.h"
+ #include "p2p/base/fakedtlstransport.h"
+ #include "p2p/base/fakepackettransport.h"
++#include "p2p/base/icetransportinternal.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/channel.h"
++#include "pc/dtlssrtptransport.h"
++#include "pc/jseptransport.h"
++#include "pc/rtptransport.h"
++#include "rtc_base/arraysize.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::DtlsTransportInternal;
+ using cricket::FakeVoiceMediaChannel;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.cc
+@@ -15,9 +15,11 @@
+
+ #include "absl/memory/memory.h"
+ #include "absl/strings/match.h"
+-#include "media/base/rtpdataengine.h"
++#include "media/base/mediaconstants.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager.h
+@@ -11,12 +11,23 @@
+ #ifndef PC_CHANNELMANAGER_H_
+ #define PC_CHANNELMANAGER_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/media_transport_interface.h"
++#include "call/call.h"
++#include "media/base/codec.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
+ #include "media/base/mediaengine.h"
+ #include "pc/channel.h"
++#include "pc/rtptransportinternal.h"
++#include "pc/sessiondescription.h"
++#include "rtc_base/platform_file.h"
+ #include "rtc_base/thread.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/channelmanager_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/channelmanager_unittest.cc
+@@ -9,17 +9,22 @@
+ */
+
+ #include <memory>
+-#include <utility>
+
++#include "absl/memory/memory.h"
++#include "api/rtcerror.h"
+ #include "api/test/fake_media_transport.h"
+ #include "media/base/fakemediaengine.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/channelmanager.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
++#include "pc/dtlssrtptransport.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace {
+ const bool kDefaultSrtpRequired = true;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel.cc
+@@ -16,8 +16,10 @@
+ #include "media/sctp/sctptransportinternal.h"
+ #include "pc/sctputils.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/datachannel_unittest.cc
+@@ -8,6 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <vector>
+
+@@ -16,6 +17,7 @@
+ #include "pc/test/fakedatachannelprovider.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "test/gtest.h"
+
+ using webrtc::DataChannel;
+ using webrtc::SctpSidAllocator;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.cc
+@@ -10,11 +10,12 @@
+
+ #include "pc/dtlssrtptransport.h"
+
+-#include <memory>
++#include <string.h>
+ #include <string>
+ #include <utility>
+
+-#include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/sslstreamadapter.h"
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport.h
+@@ -11,13 +11,16 @@
+ #ifndef PC_DTLSSRTPTRANSPORT_H_
+ #define PC_DTLSSRTPTRANSPORT_H_
+
+-#include <memory>
+-#include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
+ #include "p2p/base/dtlstransportinternal.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/srtptransport.h"
+ #include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtlssrtptransport_unittest.cc
+@@ -10,20 +10,26 @@
+
+ #include "pc/dtlssrtptransport.h"
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+-#include <utility>
++#include <set>
+
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
+-#include "p2p/base/fakepackettransport.h"
++#include "p2p/base/fakeicetransport.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/sslidentity.h"
++#include "test/gtest.h"
+
+ using cricket::FakeDtlsTransport;
+ using cricket::FakeIceTransport;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender.cc
+@@ -11,11 +11,12 @@
+ #include "pc/dtmfsender.h"
+
+ #include <ctype.h>
+-
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/dtmfsender_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/dtmfsender_unittest.cc
+@@ -10,14 +10,16 @@
+
+ #include "pc/dtmfsender.h"
+
++#include <stddef.h>
+ #include <memory>
+-#include <set>
+ #include <string>
+ #include <vector>
+
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using webrtc::DtmfProviderInterface;
+ using webrtc::DtmfSender;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.cc
+@@ -11,11 +11,10 @@
+ #include "pc/externalhmac.h"
+
+ #include <stdlib.h> // For malloc/free.
++#include <string.h>
+
+ #include "rtc_base/logging.h"
+ #include "rtc_base/zero_memory.h"
+-
+-#include "third_party/libsrtp/crypto/include/crypto_kernel.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ // Begin test case 0 */
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/externalhmac.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/externalhmac.h
+@@ -31,6 +31,8 @@
+ #include <stdint.h>
+
+ #include "third_party/libsrtp/crypto/include/auth.h"
++#include "third_party/libsrtp/crypto/include/crypto_types.h"
++#include "third_party/libsrtp/include/srtp.h"
+
+ #define EXTERNAL_HMAC_SHA1 SRTP_HMAC_SHA1 + 1
+ #define HMAC_KEY_LENGTH 20
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.cc
+@@ -10,10 +10,17 @@
+
+ #include "pc/iceserverparsing.h"
+
++#include <stddef.h>
+ #include <cctype> // For std::isdigit.
+ #include <string>
+
++#include "p2p/base/portinterface.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/stringencode.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing.h
+@@ -15,6 +15,8 @@
+
+ #include "api/peerconnectioninterface.h"
+ #include "api/rtcerror.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/iceserverparsing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/iceserverparsing_unittest.cc
+@@ -11,8 +11,11 @@
+ #include <string>
+ #include <vector>
+
++#include "p2p/base/portinterface.h"
+ #include "pc/iceserverparsing.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepicecandidate.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepicecandidate.cc
+@@ -10,7 +10,7 @@
+
+ #include "api/jsepicecandidate.h"
+
+-#include <vector>
++#include <memory>
+
+ #include "absl/memory/memory.h"
+ #include "pc/webrtcsdp.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jsepsessiondescription_unittest.cc
+@@ -8,20 +8,29 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
+ #include "api/candidate.h"
++#include "api/jsep.h"
+ #include "api/jsepicecandidate.h"
+ #include "api/jsepsessiondescription.h"
++#include "media/base/codec.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
+-#include "pc/mediasession.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/sessiondescription.h"
+ #include "pc/webrtcsdp.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ using cricket::MediaProtocolType;
+ using ::testing::Values;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/jseptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/jseptransport.cc
+@@ -10,15 +10,19 @@
+
+ #include "pc/jseptransport.h"
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
++#include <type_traits>
+ #include <utility> // for std::pair
+
++#include "absl/memory/memory.h"
++#include "api/array_view.h"
+ #include "api/candidate.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/p2ptransportchannel.h"
+-#include "p2p/base/port.h"
+-#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.cc
+@@ -10,9 +10,7 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <vector>
+-
+-#include "media/base/mediaengine.h"
++#include "rtc_base/refcountedobject.h"
+
+ using webrtc::MediaSourceInterface;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource.h
+@@ -11,9 +11,10 @@
+ #ifndef PC_LOCALAUDIOSOURCE_H_
+ #define PC_LOCALAUDIOSOURCE_H_
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
+-#include "media/base/mediachannel.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ // LocalAudioSource implements AudioSourceInterface.
+ // This contains settings for switching audio processing on and off.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/localaudiosource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/localaudiosource_unittest.cc
+@@ -10,12 +10,8 @@
+
+ #include "pc/localaudiosource.h"
+
+-#include <string>
+-#include <vector>
+-
+-#include "media/base/fakemediaengine.h"
+-#include "media/base/fakevideorenderer.h"
+-#include "rtc_base/gunit.h"
++#include "absl/types/optional.h"
++#include "test/gtest.h"
+
+ using webrtc::LocalAudioSource;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediaconstraintsinterface_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "api/mediaconstraintsinterface.h"
+
++#include "absl/types/optional.h"
+ #include "api/test/fakeconstraints.h"
+-#include "rtc_base/gunit.h"
++#include "media/base/mediaconfig.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.cc
+@@ -9,8 +9,11 @@
+ */
+
+ #include "pc/mediastream.h"
++
++#include <stddef.h>
++#include <vector>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream.h
+@@ -14,10 +14,10 @@
+ #define PC_MEDIASTREAM_H_
+
+ #include <string>
+-#include <vector>
+
+ #include "api/mediastreaminterface.h"
+ #include "api/notifier.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastream_unittest.cc
+@@ -8,14 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <string>
+
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/mediastreamobserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/mediastreamobserver.cc
+@@ -11,6 +11,8 @@
+ #include "pc/mediastreamobserver.h"
+
+ #include <algorithm>
++#include <string>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_datachannel_unittest.cc
+@@ -8,22 +8,45 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <string>
++#include <type_traits>
++#include <utility>
++#include <vector>
+
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
++#include "api/jsep.h"
++#include "api/media_transport_interface.h"
++#include "api/mediatypes.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
+ #include "api/test/fake_media_transport.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediaconstants.h"
++#include "media/base/mediaengine.h"
++#include "media/sctp/sctptransportinternal.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
++#include "test/gtest.h"
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+ #endif
+ #include "absl/memory/memory.h"
+ #include "pc/test/fakesctptransport.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/virtualsocketserver.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_histogram_unittest.cc
+@@ -8,23 +8,38 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <tuple>
++#include <memory>
++#include <set>
++#include <string>
++#include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
+ #include "api/peerconnectionproxy.h"
++#include "api/rtcerror.h"
+ #include "media/base/fakemediaengine.h"
++#include "p2p/base/portallocator.h"
+ #include "p2p/client/basicportallocator.h"
+-#include "pc/mediasession.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
+-#include "pc/test/fakesctptransport.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+@@ -71,6 +86,7 @@ class PeerConnectionFactoryForUsageHisto
+ };
+
+ class PeerConnectionWrapperForUsageHistogramTest;
++
+ typedef PeerConnectionWrapperForUsageHistogramTest* RawWrapperPtr;
+
+ class ObserverForUsageHistogramTest : public MockPeerConnectionObserver {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rampup_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rampup_tests.cc
+@@ -8,28 +8,55 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/peerconnectioninterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/portinterface.h"
+ #include "p2p/base/testturnserver.h"
+ #include "p2p/client/basicportallocator.h"
+ #include "pc/peerconnection.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "pc/test/fakeperiodicvideotracksource.h"
+-#include "pc/test/fakertccertificategenerator.h"
+-#include "pc/test/fakevideotrackrenderer.h"
+ #include "pc/test/framegeneratorcapturervideotracksource.h"
++#include "pc/test/mockpeerconnectionobservers.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakenetwork.h"
+ #include "rtc_base/firewallsocketserver.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/platform_thread.h"
++#include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/testcertificateverifier.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/perf_test.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnection_rtp_unittest.cc
+@@ -8,33 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <memory>
++#include <string>
++#include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
+ #include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpparameters.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "api/umametrics.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
++#include "media/base/streamparams.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
++#include "p2p/base/portallocator.h"
+ #include "pc/mediasession.h"
+-#include "pc/mediastream.h"
+-#include "pc/mediastreamtrack.h"
+ #include "pc/peerconnectionwrapper.h"
+ #include "pc/sdputils.h"
++#include "pc/sessiondescription.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+
+ // This file contains tests for RTP Media API-related behavior of
+ // |webrtc::PeerConnection|, see https://w3c.github.io/webrtc-pc/#rtp-media-api.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionfactory_unittest.cc
+@@ -8,22 +8,35 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/mediastreaminterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "media/base/fakevideocapturer.h"
++#include "modules/audio_device/include/audio_device.h"
++#include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portinterface.h"
+ #include "pc/peerconnectionfactory.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ #ifdef WEBRTC_ANDROID
+ #include "pc/test/androidtestinitializer.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectioninterface_unittest.cc
+@@ -8,46 +8,86 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <limits.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+-#include <sstream>
+ #include <string>
+ #include <utility>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio/audio_mixer.h"
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/call/callfactoryinterface.h"
+ #include "api/create_peerconnection_factory.h"
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtceventlogoutput.h"
+ #include "api/rtpreceiverinterface.h"
+ #include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
+ #include "api/video_codecs/builtin_video_decoder_factory.h"
+ #include "api/video_codecs/builtin_video_encoder_factory.h"
++#include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder_factory.h"
+ #include "logging/rtc_event_log/output/rtc_event_log_output_file.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "logging/rtc_event_log/rtc_event_log_factory_interface.h"
++#include "media/base/codec.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
++#include "media/base/streamparams.h"
++#include "media/base/videocapturer.h"
+ #include "media/engine/webrtcmediaengine.h"
+ #include "media/sctp/sctptransportinternal.h"
++#include "modules/audio_device/include/audio_device.h"
+ #include "modules/audio_processing/include/audio_processing.h"
+ #include "p2p/base/fakeportallocator.h"
++#include "p2p/base/p2pconstants.h"
++#include "p2p/base/port.h"
++#include "p2p/base/portallocator.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/audiotrack.h"
+ #include "pc/mediasession.h"
+ #include "pc/mediastream.h"
+ #include "pc/peerconnection.h"
++#include "pc/peerconnectionfactory.h"
++#include "pc/rtcstatscollector.h"
+ #include "pc/rtpsender.h"
++#include "pc/sessiondescription.h"
+ #include "pc/streamcollection.h"
+ #include "pc/test/fakeaudiocapturemodule.h"
+ #include "pc/test/fakertccertificategenerator.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "pc/test/testsdpstrings.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/platform_file.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #ifdef WEBRTC_ANDROID
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.cc
+@@ -10,17 +10,21 @@
+
+ #include "pc/peerconnectionwrapper.h"
+
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+-#include "api/jsepsessiondescription.h"
++#include "api/setremotedescriptionobserverinterface.h"
+ #include "pc/sdputils.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/function_view.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/peerconnectionwrapper.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/peerconnectionwrapper.h
+@@ -11,14 +11,22 @@
+ #ifndef PC_PEERCONNECTIONWRAPPER_H_
+ #define PC_PEERCONNECTIONWRAPPER_H_
+
+-#include <functional>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "api/datachannelinterface.h"
++#include "api/jsep.h"
++#include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtcerror.h"
++#include "api/rtpsenderinterface.h"
++#include "api/rtptransceiverinterface.h"
++#include "api/stats/rtcstatsreport.h"
+ #include "pc/test/mockpeerconnectionobservers.h"
+ #include "rtc_base/function_view.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/remoteaudiosource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/remoteaudiosource.cc
+@@ -10,16 +10,18 @@
+
+ #include "pc/remoteaudiosource.h"
+
++#include <stddef.h>
+ #include <algorithm>
+-#include <functional>
+-#include <memory>
+-#include <utility>
++#include <string>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcpmuxfilter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "pc/rtcpmuxfilter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ TEST(RtcpMuxFilterTest, IsActiveSender) {
+ cricket::RtcpMuxFilter filter;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstats_integrationtest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstats_integrationtest.cc
+@@ -8,16 +8,27 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <string.h>
+ #include <algorithm>
++#include <memory>
+ #include <set>
++#include <string>
+ #include <vector>
+
++#include "api/audio_codecs/audio_decoder_factory.h"
++#include "api/audio_codecs/audio_encoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_decoder_factory.h"
+ #include "api/audio_codecs/builtin_audio_encoder_factory.h"
++#include "api/audio_options.h"
+ #include "api/datachannelinterface.h"
+ #include "api/peerconnectioninterface.h"
++#include "api/rtpreceiverinterface.h"
++#include "api/rtpsenderinterface.h"
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstats_objects.h"
+ #include "api/stats/rtcstatsreport.h"
++#include "api/test/fakeconstraints.h"
+ #include "pc/rtcstatstraversal.h"
+ #include "pc/test/peerconnectiontestwrapper.h"
+ #include "pc/test/rtcstatsobtainer.h"
+@@ -27,8 +38,10 @@
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/stringutils.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal.h
+@@ -14,6 +14,7 @@
+ #include <string>
+ #include <vector>
+
++#include "api/stats/rtcstats.h"
+ #include "api/stats/rtcstatsreport.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtcstatstraversal_unittest.cc
+@@ -15,8 +15,7 @@
+ #include <vector>
+
+ #include "api/stats/rtcstats_objects.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ // This file contains tests for TakeReferencedStats().
+ // GetStatsNeighborIds() is tested in rtcstats_integrationtest.cc.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpmediautils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpmediautils.cc
+@@ -10,6 +10,8 @@
+
+ #include "pc/rtpmediautils.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ RtpTransceiverDirection RtpTransceiverDirectionFromSendRecv(bool send,
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.cc
+@@ -10,10 +10,19 @@
+
+ #include "pc/rtpparametersconversion.h"
+
++#include <cstdint>
+ #include <set>
++#include <string>
++#include <unordered_map>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "api/mediatypes.h"
++#include "media/base/mediaconstants.h"
+ #include "media/base/rtputils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/strings/string_builder.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpparametersconversion.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpparametersconversion.h
+@@ -11,14 +11,15 @@
+ #ifndef PC_RTPPARAMETERSCONVERSION_H_
+ #define PC_RTPPARAMETERSCONVERSION_H_
+
+-#include <memory>
++#include <iosfwd>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "media/base/codec.h"
+-#include "pc/mediasession.h"
++#include "media/base/streamparams.h"
++#include "pc/sessiondescription.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.cc
+@@ -10,6 +10,7 @@
+
+ #include "pc/rtpreceiver.h"
+
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +20,9 @@
+ #include "pc/audiotrack.h"
+ #include "pc/mediastream.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpreceiver.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpreceiver.h
+@@ -16,15 +16,25 @@
+ #define PC_RTPRECEIVER_H_
+
+ #include <stdint.h>
+-
+ #include <string>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/crypto/framedecryptorinterface.h"
+ #include "api/mediastreaminterface.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
+ #include "api/rtpreceiverinterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "media/base/mediachannel.h"
+ #include "media/base/videobroadcaster.h"
+ #include "pc/remoteaudiosource.h"
+ #include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsender.cc
+@@ -13,11 +13,14 @@
+ #include <utility>
+ #include <vector>
+
++#include "api/audio_options.h"
+ #include "api/mediastreaminterface.h"
+-#include "pc/localaudiosource.h"
++#include "media/base/mediaengine.h"
+ #include "pc/statscollector.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtpsenderreceiver_unittest.cc
+@@ -8,30 +8,54 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+ #include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_options.h"
++#include "api/crypto/cryptooptions.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/crypto/frameencryptorinterface.h"
++#include "api/dtmfsenderinterface.h"
++#include "api/mediastreaminterface.h"
++#include "api/rtcerror.h"
+ #include "api/rtpparameters.h"
+ #include "api/test/fake_frame_decryptor.h"
+ #include "api/test/fake_frame_encryptor.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "media/base/codec.h"
+ #include "media/base/fakemediaengine.h"
++#include "media/base/mediachannel.h"
++#include "media/base/mediaconfig.h"
++#include "media/base/mediaengine.h"
+ #include "media/base/rtpdataengine.h"
++#include "media/base/streamparams.h"
+ #include "media/base/testutils.h"
+ #include "media/engine/fakewebrtccall.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakedtlstransport.h"
++#include "p2p/base/p2pconstants.h"
+ #include "pc/audiotrack.h"
++#include "pc/channel.h"
+ #include "pc/channelmanager.h"
++#include "pc/dtlssrtptransport.h"
+ #include "pc/localaudiosource.h"
+ #include "pc/mediastream.h"
+-#include "pc/remoteaudiosource.h"
+ #include "pc/rtpreceiver.h"
+ #include "pc/rtpsender.h"
+-#include "pc/streamcollection.h"
++#include "pc/rtptransportinternal.h"
+ #include "pc/test/fakevideotracksource.h"
+ #include "pc/videotrack.h"
+-#include "pc/videotracksource.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver.cc
+@@ -10,9 +10,12 @@
+
+ #include "pc/rtptransceiver.h"
+
++#include <algorithm>
+ #include <string>
+
+ #include "pc/rtpmediautils.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransceiver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransceiver_unittest.cc
+@@ -11,8 +11,9 @@
+ // This file contains tests for |RtpTransceiver|.
+
+ #include "pc/rtptransceiver.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/gmock.h"
++#include "test/gtest.h"
+ #include "test/mock_channelinterface.h"
+
+ using ::testing::Return;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport.cc
+@@ -10,14 +10,18 @@
+
+ #include "pc/rtptransport.h"
+
++#include <errno.h>
++#include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "media/base/rtputils.h"
+ #include "modules/rtp_rtcp/source/rtp_packet_received.h"
+-#include "p2p/base/p2pconstants.h"
+-#include "p2p/base/packettransportinterface.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/rtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/rtptransport_unittest.cc
+@@ -8,13 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <set>
+ #include <string>
+ #include <utility>
+
++#include "api/rtp_headers.h"
++#include "api/rtpparameters.h"
+ #include "p2p/base/fakepackettransport.h"
+ #include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/buffer.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils.cc
+@@ -10,6 +10,9 @@
+
+ #include "pc/sctputils.h"
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sctputils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sctputils_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "pc/sctputils.h"
++
++#include <stdint.h>
++
+ #include "rtc_base/bytebuffer.h"
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ class SctpUtilsTest : public testing::Test {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.cc
+@@ -10,8 +10,11 @@
+
+ #include "pc/sessiondescription.h"
+
++#include <algorithm>
+ #include <utility>
+
++#include "rtc_base/checks.h"
++
+ namespace cricket {
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription.h
+@@ -11,17 +11,21 @@
+ #ifndef PC_SESSIONDESCRIPTION_H_
+ #define PC_SESSIONDESCRIPTION_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <iosfwd>
+ #include <string>
+ #include <vector>
+
+ #include "api/cryptoparams.h"
++#include "api/mediatypes.h"
+ #include "api/rtpparameters.h"
+ #include "api/rtptransceiverinterface.h"
+-#include "media/base/codec.h"
+ #include "media/base/mediachannel.h"
+ #include "media/base/streamparams.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportinfo.h"
+-#include "rtc_base/constructormagic.h"
++#include "rtc_base/socketaddress.h"
+
+ namespace cricket {
+
+@@ -49,8 +53,8 @@ extern const char kMediaProtocolTcpDtlsS
+ const int kAutoBandwidth = -1;
+
+ class AudioContentDescription;
+-class VideoContentDescription;
+ class DataContentDescription;
++class VideoContentDescription;
+
+ // Describes a session description media section. There are subclasses for each
+ // media type (audio, video, data) that will have additional information.
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/sessiondescription_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/sessiondescription_unittest.cc
+@@ -8,7 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "pc/sessiondescription.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter.cc
+@@ -11,16 +11,11 @@
+ #include "pc/srtpfilter.h"
+
+ #include <string.h>
+-#include <algorithm>
+-#include <utility>
++#include <cstdint>
+
+-#include "media/base/rtputils.h"
+-#include "pc/srtpsession.h"
+-#include "rtc_base/byteorder.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+ #include "rtc_base/zero_memory.h"
+
+ namespace cricket {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpfilter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpfilter_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+-
+-#include "pc/srtpfilter.h"
++#include <string.h>
+
+ #include "api/cryptoparams.h"
+-#include "rtc_base/gunit.h"
++#include "pc/srtpfilter.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "test/gtest.h"
+
+ using cricket::CryptoParams;
+ using cricket::CS_LOCAL;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtpsession_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtpsession_unittest.cc
+@@ -10,14 +10,15 @@
+
+ #include "pc/srtpsession.h"
+
++#include <string.h>
+ #include <string>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/fakertp.h"
+ #include "pc/srtptestutil.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
+ #include "rtc_base/sslstreamadapter.h" // For rtc::SRTP_*
+ #include "system_wrappers/include/metrics.h"
++#include "test/gtest.h"
+ #include "third_party/libsrtp/include/srtp.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.cc
+@@ -10,17 +10,22 @@
+
+ #include "pc/srtptransport.h"
+
++#include <stdint.h>
++#include <string.h>
+ #include <string>
+ #include <vector>
+
+-#include "absl/memory/memory.h"
+ #include "media/base/rtputils.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
+ #include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/sslstreamadapter.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/trace_event.h"
+ #include "rtc_base/zero_memory.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport.h
+@@ -11,18 +11,22 @@
+ #ifndef PC_SRTPTRANSPORT_H_
+ #define PC_SRTPTRANSPORT_H_
+
++#include <stddef.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/ortc/srtptransportinterface.h"
+-#include "p2p/base/dtlstransportinternal.h"
+-#include "p2p/base/icetransportinternal.h"
++#include "absl/types/optional.h"
++#include "api/cryptoparams.h"
++#include "api/rtcerror.h"
++#include "p2p/base/packettransportinternal.h"
+ #include "pc/rtptransport.h"
+ #include "pc/srtpsession.h"
++#include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/checks.h"
++#include "rtc_base/copyonwritebuffer.h"
++#include "rtc_base/networkroute.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/srtptransport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/srtptransport_unittest.cc
+@@ -8,20 +8,24 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <set>
+ #include <vector>
+
+-#include "pc/srtptransport.h"
+-
+ #include "absl/memory/memory.h"
++#include "call/rtp_demuxer.h"
+ #include "media/base/fakertp.h"
+ #include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/fakepackettransport.h"
+-#include "pc/rtptransport.h"
+ #include "pc/rtptransporttestutil.h"
+ #include "pc/srtptestutil.h"
++#include "pc/srtptransport.h"
+ #include "rtc_base/asyncpacketsocket.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/byteorder.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ using rtc::kTestKey1;
+ using rtc::kTestKey2;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector.h
+@@ -14,6 +14,7 @@
+ #ifndef PC_STATSCOLLECTOR_H_
+ #define PC_STATSCOLLECTOR_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+@@ -23,7 +24,10 @@
+ #include "api/mediastreaminterface.h"
+ #include "api/peerconnectioninterface.h"
+ #include "api/statstypes.h"
++#include "p2p/base/port.h"
+ #include "pc/peerconnectioninternal.h"
++#include "rtc_base/network_constants.h"
++#include "rtc_base/sslcertificate.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/statscollector_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/statscollector_unittest.cc
+@@ -9,21 +9,37 @@
+ */
+
+ #include <stdio.h>
+-
+ #include <algorithm>
+ #include <memory>
+-#include <utility>
+-
+-#include "pc/statscollector.h"
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/audio_codecs/audio_encoder.h"
++#include "api/candidate.h"
++#include "api/datachannelinterface.h"
++#include "call/call.h"
++#include "media/base/mediachannel.h"
++#include "modules/audio_processing/include/audio_processing_statistics.h"
++#include "pc/datachannel.h"
+ #include "pc/mediastream.h"
+ #include "pc/mediastreamtrack.h"
++#include "pc/statscollector.h"
+ #include "pc/test/fakepeerconnectionforstats.h"
+ #include "pc/test/fakevideotracksource.h"
++#include "pc/transportstats.h"
+ #include "pc/videotrack.h"
+ #include "rtc_base/fakesslidentity.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/nethelper.h"
++#include "rtc_base/refcountedobject.h"
++#include "rtc_base/rtccertificate.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+ #include "rtc_base/third_party/base64/base64.h"
++#include "rtc_base/thread.h"
+ #include "test/gtest.h"
+
+ using cricket::ConnectionInfo;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule.cc
+@@ -10,8 +10,10 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/refcount.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/test/fakeaudiocapturemodule_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "pc/test/fakeaudiocapturemodule.h"
+
++#include <string.h>
+ #include <algorithm>
+
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ using std::min;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/transportstats.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/transportstats.h
+@@ -14,8 +14,9 @@
+ #include <string>
+ #include <vector>
+
+-#include "p2p/base/dtlstransport.h"
++#include "p2p/base/dtlstransportinternal.h"
+ #include "p2p/base/port.h"
++#include "rtc_base/sslstreamadapter.h"
+
+ namespace cricket {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videocapturertracksource_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videocapturertracksource_unittest.cc
+@@ -8,20 +8,21 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
+ #include <memory>
+-#include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "api/test/fakeconstraints.h"
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
+ #include "media/base/fakevideorenderer.h"
++#include "media/base/mediachannel.h"
+ #include "pc/videocapturertracksource.h"
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
++#include "test/gtest.h"
+
+ using cricket::FOURCC_I420;
+ using cricket::VideoFormat;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.cc
+@@ -9,8 +9,12 @@
+ */
+
+ #include <string>
++#include <vector>
+
++#include "api/notifier.h"
+ #include "pc/videotrack.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/refcountedobject.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack.h
+@@ -12,12 +12,16 @@
+ #define PC_VIDEOTRACK_H_
+
+ #include <string>
+-#include <vector>
+
++#include "api/mediastreaminterface.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
+ #include "media/base/videosourcebase.h"
+ #include "pc/mediastreamtrack.h"
+ #include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/thread_checker.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotrack_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotrack_unittest.cc
+@@ -9,14 +9,14 @@
+ */
+
+ #include <memory>
+-#include <string>
+
+-#include "media/base/fakemediaengine.h"
+ #include "media/base/fakevideocapturer.h"
++#include "media/base/videocommon.h"
+ #include "pc/test/fakevideotrackrenderer.h"
+-#include "pc/videocapturertracksource.h"
+ #include "pc/videotrack.h"
+-#include "rtc_base/gunit.h"
++#include "pc/videotracksource.h"
++#include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ using webrtc::FakeVideoTrackRenderer;
+ using webrtc::MediaSourceInterface;
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/videotracksource.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/videotracksource.cc
+@@ -10,7 +10,7 @@
+
+ #include "pc/videotracksource.h"
+
+-#include <string>
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsdp_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsdp_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
++#include <cstdint>
++#include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
++#include <utility>
+ #include <vector>
+
++#include "api/array_view.h"
++#include "api/cryptoparams.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/mediatypes.h"
++#include "api/rtpparameters.h"
++#include "api/rtptransceiverinterface.h"
++#include "media/base/codec.h"
+ #include "media/base/mediaconstants.h"
+-#include "media/engine/webrtcvideoengine.h"
++#include "media/base/streamparams.h"
+ #include "p2p/base/p2pconstants.h"
+ #include "p2p/base/port.h"
++#include "p2p/base/transportdescription.h"
++#include "p2p/base/transportinfo.h"
+ #include "pc/mediasession.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/stringencode.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.cc
+@@ -10,16 +10,25 @@
+
+ #include "pc/webrtcsessiondescriptionfactory.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <string>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
++#include "absl/types/optional.h"
+ #include "api/jsep.h"
+ #include "api/jsepsessiondescription.h"
++#include "api/rtcerror.h"
++#include "pc/sessiondescription.h"
+ #include "rtc_base/checks.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/sslidentity.h"
++#include "rtc_base/sslstreamadapter.h"
++#include "rtc_base/stringencode.h"
+
+ using cricket::MediaSessionOptions;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/pc/webrtcsessiondescriptionfactory.h
+@@ -11,17 +11,25 @@
+ #ifndef PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+ #define PC_WEBRTCSESSIONDESCRIPTIONFACTORY_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <queue>
+ #include <string>
+
++#include "api/jsep.h"
++#include "api/peerconnectioninterface.h"
++#include "p2p/base/transportdescription.h"
+ #include "p2p/base/transportdescriptionfactory.h"
+ #include "pc/mediasession.h"
+ #include "pc/peerconnectioninternal.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/rtccertificategenerator.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/BUILD.gn
+@@ -84,7 +84,7 @@ rtc_source_set("rtc_base_approved") {
+ "system:arch",
+ "system:unused",
+ "third_party/base64",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+@@ -992,7 +992,7 @@ rtc_source_set("testclient") {
+ ":rtc_base",
+ ":rtc_base_tests_utils",
+ ":timeutils",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1068,6 +1068,7 @@ if (rtc_include_tests) {
+ ":gunit_helpers",
+ ":rtc_base",
+ ":rtc_base_tests_utils",
++ "../test:test_support",
+ "third_party/sigslot",
+ ]
+ }
+@@ -1115,6 +1116,7 @@ if (rtc_include_tests) {
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
++ "third_party/sigslot:sigslot",
+ "//testing/gtest",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+@@ -1191,11 +1193,13 @@ if (rtc_include_tests) {
+ ":stringutils",
+ ":testclient",
+ "../api:array_view",
++ "../api/units:time_delta",
+ "../system_wrappers:system_wrappers",
+ "../test:fileutils",
+ "../test:test_support",
+ "memory:unittests",
+ "third_party/base64",
++ "third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+@@ -1217,6 +1221,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":rtc_task_queue_for_test",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+@@ -1251,6 +1256,7 @@ if (rtc_include_tests) {
+ ":rtc_task_queue",
+ ":weak_ptr",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ }
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncpacketsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncpacketsocket.h
+@@ -14,6 +14,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/deprecation.h"
+ #include "rtc_base/dscp.h"
++#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socket.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncsocket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncsocket.h
+@@ -11,7 +11,11 @@
+ #ifndef RTC_BASE_ASYNCSOCKET_H_
+ #define RTC_BASE_ASYNCSOCKET_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asynctcpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asynctcpsocket.cc
+@@ -10,14 +10,16 @@
+
+ #include "rtc_base/asynctcpsocket.h"
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/byteorder.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/timeutils.h" // for TimeMillis
+
+ #if defined(WEBRTC_POSIX)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/asyncudpsocket.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/asyncudpsocket.cc
+@@ -9,8 +9,15 @@
+ */
+
+ #include "rtc_base/asyncudpsocket.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/network/sent_packet.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/base64_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/base64_unittest.cc
+@@ -9,10 +9,14 @@
+ */
+
+ #include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+
++#include <stdio.h>
++#include <string.h>
++#include <algorithm>
++
++#include "rtc_base/logging.h"
+ #include "rtc_base/testbase64.h"
++#include "test/gtest.h"
+
+ using namespace std;
+ using namespace rtc;
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bind_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bind_unittest.cc
+@@ -8,13 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <type_traits>
++#include <string>
+
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+-
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitbuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bitbuffer.h"
++
++#include <limits>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/bytebuffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bitrateallocationstrategy_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bitrateallocationstrategy.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_BUFFER_H_
+ #define RTC_BASE_BUFFER_H_
+
++#include <stdint.h>
+ #include <algorithm>
+ #include <cstring>
+ #include <memory>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/buffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/buffer_unittest.cc
+@@ -10,12 +10,12 @@
+
+ #include "rtc_base/buffer.h"
+
+-#include "api/array_view.h"
+-#include "rtc_base/gunit.h"
+-
+-#include <type_traits>
++#include <cstdint>
+ #include <utility>
+
++#include "api/array_view.h"
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bufferqueue_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/bufferqueue.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/bytebuffer_unittest.cc
+@@ -9,9 +9,12 @@
+ */
+
+ #include "rtc_base/bytebuffer.h"
++
++#include <string.h>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/byteorder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/byteorder_unittest.cc
+@@ -11,7 +11,7 @@
+ #include <stdint.h>
+
+ #include "rtc_base/byteorder.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/callback_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/callback_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/callback.h"
++
+ #include "rtc_base/bind.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/refcount.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cancelable_task_handle.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cancelable_task_handle.cc
+@@ -12,6 +12,8 @@
+
+ #include <utility>
+
++#include "rtc_base/checks.h"
++#include "rtc_base/refcount.h"
+ #include "rtc_base/refcounter.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/thread_annotations.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/copyonwritebuffer_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/copyonwritebuffer.h"
+-#include "rtc_base/gunit.h"
++
++#include <cstdint>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time.cc
+@@ -9,6 +9,7 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
++
+ #include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/cpu_time_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/cpu_time_unittest.cc
+@@ -9,11 +9,9 @@
+ */
+
+ #include "rtc_base/cpu_time.h"
+-#include <algorithm>
+-#include <memory>
++
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/timeutils.h"
+-#include "system_wrappers/include/cpu_info.h"
+ #include "system_wrappers/include/sleep.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/crc32_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/crc32_unittest.cc
+@@ -9,10 +9,11 @@
+ */
+
+ #include "rtc_base/crc32.h"
+-#include "rtc_base/gunit.h"
+
+ #include <string>
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ TEST(Crc32Test, TestBasic) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/criticalsection_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/criticalsection_unittest.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <set>
++#include <utility>
+ #include <vector>
+
+ #include "rtc_base/arraysize.h"
+@@ -17,9 +20,12 @@
+ #include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/data_rate_limiter_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/data_rate_limiter.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/event_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/event_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/platform_thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/congestion_controller_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/congestion_controller_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ TEST(CongestionControllerExperimentTest, BbrDisabledByDefault) {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/cpu_speed_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/cpu_speed_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/field_trial_units_unittest.cc
+@@ -9,9 +9,10 @@
+ */
+ #include <string>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/experiments/field_trial_parser.h"
+ #include "rtc_base/experiments/field_trial_units.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/jitter_upper_bound_experiment.cc
+@@ -10,7 +10,7 @@
+
+ #include "rtc_base/experiments/jitter_upper_bound_experiment.h"
+
+-#include <algorithm>
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/normalize_simulcast_size_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/normalize_simulcast_size_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
++#include <stdio.h>
+ #include <string>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/quality_scaling_experiment_unittest.cc
+@@ -10,8 +10,8 @@
+
+ #include "rtc_base/experiments/quality_scaling_experiment.h"
+
+-#include "rtc_base/gunit.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment.cc
+@@ -9,6 +9,7 @@
+ */
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+
++#include <stdio.h>
+ #include <algorithm>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/experiments/rtt_mult_experiment_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/experiments/rtt_mult_experiment.h"
+-#include "rtc_base/gunit.h"
++
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakeclock.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakeclock.h
+@@ -11,8 +11,11 @@
+ #ifndef RTC_BASE_FAKECLOCK_H_
+ #define RTC_BASE_FAKECLOCK_H_
+
++#include <stdint.h>
++
+ #include "api/units/time_delta.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/fakesslidentity.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/fakesslidentity.cc
+@@ -10,7 +10,6 @@
+
+ #include "rtc_base/fakesslidentity.h"
+
+-#include <algorithm>
+ #include <string>
+ #include <utility>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/file_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/file_unittest.cc
+@@ -8,12 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <limits>
+-#include <memory>
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/file.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream.cc
+@@ -25,6 +25,7 @@
+ #endif // WEBRTC_WIN
+
+ #include "absl/strings/match.h"
++#include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/filerotatingstream_unittest.cc
+@@ -8,12 +8,13 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+
+ #include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/filerotatingstream.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_base/firewallsocketserver.h"
+
++#include <errno.h>
++#include <stddef.h>
++#include <stdint.h>
+ #include <algorithm>
++#include <string>
+
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/firewallsocketserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/firewallsocketserver.h
+@@ -12,7 +12,12 @@
+ #define RTC_BASE_FIREWALLSOCKETSERVER_H_
+
+ #include <vector>
++
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/criticalsection.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/function_view_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/function_view_unittest.cc
+@@ -12,7 +12,7 @@
+ #include <utility>
+
+ #include "rtc_base/function_view.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers.cc
+@@ -10,15 +10,13 @@
+
+ #include "rtc_base/helpers.h"
+
++#include <openssl/rand.h>
++#include <cstdint>
+ #include <limits>
+ #include <memory>
+
+-#include <openssl/rand.h>
+-
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/third_party/base64/base64.h"
+-#include "rtc_base/timeutils.h"
+
+ // Protect against max macro inclusion.
+ #undef max
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/helpers_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/helpers_unittest.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <string>
+
+ #include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
+-#include "rtc_base/ssladapter.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/httpcommon.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/httpcommon.cc
+@@ -14,25 +14,24 @@
+ #include <windows.h>
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
++
+ #define SECURITY_WIN32
+ #include <security.h>
+ #endif
+
+ #include <ctype.h> // for isspace
+ #include <stdio.h> // for sprintf
+-#include <algorithm>
+ #include <utility> // for pair
+ #include <vector>
+
+ #include "absl/strings/match.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/cryptstring.h" // for CryptString
+ #include "rtc_base/httpcommon.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+ #include "rtc_base/socketaddress.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/stringutils.h"
+ #include "rtc_base/third_party/base64/base64.h" // for Base64
+ #include "rtc_base/zero_memory.h" // for ExplicitZeroMemory
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress.h
+@@ -23,7 +23,6 @@
+ #endif
+ #include <string.h>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/byteorder.h"
+ #if defined(WEBRTC_WIN)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ipaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ipaddress_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ipaddress.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.cc
+@@ -11,6 +11,7 @@
+ #include "rtc_base/key_derivation.h"
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/openssl_key_derivation_hkdf.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/key_derivation.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/key_derivation.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_KEY_DERIVATION_H_
+ #define RTC_BASE_KEY_DERIVATION_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/location.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/location.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/location.h"
+
++#include <stdio.h>
++
+ namespace rtc {
+
+ Location::Location(const char* function_name, const char* file_and_line)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/logging_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/logging_unittest.cc
+@@ -9,13 +9,17 @@
+ */
+
+ #include "rtc_base/logging.h"
++
++#include <string.h>
++#include <algorithm>
++
+ #include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/stream.h"
+-#include "test/testsupport/fileutils.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory/aligned_array.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory/aligned_array.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+ #define RTC_BASE_MEMORY_ALIGNED_ARRAY_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/memory/aligned_malloc.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.cc
+@@ -8,8 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <string.h>
+ #include <algorithm>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/memory_stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_stream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_stream.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_MEMORY_STREAM_H_
+ #define RTC_BASE_MEMORY_STREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/stream.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage.cc
+@@ -13,15 +13,13 @@
+ #if defined(WEBRTC_LINUX)
+ #include <unistd.h>
+ #include <cstdio>
+-#include <cstdlib>
+-#include <cstring>
+ #elif defined(WEBRTC_MAC)
+ #include <mach/mach.h>
+ #elif defined(WEBRTC_WIN)
+ // clang-format off
+ // clang formating would change include order.
+ #include <windows.h>
+-#include <psapi.h> // must come after windows.h
++#include <psapi.h> // must come after windows.h
+ // clang-format on
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/memory_usage_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/memory_usage_unittest.cc
+@@ -9,7 +9,7 @@
+ */
+
+ #include "rtc_base/memory_usage.h"
+-#include <cstdio>
++
+ #include "test/gtest.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/messagedigest_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/messagedigest_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/stringencode.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nat_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nat_unittest.cc
+@@ -8,21 +8,34 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <algorithm>
+ #include <memory>
+ #include <string>
++#include <vector>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/natserver.h"
+ #include "rtc_base/natsocketfactory.h"
++#include "rtc_base/nattypes.h"
+ #include "rtc_base/nethelpers.h"
+ #include "rtc_base/network.h"
+ #include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/natsocketfactory.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/natsocketfactory.h
+@@ -11,14 +11,19 @@
+ #ifndef RTC_BASE_NATSOCKETFACTORY_H_
+ #define RTC_BASE_NATSOCKETFACTORY_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+-#include <string>
+
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/natserver.h"
++#include "rtc_base/nattypes.h"
++#include "rtc_base/socket.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/socketfactory.h"
+ #include "rtc_base/socketserver.h"
+
+ namespace rtc {
+@@ -80,6 +85,7 @@ class NATSocketFactory : public SocketFa
+ class NATSocketServer : public SocketServer, public NATInternalSocketFactory {
+ public:
+ class Translator;
++
+ // holds a list of NATs
+ class TranslatorMap : private std::map<SocketAddress, Translator*> {
+ public:
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/nullsocketserver_unittest.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include "rtc_base/nullsocketserver.h"
++
++#include <stdint.h>
++#include <memory>
++
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+ #define RTC_BASE_NUMERICS_HISTOGRAM_PERCENTILE_COUNTER_H_
+
++#include <stddef.h>
+ #include <stdint.h>
+ #include <map>
+ #include <vector>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/histogram_percentile_counter_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/numerics/histogram_percentile_counter.h"
+
++#include <cstdint>
+ #include <utility>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_MOD_OPS_H_
+
+ #include <algorithm>
+-#include <limits>
+ #include <type_traits>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/mod_ops_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/mod_ops.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_average.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_average.h
+@@ -11,6 +11,8 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+ #define RTC_BASE_NUMERICS_MOVING_AVERAGE_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <vector>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+ #define RTC_BASE_NUMERICS_MOVING_MEDIAN_FILTER_H_
+
++#include <stddef.h>
+ #include <list>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/moving_median_filter_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_base/numerics/moving_median_filter.h"
++
++#include <stdint.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter.h
+@@ -12,7 +12,6 @@
+ #define RTC_BASE_NUMERICS_PERCENTILE_FILTER_H_
+
+ #include <stdint.h>
+-
+ #include <iterator>
+ #include <set>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/percentile_filter_unittest.cc
+@@ -8,8 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdlib.h>
+ #include <algorithm>
+ #include <climits>
++#include <cstdint>
+ #include <random>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sample_counter_unittest.cc
+@@ -10,8 +10,7 @@
+
+ #include "rtc_base/numerics/sample_counter.h"
+
+-#include <utility>
+-#include <vector>
++#include <initializer_list>
+
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util.h
+@@ -11,12 +11,13 @@
+ #ifndef RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+ #define RTC_BASE_NUMERICS_SEQUENCE_NUMBER_UTIL_H_
+
++#include <stdint.h>
+ #include <limits>
+ #include <type_traits>
+
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/numerics/mod_ops.h"
+-#include "rtc_base/numerics/safe_compare.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/numerics/sequence_number_util_unittest.cc
+@@ -8,6 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <cstdint>
++#include <iterator>
+ #include <set>
+
+ #include "rtc_base/numerics/sequence_number_util.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/onetimeevent_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/onetimeevent.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/physicalsocketserver_unittest.cc
+@@ -9,16 +9,18 @@
+ */
+
+ #include <signal.h>
+-#include <stdarg.h>
++#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/networkmonitor.h"
+ #include "rtc_base/physicalsocketserver.h"
+ #include "rtc_base/socket_unittest.h"
+ #include "rtc_base/testutils.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/proxyserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/proxyserver.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/proxyserver.h"
+
++#include <stddef.h>
+ #include <algorithm>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_limiter_unittest.cc
+@@ -8,13 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
+ #include <memory>
+
+ #include "rtc_base/event.h"
+ #include "rtc_base/platform_thread.h"
+ #include "rtc_base/rate_limiter.h"
+-#include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rate_statistics_unittest.cc
+@@ -8,7 +8,7 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <algorithm>
++#include <cstdlib>
+
+ #include "rtc_base/rate_statistics.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/ratetracker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/ratetracker_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/ratetracker.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject.h
+@@ -10,6 +10,7 @@
+ #ifndef RTC_BASE_REFCOUNTEDOBJECT_H_
+ #define RTC_BASE_REFCOUNTEDOBJECT_H_
+
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/constructormagic.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/refcountedobject_unittest.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
++#include <utility>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/refcount.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_ROLLINGACCUMULATOR_H_
+ #define RTC_BASE_ROLLINGACCUMULATOR_H_
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rollingaccumulator_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/rollingaccumulator.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificate_unittest.cc
+@@ -8,18 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <time.h>
+ #include <memory>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
+ #include "rtc_base/rtccertificate.h"
+ #include "rtc_base/sslidentity.h"
+-#include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/rtccertificategenerator_unittest.cc
+@@ -15,9 +15,9 @@
+ #include "absl/types/optional.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/gunit.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sanitizer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sanitizer_unittest.cc
+@@ -10,8 +10,10 @@
+
+ #include "rtc_base/sanitizer.h"
+
+-#include "rtc_base/gunit.h"
++#include <stdint.h>
++
+ #include "rtc_base/logging.h"
++#include "test/gtest.h"
+
+ #if RTC_HAS_MSAN
+ #include <sanitizer/msan_interface.h>
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sequenced_task_checker_unittest.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/sequenced_task_checker.h"
+
++#include <memory>
++#include <utility>
++
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/signalthread_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/signalthread_unittest.cc
+@@ -13,7 +13,9 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/signalthread.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslot_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslot_unittest.cc
+@@ -9,8 +9,9 @@
+ */
+
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+-#include "rtc_base/gunit.h"
++
+ #include "rtc_base/sigslotrepeater.h"
++#include "test/gtest.h"
+
+ // This function, when passed a has_slots or signalx, will break the build if
+ // its threading requirement is not single threaded
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sigslottester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sigslottester_unittest.cc
+@@ -12,8 +12,8 @@
+
+ #include <string>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket.h
+@@ -26,7 +26,6 @@
+ #endif
+
+ #include "rtc_base/constructormagic.h"
+-#include "rtc_base/network/sent_packet.h"
+ #include "rtc_base/socketaddress.h"
+
+ // Rather than converting errors into a private namespace,
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socket_unittest.cc
+@@ -8,20 +8,32 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <errno.h>
++#include <stdint.h>
++#include <string.h>
+ #include <memory>
+
+-#include "rtc_base/socket_unittest.h"
+-
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/buffer.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/location.h"
++#include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
+ #include "rtc_base/nethelpers.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socket_unittest.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/socketserver.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
++#include "rtc_base/timeutils.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketaddress_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketaddress_unittest.cc
+@@ -12,9 +12,11 @@
+ #include <netinet/in.h> // for sockaddr_in
+ #endif
+
+-#include "rtc_base/gunit.h"
++#include <string.h>
++
+ #include "rtc_base/ipaddress.h"
+ #include "rtc_base/socketaddress.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/socketstream.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/socketstream.h
+@@ -11,9 +11,12 @@
+ #ifndef RTC_BASE_SOCKETSTREAM_H_
+ #define RTC_BASE_SOCKETSTREAM_H_
+
++#include <stddef.h>
++
+ #include "rtc_base/asyncsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslidentity_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslidentity_unittest.cc
+@@ -8,17 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
+ #include <memory>
+ #include <string>
++#include <vector>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/fakesslidentity.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/messagedigest.h"
+-#include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslfingerprint.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stringutils.h"
++#include "test/gtest.h"
+
+ using rtc::SSLIdentity;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/sslstreamadapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/sslstreamadapter.h
+@@ -11,12 +11,16 @@
+ #ifndef RTC_BASE_SSLSTREAMADAPTER_H_
+ #define RTC_BASE_SSLSTREAMADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/sslcertificate.h"
+ #include "rtc_base/sslidentity.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stream_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stream_unittest.cc
+@@ -9,7 +9,10 @@
+ */
+
+ #include "rtc_base/stream.h"
+-#include "rtc_base/gunit.h"
++
++#include <string.h>
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/string_to_number_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/string_to_number_unittest.cc
+@@ -10,11 +10,11 @@
+
+ #include "rtc_base/string_to_number.h"
+
++#include <stdint.h>
+ #include <limits>
+ #include <string>
+-#include <type_traits>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringencode_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringencode_unittest.cc
+@@ -9,12 +9,12 @@
+ */
+
+ #include "rtc_base/stringencode.h"
+-#include "rtc_base/arraysize.h"
+-#include "rtc_base/gunit.h"
+-#include "rtc_base/stringutils.h"
+
++#include <string.h>
+ #include <sstream> // no-presubmit-check TODO(webrtc:8982)
+
++#include "test/gtest.h"
++
+ namespace rtc {
+
+ class HexEncodeTest : public testing::Test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/json_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/json_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include <vector>
+
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/strings/string_builder_unittest.cc
+@@ -10,8 +10,9 @@
+
+ #include "rtc_base/strings/string_builder.h"
+
++#include <string.h>
++
+ #include "rtc_base/checks.h"
+-#include "rtc_base/stringutils.h"
+ #include "test/gmock.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/stringutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/stringutils_unittest.cc
+@@ -9,7 +9,8 @@
+ */
+
+ #include "rtc_base/stringutils.h"
+-#include "rtc_base/gunit.h"
++
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue.h
+@@ -11,7 +11,7 @@
+ #ifndef RTC_BASE_SWAP_QUEUE_H_
+ #define RTC_BASE_SWAP_QUEUE_H_
+
+-#include <algorithm>
++#include <stddef.h>
+ #include <utility>
+ #include <vector>
+
+@@ -19,6 +19,7 @@
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/system/unused.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/swap_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/swap_queue_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "rtc_base/swap_queue.h"
+
++#include <cstdint>
+ #include <vector>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue.h
+@@ -11,6 +11,7 @@
+ #ifndef RTC_BASE_TASK_QUEUE_H_
+ #define RTC_BASE_TASK_QUEUE_H_
+
++#include <stdint.h>
+ #include <memory>
+ #include <type_traits>
+ #include <utility>
+@@ -233,6 +234,7 @@ class RTC_LOCKABLE RTC_EXPORT TaskQueue
+
+ private:
+ class Impl;
++
+ const scoped_refptr<Impl> impl_;
+
+ RTC_DISALLOW_COPY_AND_ASSIGN(TaskQueue);
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_for_test.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_for_test.h
+@@ -11,11 +11,11 @@
+ #ifndef RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+ #define RTC_BASE_TASK_QUEUE_FOR_TEST_H_
+
+-#include <utility>
+-
+ #include "rtc_base/checks.h"
++#include "rtc_base/constructormagic.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+
+ namespace rtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/task_queue_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/task_queue_unittest.cc
+@@ -15,14 +15,18 @@
+ // clang-format on
+ #endif
+
++#include <stdint.h>
+ #include <memory>
++#include <utility>
+ #include <vector>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/bind.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/task_queue.h"
+ #include "rtc_base/task_queue_for_test.h"
+ #include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ using rtc::test::TaskQueueForTest;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient.cc
+@@ -10,6 +10,9 @@
+
+ #include "rtc_base/testclient.h"
+
++#include <string.h>
++#include <utility>
++
+ #include "absl/memory/memory.h"
+ #include "rtc_base/gunit.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testclient_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testclient_unittest.cc
+@@ -9,12 +9,19 @@
+ */
+
+ #include "rtc_base/testclient.h"
++
++#include <utility>
++
+ #include "absl/memory/memory.h"
+-#include "rtc_base/gunit.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asynctcpsocket.h"
++#include "rtc_base/asyncudpsocket.h"
++#include "rtc_base/logging.h"
+ #include "rtc_base/nethelpers.h"
+-#include "rtc_base/physicalsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/testechoserver.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_base/testechoserver.h"
+
++#include "rtc_base/socketserver.h"
++
+ namespace rtc {
+
+ TestEchoServer::TestEchoServer(Thread* thread, const SocketAddress& addr)
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testechoserver.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testechoserver.h
+@@ -11,12 +11,18 @@
+ #ifndef RTC_BASE_TESTECHOSERVER_H_
+ #define RTC_BASE_TESTECHOSERVER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <algorithm>
+ #include <list>
+ #include <memory>
+
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
+ #include "rtc_base/asynctcpsocket.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+
+ namespace rtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/testutils.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/testutils.h
+@@ -13,13 +13,12 @@
+
+ // Utilities for testing rtc infrastructure in unittests
+
+-#include <algorithm>
+ #include <map>
+-#include <memory>
+-#include <vector>
++#include <utility>
++
+ #include "rtc_base/asyncsocket.h"
+-#include "rtc_base/checks.h"
+ #include "rtc_base/stream.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+
+ namespace webrtc {
+ namespace testing {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/thread_checker_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/thread_checker_unittest.cc
+@@ -11,10 +11,12 @@
+ // Borrowed from Chromium's src/base/threading/thread_checker_unittest.cc.
+
+ #include <memory>
++#include <utility>
+
+ #include "rtc_base/checks.h"
+ #include "rtc_base/constructormagic.h"
+ #include "rtc_base/nullsocketserver.h"
++#include "rtc_base/socketserver.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/thread_checker.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timestampaligner_unittest.cc
+@@ -9,13 +9,13 @@
+ */
+
+ #include <math.h>
+-
+ #include <algorithm>
+ #include <limits>
+
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/random.h"
+ #include "rtc_base/timestampaligner.h"
++#include "rtc_base/timeutils.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/timeutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/timeutils_unittest.cc
+@@ -9,11 +9,17 @@
+ */
+
+ #include "rtc_base/timeutils.h"
++
++#include <memory>
++
++#include "api/units/time_delta.h"
+ #include "rtc_base/event.h"
+ #include "rtc_base/fakeclock.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/helpers.h"
++#include "rtc_base/location.h"
++#include "rtc_base/messagehandler.h"
+ #include "rtc_base/thread.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/unittest_main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/unittest_main.cc
+@@ -15,13 +15,13 @@
+ #endif
+
+ #include "rtc_base/flags.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/ssladapter.h"
+ #include "rtc_base/sslstreamadapter.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/field_trial.h"
++#include "test/gtest.h"
+
+ #if defined(WEBRTC_WIN)
+ #include "rtc_base/win32socketinit.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/virtualsocket_unittest.cc
+@@ -9,23 +9,39 @@
+ */
+
+ #include <math.h>
++#include <stdint.h>
++#include <stdlib.h>
++#include <string.h>
+ #include <time.h>
+ #if defined(WEBRTC_POSIX)
+ #include <netinet/in.h>
+ #endif
+
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "rtc_base/arraysize.h"
++#include "rtc_base/asyncpacketsocket.h"
++#include "rtc_base/asyncsocket.h"
++#include "rtc_base/asyncudpsocket.h"
+ #include "rtc_base/fakeclock.h"
+ #include "rtc_base/gunit.h"
++#include "rtc_base/ipaddress.h"
++#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/messagehandler.h"
++#include "rtc_base/messagequeue.h"
++#include "rtc_base/socket.h"
++#include "rtc_base/socketaddress.h"
+ #include "rtc_base/testclient.h"
+ #include "rtc_base/testutils.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
+ #include "rtc_base/thread.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/virtualsocketserver.h"
++#include "test/gtest.h"
+
+ using namespace rtc;
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/weak_ptr_unittest.cc
+@@ -8,12 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <memory>
+ #include <string>
+
++#include "absl/memory/memory.h"
+ #include "rtc_base/event.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/task_queue.h"
+ #include "rtc_base/weak_ptr.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_base/zero_memory_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_base/zero_memory_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #include "rtc_base/zero_memory.h"
+
++#include <stdint.h>
++
+ #include "api/array_view.h"
+-#include "rtc_base/buffer.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace rtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/BUILD.gn
+@@ -67,6 +67,7 @@ rtc_static_library("video_file_reader")
+ deps = [
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+@@ -124,6 +125,7 @@ rtc_executable("frame_analyzer") {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../rtc_base:ptr_util",
+ "../rtc_base:stringutils",
+ "../test:perf_test",
+ ]
+@@ -154,6 +156,8 @@ if (!build_with_chromium) {
+ ":command_line_parser",
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -166,6 +170,8 @@ if (!build_with_chromium) {
+ deps = [
+ ":video_file_reader",
+ ":video_quality_analysis",
++ "../api/video:video_frame",
++ "../rtc_base:ptr_util",
+ ]
+ }
+
+@@ -295,7 +301,11 @@ if (rtc_include_tests) {
+ defines = [ "ENABLE_RTC_EVENT_LOG" ]
+ deps = [
+ ":event_log_visualizer_utils",
++ "../logging:rtc_event_log_api",
+ "../logging:rtc_event_log_parser",
++ "../modules/audio_coding:neteq",
++ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../rtc_base:checks",
+ "../rtc_base:protobuf_utils",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -366,6 +376,9 @@ if (rtc_include_tests) {
+ ":video_file_reader",
+ ":video_file_writer",
+ ":video_quality_analysis",
++ "../:webrtc_common",
++ "../api/video:video_frame",
++ "../api/video:video_frame_i420",
+ "../common_video:common_video",
+ "../rtc_base",
+ "../rtc_base:checks",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/DEPS
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/DEPS
+@@ -1,9 +1,11 @@
+ include_rules = [
+ "+call",
++ "+common_audio",
+ "+common_video",
+ "+logging/rtc_event_log",
+ "+modules/audio_device",
+ "+modules/audio_coding/audio_network_adaptor",
++ "+modules/audio_coding/neteq/include",
+ "+modules/audio_coding/neteq/tools",
+ "+modules/audio_processing",
+ "+modules/bitrate_controller",
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/agc/activity_metric.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/agc/activity_metric.cc
+@@ -8,17 +8,16 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
++#include <assert.h>
++#include <stdint.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <algorithm>
++#include <string.h>
++#include <iostream>
+ #include <memory>
+
+ #include "api/audio/audio_frame.h"
+-#include "modules/audio_processing/agc/agc.h"
+ #include "modules/audio_processing/agc/loudness_histogram.h"
+-#include "modules/audio_processing/agc/utility.h"
+ #include "modules/audio_processing/vad/common.h"
+ #include "modules/audio_processing/vad/pitch_based_vad.h"
+ #include "modules/audio_processing/vad/standalone_vad.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.cc
+@@ -7,14 +7,15 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
++#include "rtc_tools/converter/converter.h"
++
+ #include <stdio.h>
+-#include <stdlib.h>
+ #include <sys/stat.h>
+-
+ #include <iomanip>
+ #include <sstream>
+
+-#include "rtc_tools/converter/converter.h"
++#include "third_party/libyuv/include/libyuv/compare.h"
++#include "third_party/libyuv/include/libyuv/convert.h"
+
+ #ifdef WIN32
+ #define SEPARATOR '\\'
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/converter.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/converter.h
+@@ -11,11 +11,9 @@
+ #ifndef RTC_TOOLS_CONVERTER_CONVERTER_H_
+ #define RTC_TOOLS_CONVERTER_CONVERTER_H_
+
++#include <stdio.h>
+ #include <string>
+
+-#include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/converter/rgba_to_i420_converter.cc
+@@ -10,10 +10,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_tools/converter/converter.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/main.cc
+@@ -8,9 +8,19 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdio.h>
++#include <string.h>
+ #include <iostream>
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
+
++#include "logging/rtc_event_log/rtc_event_log.h"
+ #include "logging/rtc_event_log/rtc_event_log_parser_new.h"
++#include "modules/audio_coding/neteq/include/neteq.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/report_block.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_tools/event_log_visualizer/analyzer.h"
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_base.cc
+@@ -11,7 +11,6 @@
+ #include "rtc_tools/event_log_visualizer/plot_base.h"
+
+ #include <algorithm>
+-#include <limits>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_protobuf.cc
+@@ -10,7 +10,10 @@
+
+ #include "rtc_tools/event_log_visualizer/plot_protobuf.h"
+
++#include <stddef.h>
++#include <iostream>
+ #include <memory>
++#include <vector>
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/event_log_visualizer/plot_python.cc
+@@ -11,8 +11,9 @@
+ #include "rtc_tools/event_log_visualizer/plot_python.h"
+
+ #include <stdio.h>
+-
+ #include <memory>
++#include <string>
++#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/frame_analyzer.cc
+@@ -10,11 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
+-#include <map>
++#include <cstddef>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "rtc_base/stringutils.h"
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.cc
+@@ -10,7 +10,12 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <math.h>
++#include <cstdint>
++#include <cstdlib>
++#include <functional>
+ #include <numeric>
++#include <type_traits>
+ #include <utility>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_LINEAR_LEAST_SQUARES_H_
+
++#include <stdint.h>
+ #include <valarray>
+ #include <vector>
++
+ #include "absl/types/optional.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/linear_least_squares_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+
++#include <cstdint>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.cc
+@@ -8,12 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <iostream>
+ #include <numeric>
+ #include <vector>
+
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h
+@@ -11,9 +11,11 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_REFERENCE_LESS_VIDEO_ANALYSIS_LIB_H_
+
++#include <stddef.h>
+ #include <string>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ // Returns true if the frame is frozen based on psnr and ssim freezing
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/reference_less_video_analysis_unittest.cc
+@@ -7,13 +7,11 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
+-#include <string.h>
+-#include <cstring>
+-#include <iostream>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/reference_less_video_analysis_lib.h"
++#include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.cc
+@@ -10,20 +10,17 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stddef.h>
+ #include <algorithm>
+ #include <cmath>
+-#include <deque>
+-#include <limits>
++#include <cstdint>
+ #include <vector>
+
+ #include "api/array_view.h"
+ #include "api/video/i420_buffer.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/linear_least_squares.h"
+-#include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+ #include "third_party/libyuv/include/libyuv/planar_functions.h"
+ #include "third_party/libyuv/include/libyuv/scale.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner.h
+@@ -13,6 +13,8 @@
+
+ #include <array>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_color_aligner_unittest.cc
+@@ -10,11 +10,13 @@
+
+ #include "rtc_tools/frame_analyzer/video_color_aligner.h"
+
++#include <stdint.h>
++
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+-#include "third_party/libyuv/include/libyuv/scale.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_geometry_aligner_unittest.cc
+@@ -12,6 +12,7 @@
+
+ #include <vector>
+
++#include "api/video/i420_buffer.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.cc
+@@ -11,12 +11,13 @@
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+
+ #include <algorithm>
+-#include <numeric>
++#include <array>
++#include <cstddef>
+
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "test/testsupport/perf_test.h"
+ #include "third_party/libyuv/include/libyuv/compare.h"
+-#include "third_party/libyuv/include/libyuv/convert.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis.h
+@@ -11,11 +11,12 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_QUALITY_ANALYSIS_H_
+
++#include <stdio.h>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_quality_analysis_unittest.cc
+@@ -12,6 +12,7 @@
+ // to stdout by void functions, but it's still useful as it executes the code.
+
+ #include <stdio.h>
++#include <cstddef>
+ #include <fstream>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.cc
+@@ -12,15 +12,16 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstddef>
+ #include <deque>
++#include <iterator>
+ #include <limits>
+ #include <vector>
+
+ #include "api/video/i420_buffer.h"
+-#include "rtc_base/checks.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+-#include "third_party/libyuv/include/libyuv/compare.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner.h
+@@ -11,8 +11,10 @@
+ #ifndef RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+ #define RTC_TOOLS_FRAME_ANALYZER_VIDEO_TEMPORAL_ALIGNER_H_
+
++#include <stddef.h>
+ #include <vector>
+
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_analyzer/video_temporal_aligner_unittest.cc
+@@ -10,6 +10,8 @@
+
+ #include "rtc_tools/frame_analyzer/video_temporal_aligner.h"
+
++#include <cstddef>
++
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing.cc
+@@ -8,12 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_tools/frame_editing/frame_editing_lib.h"
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <string>
+
++#include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+
+ // A command-line tool to edit a YUV-video (I420 sub-sampled).
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_lib.cc
+@@ -9,11 +9,11 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/frame_editing/frame_editing_unittest.cc
+@@ -9,11 +9,12 @@
+ */
+
+ #include <stdio.h>
+-#include <stdlib.h>
+-
++#include <string.h>
+ #include <fstream>
+ #include <memory>
++#include <string>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_tools/frame_editing/frame_editing_lib.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/BUILD.gn
+@@ -48,6 +48,7 @@ if (rtc_enable_protobuf) {
+ "../../rtc_base:rtc_base_approved",
+ "../../rtc_base:rtc_task_queue",
+ "../../rtc_base:sequenced_task_checker",
++ "../../rtc_base/third_party/sigslot:sigslot",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/config_reader.cc
+@@ -9,8 +9,9 @@
+ */
+ #include "rtc_tools/network_tester/config_reader.h"
+
++#include <fstream>
++#include <iterator>
+ #include <string>
+-#include <vector>
+
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/network_tester_unittest.cc
+@@ -10,9 +10,10 @@
+
+ #ifdef WEBRTC_NETWORK_TESTER_TEST_ENABLED
+
+-#include "rtc_tools/network_tester/test_controller.h"
++#include <string>
+
+ #include "rtc_base/gunit.h"
++#include "rtc_tools/network_tester/test_controller.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/packet_sender.cc
+@@ -11,9 +11,11 @@
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #include <algorithm>
++#include <memory>
+ #include <string>
+ #include <utility>
+
++#include "absl/types/optional.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_tools/network_tester/config_reader.h"
+ #include "rtc_tools/network_tester/test_controller.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.cc
+@@ -10,7 +10,11 @@
+
+ #include "rtc_tools/network_tester/test_controller.h"
+
++#include <limits>
++
+ #include "absl/types/optional.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/ipaddress.h"
+ #include "rtc_base/thread.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/network_tester/test_controller.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/network_tester/test_controller.h
+@@ -11,22 +11,30 @@
+ #ifndef RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+ #define RTC_TOOLS_NETWORK_TESTER_TEST_CONTROLLER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <array>
+-#include <limits>
+ #include <memory>
+ #include <string>
+-#include <utility>
+
++#include "absl/types/optional.h"
+ #include "p2p/base/basicpacketsocketfactory.h"
+ #include "rtc_base/asyncpacketsocket.h"
+ #include "rtc_base/constructormagic.h"
++#include "rtc_base/criticalsection.h"
+ #include "rtc_base/ignore_wundef.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/socketaddress.h"
++#include "rtc_base/third_party/sigslot/sigslot.h"
++#include "rtc_base/thread_annotations.h"
++#include "rtc_base/thread_checker.h"
+ #include "rtc_tools/network_tester/packet_logger.h"
+ #include "rtc_tools/network_tester/packet_sender.h"
+
+ #ifdef WEBRTC_NETWORK_TESTER_PROTO
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "rtc_tools/network_tester/network_tester_packet.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+ using webrtc::network_tester::packet::NetworkTesterPacket;
+ #else
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/psnr_ssim_analyzer/psnr_ssim_analyzer.cc
+@@ -10,9 +10,11 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-
++#include <algorithm>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/frame_analyzer/video_quality_analysis.h"
+ #include "rtc_tools/simple_command_line_parser.h"
+ #include "rtc_tools/video_file_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/simple_command_line_parser_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "rtc_tools/simple_command_line_parser.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/unpack_aecdump/unpack.cc
+@@ -13,10 +13,14 @@
+ // The debug files are dumped as protobuf blobs. For analysis, it's necessary
+ // to unpack the file into its component parts: audio and other data.
+
++#include <inttypes.h>
++#include <stdint.h>
+ #include <stdio.h>
+-
++#include <stdlib.h>
+ #include <memory>
++#include <string>
+
++#include "common_audio/wav_file.h"
+ #include "modules/audio_processing/test/protobuf_utils.h"
+ #include "modules/audio_processing/test/test_utils.h"
+ #include "rtc_base/flags.h"
+@@ -26,6 +30,7 @@
+
+ RTC_PUSH_IGNORING_WUNDEF()
+ #include "modules/audio_processing/debug.pb.h"
++
+ RTC_POP_IGNORING_WUNDEF()
+
+ // TODO(andrew): unpack more of the data.
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.cc
+@@ -10,14 +10,13 @@
+
+ #include "rtc_tools/video_file_reader.h"
+
+-#include <algorithm>
+-#include <cmath>
+ #include <cstdio>
+ #include <string>
+-#include <utility>
++#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/refcountedobject.h"
+ #include "rtc_base/string_to_number.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader.h
+@@ -10,13 +10,14 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_READER_H_
+ #define RTC_TOOLS_VIDEO_FILE_READER_H_
+
++#include <stddef.h>
+ #include <cstdio>
+ #include <iterator>
+ #include <string>
+-#include <vector>
+
+-#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_reader_unittest.cc
+@@ -9,6 +9,10 @@
+ */
+
+ #include "rtc_tools/video_file_reader.h"
++
++#include <stdint.h>
++#include <string>
++
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.cc
+@@ -10,11 +10,12 @@
+
+ #include "rtc_tools/video_file_writer.h"
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_base/logging.h"
+-#include "rtc_base/refcountedobject.h"
+ #include "rtc_base/stringutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer.h
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer.h
+@@ -10,10 +10,9 @@
+ #ifndef RTC_TOOLS_VIDEO_FILE_WRITER_H_
+ #define RTC_TOOLS_VIDEO_FILE_WRITER_H_
+
+-#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcount.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_tools/video_file_reader.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/rtc_tools/video_file_writer_unittest.cc
+@@ -8,9 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <cstdio>
+ #include <string>
+
+-#include "rtc_base/refcountedobject.h"
++#include "api/video/video_frame_buffer.h"
+ #include "rtc_tools/video_file_reader.h"
+ #include "rtc_tools/video_file_writer.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/stats/BUILD.gn
+@@ -25,6 +25,7 @@ rtc_static_library("rtc_stats") {
+
+ deps = [
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ ]
+ }
+@@ -40,6 +41,7 @@ rtc_source_set("rtc_stats_test_utils") {
+ deps = [
+ ":rtc_stats",
+ "../api:rtc_stats_api",
++ "../rtc_base:checks",
+ "../rtc_base/system:rtc_export",
+ ]
+ }
+@@ -61,6 +63,7 @@ if (rtc_include_tests) {
+ "../rtc_base:rtc_base_approved",
+ "../rtc_base:rtc_base_tests_main",
+ "../rtc_base:rtc_json",
++ "../test:test_support",
+ ]
+
+ if (is_android) {
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_objects.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_objects.cc
+@@ -10,6 +10,10 @@
+
+ #include "api/stats/rtcstats_objects.h"
+
++#include <utility>
++
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ const char* const RTCDataChannelState::kConnecting = "connecting";
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstats_unittest.cc
+@@ -11,12 +11,14 @@
+ #include "api/stats/rtcstats.h"
+
+ #include <cmath>
++#include <cstdint>
+ #include <cstring>
++#include <iostream>
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
+ #include "rtc_base/strings/json.h"
+ #include "stats/test/rtcteststats.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport.cc
+@@ -11,6 +11,10 @@
+ #include "api/stats/rtcstatsreport.h"
+
+ #include <sstream>
++#include <type_traits>
++#include <utility>
++
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/rtcstatsreport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/rtcstatsreport_unittest.cc
+@@ -12,7 +12,7 @@
+
+ #include "api/stats/rtcstats.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/gunit.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.cc
+@@ -10,6 +10,8 @@
+
+ #include "stats/test/rtcteststats.h"
+
++#include "rtc_base/checks.h"
++
+ namespace webrtc {
+
+ WEBRTC_RTCSTATS_IMPL(RTCTestStats,
+Index: chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/stats/test/rtcteststats.h
++++ chromium-72.0.3626.53/third_party/webrtc/stats/test/rtcteststats.h
+@@ -11,6 +11,7 @@
+ #ifndef STATS_TEST_RTCTESTSTATS_H_
+ #define STATS_TEST_RTCTESTSTATS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/BUILD.gn
+@@ -174,6 +174,7 @@ if (rtc_include_tests) {
+ ":metrics",
+ ":system_wrappers",
+ "..:webrtc_common",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base_approved",
+ "../test:test_main",
+ "../test:test_support",
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/include/metrics.h
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/include/metrics.h
+@@ -11,6 +11,7 @@
+ #ifndef SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+ #define SYSTEM_WRAPPERS_INCLUDE_METRICS_H_
+
++#include <stddef.h>
+ #include <map>
+ #include <memory>
+ #include <string>
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/metrics_default_unittest.cc
+@@ -8,6 +8,12 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <memory>
++#include <string>
++#include <utility>
++
++#include "rtc_base/checks.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/system_wrappers/source/rtp_to_ntp_estimator_unittest.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
++
++#include <stddef.h>
++
+ #include "rtc_base/random.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/BUILD.gn
+@@ -219,11 +219,12 @@ if (rtc_include_tests) {
+ ":field_trial",
+ ":perf_test",
+ ":test_support",
++ "../rtc_base:checks",
+ "../rtc_base:rtc_base",
+ "../system_wrappers:field_trial",
+ "../system_wrappers:metrics",
+ "//testing/gtest",
+- "//third_party/abseil-cpp/absl/memory:memory",
++ "//third_party/abseil-cpp/absl/memory",
+
+ # TODO(bugs.webrtc.org/9792): This is needed for downstream projects on
+ # Android, where it's replaced by an internal version of fileutils that
+@@ -339,6 +340,7 @@ if (rtc_include_tests) {
+ "../api:simulcast_test_fixture_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../modules/rtp_rtcp:rtp_rtcp",
+ "../modules/video_capture",
+@@ -607,10 +609,14 @@ rtc_source_set("fake_video_codecs") {
+ deps = [
+ "..:webrtc_common",
+ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
++ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+ "../api/video_codecs:create_vp8_temporal_layers",
+ "../api/video_codecs:video_codecs_api",
+ "../common_video:common_video",
++ "../modules:module_api",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+@@ -621,6 +627,7 @@ rtc_source_set("fake_video_codecs") {
+ "../rtc_base:rtc_task_queue",
+ "../rtc_base:sequenced_task_checker",
+ "../system_wrappers",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ }
+
+@@ -668,6 +675,7 @@ rtc_source_set("test_common") {
+ ":rtp_test_utils",
+ ":test_support",
+ ":video_test_common",
++ "../:webrtc_common",
+ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api:transport_api",
+@@ -682,6 +690,7 @@ rtc_source_set("test_common") {
+ "../call",
+ "../call:call_interfaces",
+ "../call:fake_network",
++ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:simulated_network",
+ "../call:simulated_packet_receiver",
+@@ -699,6 +708,8 @@ rtc_source_set("test_common") {
+ "../modules/rtp_rtcp",
+ "../modules/rtp_rtcp:mock_rtp_rtcp",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
++ "../modules/rtp_rtcp:rtp_video_header",
++ "../modules/video_coding:codec_globals_headers",
+ "../modules/video_coding:video_coding_utility",
+ "../modules/video_coding:webrtc_h264",
+ "../modules/video_coding:webrtc_multiplex",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.cc
+@@ -11,9 +11,14 @@
+ #include "test/configurable_frame_size_encoder.h"
+
+ #include <string.h>
++#include <cstdint>
++#include <type_traits>
++#include <utility>
+
+ #include "api/video/encoded_image.h"
++#include "modules/include/module_common_types.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/configurable_frame_size_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/configurable_frame_size_encoder.h
+@@ -11,10 +11,19 @@
+ #ifndef TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+ #define TEST_CONFIGURABLE_FRAME_SIZE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++#include <functional>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/include/video_codec_interface.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/direct_transport_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/direct_transport_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+ #include "test/direct_transport.h"
++
++#include <string.h>
++
+ #include "test/gtest.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/drifting_clock.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/drifting_clock.h
+@@ -10,7 +10,10 @@
+ #ifndef TEST_DRIFTING_CLOCK_H_
+ #define TEST_DRIFTING_CLOCK_H_
+
++#include <stdint.h>
++
+ #include "system_wrappers/include/clock.h"
++#include "system_wrappers/include/ntp_time.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.cc
+@@ -12,7 +12,11 @@
+ #include <algorithm>
+ #include <string>
+
++#include "api/video_codecs/sdp_video_format.h"
++#include "call/rtp_config.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/refcountedobject.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/encoder_settings.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/encoder_settings.h
+@@ -10,10 +10,14 @@
+ #ifndef TEST_ENCODER_SETTINGS_H_
+ #define TEST_ENCODER_SETTINGS_H_
+
++#include <stddef.h>
++#include <string>
+ #include <vector>
+
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/video_receive_stream.h"
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_decoder.h"
+
++#include <string.h>
++
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_decoder.h
+@@ -11,10 +11,12 @@
+ #ifndef TEST_FAKE_DECODER_H_
+ #define TEST_FAKE_DECODER_H_
+
+-#include <vector>
++#include <stdint.h>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.cc
+@@ -11,12 +11,16 @@
+ #include "test/fake_encoder.h"
+
+ #include <string.h>
+-
+ #include <algorithm>
++#include <cstdint>
+ #include <memory>
++#include <string>
+
+-#include "api/video_codecs/vp8_temporal_layers.h"
++#include "api/video/video_content_type.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/h264/include/h264_globals.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "rtc_base/checks.h"
+ #include "system_wrappers/include/sleep.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_encoder.h
+@@ -11,13 +11,23 @@
+ #ifndef TEST_FAKE_ENCODER_H_
+ #define TEST_FAKE_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
++#include "api/video/video_frame.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_encoder.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/sequenced_task_checker.h"
+ #include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_texture_frame.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_texture_frame.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/fake_texture_frame.h"
+
++#include "api/video/i420_buffer.h"
++#include "rtc_base/refcountedobject.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.cc
+@@ -10,7 +10,15 @@
+
+ #include "test/fake_vp8_decoder.h"
+
++#include <stddef.h>
++
++#include "absl/types/optional.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "modules/video_coding/include/video_error_codes.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "rtc_base/timeutils.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_decoder.h
+@@ -11,8 +11,12 @@
+ #ifndef TEST_FAKE_VP8_DECODER_H_
+ #define TEST_FAKE_VP8_DECODER_H_
+
++#include <stdint.h>
++
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_decoder.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+-#include "system_wrappers/include/clock.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.cc
+@@ -10,15 +10,16 @@
+
+ #include "test/fake_vp8_encoder.h"
+
++#include <algorithm>
++
++#include "absl/types/optional.h"
+ #include "api/video_codecs/create_vp8_temporal_layers.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/video_coding/codecs/interface/common_constants.h"
+ #include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/utility/simulcast_utility.h"
+-#include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "rtc_base/random.h"
+-#include "rtc_base/timeutils.h"
+
+ namespace {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/fake_vp8_encoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/fake_vp8_encoder.h
+@@ -11,14 +11,22 @@
+ #ifndef TEST_FAKE_VP8_ENCODER_H_
+ #define TEST_FAKE_VP8_ENCODER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <memory>
+ #include <vector>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "api/video_codecs/vp8_temporal_layers.h"
+-#include "test/fake_encoder.h"
+-
+-#include "rtc_base/criticalsection.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
++#include "test/fake_encoder.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator.cc
+@@ -9,19 +9,23 @@
+ */
+ #include "test/frame_generator.h"
+
+-#include <math.h>
+-#include <stdio.h>
+ #include <string.h>
+-
++#include <cstdint>
++#include <cstdio>
+ #include <memory>
+
+ #include "api/video/i010_buffer.h"
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/video_frame_buffer.h"
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
++#include "rtc_base/bind.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/keep_ref_until_done.h"
+ #include "rtc_base/random.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/clock.h"
+ #include "test/frame_utils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_capturer.cc
+@@ -10,11 +10,14 @@
+
+ #include "test/frame_generator_capturer.h"
+
++#include <algorithm>
++#include <cmath>
++#include <limits>
+ #include <utility>
+ #include <vector>
+
+ #include "absl/memory/memory.h"
+-#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/frame_generator_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/frame_generator_unittest.cc
+@@ -8,11 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <assert.h>
+ #include <stdio.h>
+-
++#include <string.h>
++#include <cstdint>
+ #include <memory>
+ #include <string>
+
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_generator.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.cc
+@@ -12,6 +12,7 @@
+
+ #include <string.h>
+
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/libyuv/include/webrtc_libyuv.h"
+ #include "rtc_base/checks.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/gl/gl_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/gl/gl_renderer.h
+@@ -17,6 +17,10 @@
+ #include <GL/gl.h>
+ #endif
+
++#include <stddef.h>
++#include <stdint.h>
++
++#include "api/video/video_frame.h"
+ #include "test/video_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.cc
+@@ -8,12 +8,20 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <string.h>
++#include <algorithm>
+ #include <memory>
++#include <utility>
+
++#include "api/rtp_headers.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+-#include "modules/rtp_rtcp/source/byte_io.h"
+ #include "modules/rtp_rtcp/source/rtp_format.h"
+ #include "modules/rtp_rtcp/source/rtp_utility.h"
++#include "modules/rtp_rtcp/source/rtp_video_header.h"
++#include "modules/video_coding/codecs/interface/common_constants.h"
++#include "modules/video_coding/codecs/vp8/include/vp8_globals.h"
++#include "modules/video_coding/codecs/vp9/include/vp9_globals.h"
+ #include "rtc_base/checks.h"
+ #include "test/layer_filtering_transport.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/layer_filtering_transport.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/layer_filtering_transport.h
+@@ -10,9 +10,13 @@
+ #ifndef TEST_LAYER_FILTERING_TRANSPORT_H_
+ #define TEST_LAYER_FILTERING_TRANSPORT_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
++#include <memory>
+
+-#include "api/test/simulated_network.h"
++#include "api/call/transport.h"
++#include "api/mediatypes.h"
+ #include "call/call.h"
+ #include "call/simulated_packet_receiver.h"
+ #include "test/direct_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.cc
+@@ -10,14 +10,11 @@
+
+ #include "test/linux/glx_renderer.h"
+
++#include <X11/Xlib.h>
++#include <X11/Xutil.h>
+ #include <assert.h>
+ #include <stdlib.h>
+
+-#include <X11/Xatom.h>
+-#include <X11/Xlib.h>
+-
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/glx_renderer.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/glx_renderer.h
+@@ -12,8 +12,11 @@
+ #define TEST_LINUX_GLX_RENDERER_H_
+
+ #include <GL/glx.h>
++#include <X11/X.h>
+ #include <X11/Xlib.h>
++#include <stddef.h>
+
++#include "api/video/video_frame.h"
+ #include "test/gl/gl_renderer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/linux/video_renderer_linux.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/linux/video_renderer_linux.cc
+@@ -7,9 +7,10 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include "test/video_renderer.h"
++#include <stddef.h>
+
+ #include "test/linux/glx_renderer.h"
++#include "test/video_renderer.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.cc
+@@ -9,6 +9,9 @@
+ */
+
+ #include "test/rtcp_packet_parser.h"
++
++#include "modules/rtp_rtcp/source/rtcp_packet/psfb.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/rtpfb.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtcp_packet_parser.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtcp_packet_parser.h
+@@ -12,6 +12,9 @@
+ #ifndef TEST_RTCP_PACKET_PARSER_H_
+ #define TEST_RTCP_PACKET_PARSER_H_
+
++#include <stddef.h>
++#include <stdint.h>
++
+ #include "api/array_view.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/app.h"
+ #include "modules/rtp_rtcp/source/rtcp_packet/bye.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer.cc
+@@ -10,8 +10,8 @@
+
+ #include "test/rtp_file_writer.h"
+
++#include <stdint.h>
+ #include <stdio.h>
+-
+ #include <string>
+
+ #include "rtc_base/checks.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/rtp_file_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/rtp_file_writer_unittest.cc
+@@ -8,8 +8,8 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
+ #include <string.h>
+-
+ #include <memory>
+
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/run_test.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/run_test.cc
+@@ -10,8 +10,6 @@
+
+ #include "test/run_test.h"
+
+-#include <stdio.h>
+-
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/BUILD.gn
+@@ -37,12 +37,15 @@ if (rtc_include_tests) {
+ "../:test_common",
+ "../:test_support",
+ "../:video_test_common",
++ "../../:webrtc_common",
+ "../../api:libjingle_peerconnection_api",
+ "../../api:transport_api",
+ "../../api/audio_codecs:builtin_audio_decoder_factory",
+ "../../api/audio_codecs:builtin_audio_encoder_factory",
+ "../../api/test/video:function_video_factory",
++ "../../api/transport:network_control",
+ "../../api/units:data_rate",
++ "../../api/units:data_size",
+ "../../api/units:time_delta",
+ "../../api/units:timestamp",
+ "../../api/video:builtin_video_bitrate_allocator_factory",
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/scenario_config.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/scenario_config.h
+@@ -10,15 +10,15 @@
+ #ifndef TEST_SCENARIO_SCENARIO_CONFIG_H_
+ #define TEST_SCENARIO_SCENARIO_CONFIG_H_
+
+-#include <memory>
++#include <stddef.h>
+ #include <string>
+-#include <vector>
+
+ #include "absl/types/optional.h"
+ #include "api/rtpparameters.h"
+ #include "api/units/data_rate.h"
++#include "api/units/data_size.h"
+ #include "api/units/time_delta.h"
+-#include "api/video_codecs/video_codec.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "test/frame_generator.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.cc
+@@ -9,9 +9,14 @@
+ */
+ #include "test/scenario/simulated_time.h"
+
++#include <inttypes.h>
++#include <string.h>
+ #include <algorithm>
++#include <cstdint>
++#include <utility>
+
+-#include "rtc_base/format_macros.h"
++#include "absl/types/optional.h"
++#include "rtc_base/checks.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/scenario/simulated_time.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/scenario/simulated_time.h
+@@ -10,16 +10,22 @@
+ #ifndef TEST_SCENARIO_SIMULATED_TIME_H_
+ #define TEST_SCENARIO_SIMULATED_TIME_H_
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <deque>
+ #include <map>
+ #include <memory>
+-#include <set>
+ #include <string>
+-#include <utility>
+ #include <vector>
+
++#include "api/transport/network_control.h"
++#include "api/transport/network_types.h"
++#include "api/units/data_rate.h"
++#include "api/units/data_size.h"
++#include "api/units/time_delta.h"
++#include "api/units/timestamp.h"
++#include "rtc_base/copyonwritebuffer.h"
+ #include "test/scenario/call_client.h"
+-#include "test/scenario/column_printer.h"
+ #include "test/scenario/network_node.h"
+ #include "test/scenario/scenario_config.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/statistics.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/statistics.cc
+@@ -10,8 +10,8 @@
+ #include "test/statistics.h"
+
+ #include <math.h>
+-
+ #include <algorithm>
++#include <limits>
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_main_lib.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_main_lib.cc
+@@ -14,6 +14,7 @@
+ #include <string>
+
+ #include "absl/memory/memory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/thread.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/test_video_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/test_video_capturer.cc
+@@ -10,7 +10,10 @@
+
+ #include "test/test_video_capturer.h"
+
+-#include "rtc_base/constructormagic.h"
++#include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "api/video/video_rotation.h"
++#include "rtc_base/scoped_ref_ptr.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils.cc
+@@ -26,12 +26,11 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+ #include <dirent.h>
+-#include <unistd.h>
+
+ #define GET_CURRENT_DIR getcwd
+ #endif
+@@ -43,9 +42,8 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
+-#include <string.h>
+-
+ #include <memory>
++#include <type_traits>
+ #include <utility>
+
+ #if defined(WEBRTC_IOS)
+@@ -56,7 +54,6 @@
+ #include "test/testsupport/macfileutils.h"
+ #endif
+
+-#include "rtc_base/arraysize.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/stringutils.h"
+ #include "test/testsupport/fileutils_override.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.cc
+@@ -10,6 +10,9 @@
+
+ #include "test/testsupport/fileutils_override.h"
+
++#include <limits.h>
++#include <stdio.h>
++
+ #if defined(WEBRTC_WIN)
+ #include <direct.h>
+ #include <tchar.h>
+@@ -20,12 +23,12 @@
+
+ #include "Shlwapi.h"
+ #include "WinDef.h"
+-
+ #include "rtc_base/win32.h"
++
+ #define GET_CURRENT_DIR _getcwd
+ #else
+-#include <dirent.h>
+ #include <unistd.h>
++
+ #define GET_CURRENT_DIR getcwd
+ #endif
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_override.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_override.h
+@@ -8,7 +8,6 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <stdio.h>
+ #include <string>
+
+ #ifndef TEST_TESTSUPPORT_FILEUTILS_OVERRIDE_H_
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/fileutils_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/fileutils_unittest.cc
+@@ -11,10 +11,8 @@
+ #include "test/testsupport/fileutils.h"
+
+ #include <stdio.h>
+-
++#include <algorithm>
+ #include <fstream>
+-#include <iostream>
+-#include <list>
+ #include <string>
+
+ #include "absl/types/optional.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/perf_test_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/perf_test_unittest.cc
+@@ -10,6 +10,7 @@
+
+ #include "test/testsupport/perf_test.h"
+
++#include <algorithm>
+ #include <limits>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts.h
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts.h
+@@ -11,8 +11,8 @@
+ #ifndef TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+ #define TEST_TESTSUPPORT_TEST_ARTIFACTS_H_
+
++#include <stdint.h>
+ #include <stdlib.h>
+-
+ #include <string>
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/test_artifacts_unittest.cc
+@@ -11,12 +11,10 @@
+ #include "test/testsupport/test_artifacts.h"
+
+ #include <string.h>
+-
+ #include <string>
+
+ #include "rtc_base/file.h"
+ #include "rtc_base/flags.h"
+-#include "rtc_base/platform_file.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer.cc
+@@ -8,7 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "rtc_base/checks.h"
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "test/testsupport/frame_writer.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/y4m_frame_writer_unittest.cc
+@@ -8,6 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
+ #include <string>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader.cc
+@@ -8,11 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "test/testsupport/frame_reader.h"
++#include <stdio.h>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/frame_utils.h"
+ #include "test/testsupport/fileutils.h"
++#include "test/testsupport/frame_reader.h"
+
+ namespace webrtc {
+ namespace test {
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_reader_unittest.cc
+@@ -8,10 +8,14 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
+ #include <memory>
+ #include <string>
+
+ #include "api/video/i420_buffer.h"
++#include "api/video/video_frame_buffer.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+ #include "test/testsupport/frame_reader.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer.cc
+@@ -8,6 +8,10 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string>
++
+ #include "rtc_base/checks.h"
+ #include "test/testsupport/frame_writer.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/testsupport/yuv_frame_writer_unittest.cc
+@@ -8,7 +8,11 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stdint.h>
++#include <stdio.h>
++#include <string.h>
+ #include <memory>
++#include <string>
+
+ #include "test/gtest.h"
+ #include "test/testsupport/fileutils.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/test/vcm_capturer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/test/vcm_capturer.cc
+@@ -10,9 +10,15 @@
+
+ #include "test/vcm_capturer.h"
+
+-#include "call/video_send_stream.h"
++#include <stdint.h>
++#include <memory>
++
++#include "absl/types/optional.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "modules/video_capture/video_capture_factory.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++
+ namespace webrtc {
+ namespace test {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/BUILD.gn
++++ chromium-72.0.3626.53/third_party/webrtc/video/BUILD.gn
+@@ -53,9 +53,13 @@ rtc_static_library("video") {
+
+ deps = [
+ ":frame_dumping_decoder",
++ "..:webrtc_common",
++ "../api:array_view",
+ "../api:fec_controller_api",
+ "../api:libjingle_peerconnection_api",
+ "../api:transport_api",
++ "../api/video:encoded_image",
++ "../api/video:video_bitrate_allocation",
+ "../api/video:video_bitrate_allocator",
+ "../api/video:video_frame",
+ "../api/video:video_frame_i420",
+@@ -67,6 +71,8 @@ rtc_static_library("video") {
+ "../call:rtp_interfaces",
+ "../call:rtp_sender",
+ "../call:video_stream_api",
++ "../media:rtc_h264_profile_id",
++ "../modules:module_api_public",
+ "../modules/rtp_rtcp:rtp_rtcp_format",
+ "../modules/rtp_rtcp:rtp_video_header",
+ "../modules/video_coding:codec_globals_headers",
+@@ -143,6 +149,7 @@ rtc_source_set("frame_dumping_decoder")
+
+ deps = [
+ "../api/video:encoded_frame",
++ "../api/video:encoded_image",
+ "../api/video_codecs:video_codecs_api",
+ "../modules/video_coding:video_codec_interface",
+ "../modules/video_coding:video_coding",
+@@ -276,7 +283,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../:webrtc_common",
++ "../api:simulated_network_api",
+ "../api:test_dependency_factory",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
+ "../media:rtc_vp9_profile",
+ "../modules/pacing:pacing",
+ "../modules/video_coding:webrtc_vp9",
+@@ -287,6 +298,7 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -304,6 +316,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -314,6 +331,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -329,6 +347,11 @@ if (rtc_include_tests) {
+
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -338,6 +361,8 @@ if (rtc_include_tests) {
+ "../test:test_common",
+ "../test:test_renderer",
+ "../test:test_support",
++ "//third_party/abseil-cpp/absl/memory",
++ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from Chrome's Clang plugins.
+@@ -353,6 +378,11 @@ if (rtc_include_tests) {
+ ]
+ deps = [
+ ":video_quality_test",
++ "../api:libjingle_peerconnection_api",
++ "../api:simulated_network_api",
++ "../api:video_quality_test_fixture_api",
++ "../api/video_codecs:video_codecs_api",
++ "../rtc_base:checks",
+ "../rtc_base:logging",
+ "../rtc_base:rtc_base_approved",
+ "../system_wrappers:field_trial",
+@@ -363,6 +393,7 @@ if (rtc_include_tests) {
+ "../test:test_renderer",
+ "../test:test_support",
+ "//testing/gtest",
++ "//third_party/abseil-cpp/absl/memory",
+ ]
+ if (!build_with_chromium && is_clang) {
+ # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+@@ -451,8 +482,10 @@ if (rtc_include_tests) {
+ ":video",
+ ":video_mocks",
+ ":video_stream_encoder_impl",
++ "../:webrtc_common",
+ "../api:fake_frame_decryptor",
+ "../api:fake_frame_encryptor",
++ "../api:libjingle_peerconnection_api",
+ "../api:simulated_network_api",
+ "../api/test/video:function_video_factory",
+ "../api/video:builtin_video_bitrate_allocator_factory",
+@@ -465,9 +498,11 @@ if (rtc_include_tests) {
+ "../call:fake_network",
+ "../call:mock_bitrate_allocator",
+ "../call:mock_rtp_interfaces",
++ "../call:rtp_interfaces",
+ "../call:rtp_receiver",
+ "../call:rtp_sender",
+ "../call:simulated_network",
++ "../call:simulated_packet_receiver",
+ "../call:video_stream_api",
+ "../common_video",
+ "../logging:rtc_event_log_api",
+Index: chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/call_stats.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/call_stats.cc
+@@ -11,12 +11,11 @@
+ #include "video/call_stats.h"
+
+ #include <algorithm>
++#include <memory>
+
+ #include "modules/utility/include/process_thread.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/constructormagic.h"
+ #include "rtc_base/location.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/task_queue.h"
+ #include "system_wrappers/include/metrics.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/cpu_scaling_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/cpu_scaling_tests.cc
+@@ -8,9 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <limits>
++#include <vector>
++
++#include "api/rtpparameters.h"
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video/video_source_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/checks.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/frame_generator_capturer.h"
++#include "test/gtest.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/config_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/config_tests.cc
+@@ -8,6 +8,15 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <map>
++#include <vector>
++
++#include "api/crypto/cryptooptions.h"
++#include "api/rtp_headers.h"
++#include "call/flexfec_receive_stream.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
+ #include "test/call_test.h"
+ #include "test/gtest.h"
+ #include "test/null_transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/extended_reports_tests.cc
+@@ -8,13 +8,39 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
++
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/rtp_headers.h"
++#include "api/test/simulated_network.h"
++#include "api/video_codecs/sdp_video_format.h"
+ #include "api/video_codecs/video_encoder_config.h"
++#include "call/call.h"
+ #include "call/fake_network_pipe.h"
++#include "call/rtp_config.h"
+ #include "call/simulated_network.h"
++#include "call/simulated_packet_receiver.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
++#include "modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/event.h"
++#include "rtc_base/thread_annotations.h"
++#include "system_wrappers/include/clock.h"
+ #include "test/call_test.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+ #include "test/rtcp_packet_parser.h"
++#include "test/rtp_rtcp_observer.h"
++#include "test/single_threaded_task_queue.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/end_to_end_tests/multi_stream_tests.cc
+@@ -8,12 +8,22 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include "logging/rtc_event_log/rtc_event_log.h"
+-#include "modules/video_coding/codecs/vp8/include/vp8.h"
++#include <stddef.h>
++#include <stdint.h>
++#include <memory>
++#include <vector>
++
++#include "api/video/video_frame.h"
++#include "api/video/video_sink_interface.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "call/rtp_config.h"
++#include "call/video_receive_stream.h"
++#include "call/video_send_stream.h"
++#include "rtc_base/event.h"
+ #include "test/call_test.h"
+-#include "test/encoder_settings.h"
+-#include "test/field_trial.h"
++#include "test/frame_generator_capturer.h"
+ #include "test/gtest.h"
++#include "test/single_threaded_task_queue.h"
+ #include "video/end_to_end_tests/multi_stream_tester.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.cc
+@@ -13,6 +13,7 @@
+ #include <utility>
+
+ #include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/file.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/frame_dumping_decoder.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/frame_dumping_decoder.h
+@@ -11,9 +11,13 @@
+ #ifndef VIDEO_FRAME_DUMPING_DECODER_H_
+ #define VIDEO_FRAME_DUMPING_DECODER_H_
+
++#include <stdint.h>
+ #include <memory>
+
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder.h"
++#include "modules/video_coding/include/video_codec_interface.h"
+ #include "modules/video_coding/utility/ivf_file_writer.h"
+ #include "rtc_base/platform_file.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/full_stack_tests.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/full_stack_tests.cc
+@@ -7,12 +7,22 @@
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+-#include <stdio.h>
++#include <memory>
++#include <string>
++#include <utility>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/test/simulated_network.h"
+ #include "api/test/test_dependency_factory.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
++#include "api/video_codecs/video_encoder_config.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "media/base/vp9_profile.h"
+ #include "modules/video_coding/codecs/vp9/include/vp9.h"
+-#include "rtc_base/experiments/alr_experiment.h"
+ #include "rtc_base/flags.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/quality_threshold.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/quality_threshold.cc
+@@ -11,7 +11,6 @@
+ #include "video/quality_threshold.h"
+
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+
+ namespace webrtc {
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/receive_statistics_proxy_unittest.cc
+@@ -12,12 +12,13 @@
+
+ #include <limits>
+ #include <memory>
+-#include <utility>
++#include <string>
+
+ #include "api/video/i420_buffer.h"
+ #include "api/video/video_frame.h"
++#include "api/video/video_frame_buffer.h"
+ #include "api/video/video_rotation.h"
+-#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/scoped_ref_ptr.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/report_block_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/report_block_stats.h
+@@ -11,6 +11,7 @@
+ #ifndef VIDEO_REPORT_BLOCK_STATS_H_
+ #define VIDEO_REPORT_BLOCK_STATS_H_
+
++#include <stdint.h>
+ #include <map>
+ #include <vector>
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/rtp_streams_synchronizer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/rtp_streams_synchronizer.cc
+@@ -10,12 +10,12 @@
+
+ #include "video/rtp_streams_synchronizer.h"
+
++#include "absl/types/optional.h"
+ #include "call/syncable.h"
+-#include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+ #include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+ namespace webrtc {
+ namespace {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/screenshare_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/screenshare_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats.h
+@@ -11,11 +11,15 @@
+ #ifndef VIDEO_SEND_DELAY_STATS_H_
+ #define VIDEO_SEND_DELAY_STATS_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <set>
+
+ #include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/include/module_common_types_public.h"
+ #include "rtc_base/criticalsection.h"
+ #include "rtc_base/thread_annotations.h"
+ #include "system_wrappers/include/clock.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/send_delay_stats_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/send_delay_stats_unittest.cc
+@@ -10,6 +10,10 @@
+
+ #include "video/send_delay_stats.h"
+
++#include <cstdint>
++#include <vector>
++
++#include "call/rtp_config.h"
+ #include "system_wrappers/include/metrics.h"
+ #include "test/gtest.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.cc
+@@ -11,9 +11,7 @@
+ #include "video/stream_synchronization.h"
+
+ #include <assert.h>
+-#include <math.h>
+ #include <stdlib.h>
+-
+ #include <algorithm>
+
+ #include "rtc_base/logging.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization.h
+@@ -11,7 +11,7 @@
+ #ifndef VIDEO_STREAM_SYNCHRONIZATION_H_
+ #define VIDEO_STREAM_SYNCHRONIZATION_H_
+
+-#include <list>
++#include <stdint.h>
+
+ #include "system_wrappers/include/rtp_to_ntp_estimator.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/stream_synchronization_unittest.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/stream_synchronization_unittest.cc
+@@ -8,10 +8,9 @@
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+-#include <math.h>
+-
+ #include <algorithm>
+
++#include "system_wrappers/include/ntp_time.h"
+ #include "test/gtest.h"
+ #include "video/stream_synchronization.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/sv_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/sv_loopback.cc
+@@ -9,9 +9,20 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
++#include "rtc_base/stringencode.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "test/field_trial.h"
+ #include "test/gtest.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/transport_adapter.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/transport_adapter.h
+@@ -10,6 +10,8 @@
+ #ifndef VIDEO_TRANSPORT_ADAPTER_H_
+ #define VIDEO_TRANSPORT_ADAPTER_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <atomic>
+
+ #include "api/call/transport.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_loopback.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_loopback.cc
+@@ -9,7 +9,17 @@
+ */
+
+ #include <stdio.h>
++#include <memory>
++#include <string>
++#include <vector>
+
++#include "absl/memory/memory.h"
++#include "absl/types/optional.h"
++#include "api/bitrate_constraints.h"
++#include "api/test/simulated_network.h"
++#include "api/test/video_quality_test_fixture.h"
++#include "api/video_codecs/video_codec.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/flags.h"
+ #include "rtc_base/logging.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_quality_observer.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_quality_observer.cc
+@@ -11,9 +11,9 @@
+ #include "video/video_quality_observer.h"
+
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+
+-#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/strings/string_builder.h"
+ #include "system_wrappers/include/metrics.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_receive_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_receive_stream.cc
+@@ -11,23 +11,29 @@
+ #include "video/video_receive_stream.h"
+
+ #include <stdlib.h>
+-
++#include <string.h>
+ #include <set>
+ #include <string>
+ #include <utility>
+
+ #include "absl/memory/memory.h"
+ #include "absl/types/optional.h"
++#include "api/array_view.h"
++#include "api/crypto/framedecryptorinterface.h"
++#include "api/video/encoded_image.h"
++#include "api/video_codecs/sdp_video_format.h"
++#include "api/video_codecs/video_codec.h"
+ #include "api/video_codecs/video_decoder_factory.h"
++#include "api/video_codecs/video_encoder.h"
+ #include "call/rtp_stream_receiver_controller_interface.h"
+ #include "call/rtx_receive_stream.h"
+-#include "common_video/h264/profile_level_id.h"
++#include "common_types.h" // NOLINT(build/include)
+ #include "common_video/include/incoming_video_stream.h"
+-#include "common_video/libyuv/include/webrtc_libyuv.h"
+-#include "modules/rtp_rtcp/include/rtp_rtcp.h"
++#include "media/base/h264_profile_level_id.h"
+ #include "modules/utility/include/process_thread.h"
+-#include "modules/video_coding/frame_object.h"
+-#include "modules/video_coding/include/video_coding.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "modules/video_coding/include/video_coding_defines.h"
++#include "modules/video_coding/include/video_error_codes.h"
+ #include "modules/video_coding/jitter_estimator.h"
+ #include "modules/video_coding/timing.h"
+ #include "modules/video_coding/utility/vp8_header_parser.h"
+@@ -36,6 +42,7 @@
+ #include "rtc_base/logging.h"
+ #include "rtc_base/platform_file.h"
+ #include "rtc_base/strings/string_builder.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
+ #include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream.cc
+@@ -11,10 +11,15 @@
+
+ #include <utility>
+
++#include "api/array_view.h"
+ #include "api/video/video_stream_encoder_create.h"
++#include "api/video/video_stream_encoder_settings.h"
++#include "modules/rtp_rtcp/include/rtp_header_extension_map.h"
+ #include "modules/rtp_rtcp/source/rtp_header_extension_size.h"
+ #include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "rtc_base/checks.h"
+ #include "rtc_base/logging.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+ #include "video/video_send_stream_impl.h"
+
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.cc
+@@ -9,20 +9,30 @@
+ */
+ #include "video/video_send_stream_impl.h"
+
++#include <stdio.h>
+ #include <algorithm>
++#include <cstdint>
+ #include <string>
+ #include <utility>
+
++#include "api/crypto/cryptooptions.h"
++#include "api/rtpparameters.h"
++#include "api/video_codecs/video_codec.h"
+ #include "call/rtp_transport_controller_send_interface.h"
+-#include "modules/pacing/packet_router.h"
+-#include "modules/rtp_rtcp/source/rtp_sender.h"
++#include "call/video_send_stream.h"
++#include "common_types.h" // NOLINT(build/include)
++#include "modules/pacing/paced_sender.h"
++#include "rtc_base/atomicops.h"
+ #include "rtc_base/checks.h"
+ #include "rtc_base/experiments/alr_experiment.h"
+-#include "rtc_base/file.h"
+-#include "rtc_base/location.h"
+ #include "rtc_base/logging.h"
+ #include "rtc_base/numerics/safe_conversions.h"
++#include "rtc_base/scoped_ref_ptr.h"
++#include "rtc_base/sequenced_task_checker.h"
++#include "rtc_base/thread_checker.h"
++#include "rtc_base/timeutils.h"
+ #include "rtc_base/trace_event.h"
++#include "system_wrappers/include/clock.h"
+ #include "system_wrappers/include/field_trial.h"
+
+ namespace webrtc {
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_send_stream_impl.h
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_send_stream_impl.h
+@@ -10,15 +10,32 @@
+ #ifndef VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+ #define VIDEO_VIDEO_SEND_STREAM_IMPL_H_
+
++#include <stddef.h>
++#include <stdint.h>
+ #include <map>
+ #include <memory>
+ #include <vector>
+
++#include "absl/types/optional.h"
++#include "api/fec_controller.h"
++#include "api/video/encoded_image.h"
++#include "api/video/video_bitrate_allocation.h"
+ #include "api/video/video_bitrate_allocator.h"
+ #include "api/video/video_stream_encoder_interface.h"
++#include "api/video_codecs/video_encoder.h"
++#include "api/video_codecs/video_encoder_config.h"
+ #include "call/bitrate_allocator.h"
++#include "call/rtp_config.h"
++#include "call/rtp_transport_controller_send_interface.h"
+ #include "call/rtp_video_sender_interface.h"
++#include "logging/rtc_event_log/rtc_event_log.h"
++#include "modules/include/module_common_types.h"
++#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+ #include "modules/utility/include/process_thread.h"
++#include "modules/video_coding/include/video_codec_interface.h"
++#include "rtc_base/criticalsection.h"
++#include "rtc_base/task_queue.h"
++#include "rtc_base/thread_annotations.h"
+ #include "rtc_base/weak_ptr.h"
+ #include "video/call_stats.h"
+ #include "video/encoder_rtcp_feedback.h"
+Index: chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+===================================================================
+--- chromium-72.0.3626.53.orig/third_party/webrtc/video/video_stream_decoder.cc
++++ chromium-72.0.3626.53/third_party/webrtc/video/video_stream_decoder.cc
+@@ -10,15 +10,9 @@
+
+ #include "video/video_stream_decoder.h"
+
+-#include <algorithm>
+-#include <map>
+-#include <vector>
+-
++#include "modules/video_coding/include/video_coding.h"
+ #include "modules/video_coding/video_coding_impl.h"
+ #include "rtc_base/checks.h"
+-#include "rtc_base/logging.h"
+-#include "system_wrappers/include/metrics.h"
+-#include "video/call_stats.h"
+ #include "video/receive_statistics_proxy.h"
+
+ namespace webrtc {
diff --git a/enable-vaapi.patch b/enable-vaapi.patch
index 1997af3..6e09024 100644
--- a/enable-vaapi.patch
+++ b/enable-vaapi.patch
@@ -1,26 +1,22 @@
-From efdd5bdf093e9074c9eba73650ff5ad95b280ec8 Mon Sep 17 00:00:00 2001
+From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
-Date: Sun, 4 Nov 2018 20:26:54 +0530
-Subject: [PATCH] Enable vaapi on Linux
+Date: Thu, 24 Jan 2019 12:45:29 +0530
+Subject: [PATCH] Enable mojo with VDA2 on Linux
---
- chrome/browser/about_flags.cc | 14 +++++++------
- chrome/browser/flag_descriptions.cc | 22 +++++++++++++-------
- chrome/browser/flag_descriptions.h | 16 +++++++++-----
- components/viz/service/main/viz_main_impl.cc | 2 +-
- content/gpu/BUILD.gn | 6 ++++++
- content/gpu/gpu_main.cc | 4 ++--
- gpu/config/software_rendering_list.json | 11 ----------
- media/base/media_switches.cc | 2 +-
- media/filters/BUILD.gn | 3 ++-
- media/gpu/BUILD.gn | 7 +++++++
- 10 files changed, 52 insertions(+), 35 deletions(-)
+ chrome/browser/about_flags.cc | 8 ++++----
+ chrome/browser/flag_descriptions.cc | 9 +++++++--
+ chrome/browser/flag_descriptions.h | 10 ++++++++--
+ gpu/config/software_rendering_list.json | 3 ++-
+ media/media_options.gni | 9 ++++++---
+ media/mojo/services/gpu_mojo_media_client.cc | 4 ++--
+ 6 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index db54ccb61..f32075fb8 100644
+index 0a84c6ac1..be2aa1d8b 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
-@@ -1797,7 +1797,7 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
"disable-accelerated-video-decode",
flag_descriptions::kAcceleratedVideoDecodeName,
flag_descriptions::kAcceleratedVideoDecodeDescription,
@@ -29,7 +25,7 @@ index db54ccb61..f32075fb8 100644
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
},
#if defined(OS_WIN)
-@@ -2456,12 +2456,12 @@ const FeatureEntry kFeatureEntries[] = {
+@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
#endif // ENABLE_ISOLATED_XR_SERVICE
#endif // ENABLE_VR
@@ -41,80 +37,42 @@ index db54ccb61..f32075fb8 100644
+ flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
-#endif // OS_CHROMEOS
-+#endif // OS_CHROMEOS OS_LINUX
++#endif // OS_CHROMEOS // OS_LINUX
{"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
flag_descriptions::kV8CacheOptionsDescription, kOsAll,
MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-@@ -4371,12 +4371,14 @@ const FeatureEntry kFeatureEntries[] = {
- "AutofillDropdownLayout")},
- #endif // OS_ANDROID
-
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- {"enable-vaapi-jpeg-image-decode-acceleration",
- flag_descriptions::kVaapiJpegImageDecodeAccelerationName,
-- flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS,
-+ flag_descriptions::kVaapiJpegImageDecodeAccelerationDescription, kOsCrOS | kOsLinux,
- FEATURE_VALUE_TYPE(features::kVaapiJpegImageDecodeAcceleration)},
-+#endif
-
-+#if defined(OS_CHROMEOS)
- {"enable-home-launcher-gestures",
- flag_descriptions::kEnableHomeLauncherGesturesName,
- flag_descriptions::kEnableHomeLauncherGesturesDescription, kOsCrOS,
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 6cc51bbfb..3c4babe3d 100644
+index 62637e092..86f89fc6e 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
-@@ -2996,9 +2996,9 @@ const char kTextSuggestionsTouchBarDescription[] =
+@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
#endif
-// Chrome OS -------------------------------------------------------------------
-+// Chrome OS and Linux -------------------------------------------------------------------
++// Chrome OS Linux-------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
const char kAcceleratedMjpegDecodeName[] =
"Hardware-accelerated mjpeg decode for captured frame";
-@@ -3006,6 +3006,18 @@ const char kAcceleratedMjpegDecodeDescription[] =
+ const char kAcceleratedMjpegDecodeDescription[] =
"Enable hardware-accelerated mjpeg decode for captured frame where "
"available.";
-
-+const char kVaapiJpegImageDecodeAccelerationName[] =
-+ "VA-API JPEG decode acceleration for images";
-+const char kVaapiJpegImageDecodeAccelerationDescription[] =
-+ "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-+ " captures) using the VA-API.";
-+
-+#endif // defined(OS_CHROMEOS) defined(OS_LINUX) and !defined(OS_ANDROID)
++#endif
+
-+// Only Chrome OS ------------------------------------------------------
++// Chrome OS --------------------------------------------------
+
+#if defined(OS_CHROMEOS)
-+
+
const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
const char kAllowTouchpadThreeFingerClickDescription[] =
- "Enables touchpad three-finger-click as middle button.";
-@@ -3524,12 +3536,6 @@ const char kUseMonitorColorSpaceDescription[] =
- "Enables Chrome to use the color space information provided by the monitor"
- " instead of the default sRGB color space.";
-
--const char kVaapiJpegImageDecodeAccelerationName[] =
-- "VA-API JPEG decode acceleration for images";
--const char kVaapiJpegImageDecodeAccelerationDescription[] =
-- "Enable or disable decode acceleration of JPEG images (as opposed to camera"
-- " captures) using the VA-API.";
--
- const char kVideoPlayerChromecastSupportName[] =
- "Experimental Chromecast support for Video Player";
- const char kVideoPlayerChromecastSupportDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 944695782..38d8fe144 100644
+index 5dac660bb..6cc4115da 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
-@@ -1824,13 +1824,22 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
+@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
#endif // defined(OS_MACOSX)
@@ -122,171 +80,94 @@ index 944695782..38d8fe144 100644
+// Chrome OS and Linux ------------------------------------------------------------------
-#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
++#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
extern const char kAcceleratedMjpegDecodeName[];
extern const char kAcceleratedMjpegDecodeDescription[];
-+extern const char kVaapiJpegImageDecodeAccelerationName[];
-+extern const char kVaapiJpegImageDecodeAccelerationDescription[];
-+
-+#endif
++#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
+
-+// Chrome OS ----------------------------------------------------------------------
++// Chrome OS ------------------------------------------------------------------------
+
+#if defined(OS_CHROMEOS)
+
extern const char kAllowTouchpadThreeFingerClickName[];
extern const char kAllowTouchpadThreeFingerClickDescription[];
-@@ -2145,9 +2154,6 @@ extern const char kUseMashDescription[];
- extern const char kUseMonitorColorSpaceName[];
- extern const char kUseMonitorColorSpaceDescription[];
-
--extern const char kVaapiJpegImageDecodeAccelerationName[];
--extern const char kVaapiJpegImageDecodeAccelerationDescription[];
--
- extern const char kVideoPlayerChromecastSupportName[];
- extern const char kVideoPlayerChromecastSupportDescription[];
-
-diff --git a/components/viz/service/main/viz_main_impl.cc b/components/viz/service/main/viz_main_impl.cc
-index 6f5f55de7..b90db3738 100644
---- a/components/viz/service/main/viz_main_impl.cc
-+++ b/components/viz/service/main/viz_main_impl.cc
-@@ -41,7 +41,7 @@ std::unique_ptr<base::Thread> CreateAndStartIOThread() {
- // It should be possible to use |main_task_runner_| for doing IO tasks.
- base::Thread::Options thread_options(base::MessageLoop::TYPE_IO, 0);
- thread_options.priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // TODO(reveman): Remove this in favor of setting it explicitly for each
- // type of process.
- thread_options.priority = base::ThreadPriority::DISPLAY;
-diff --git a/content/gpu/BUILD.gn b/content/gpu/BUILD.gn
-index 8974e441d..d7eba85a9 100644
---- a/content/gpu/BUILD.gn
-+++ b/content/gpu/BUILD.gn
-@@ -6,6 +6,7 @@ import("//build/config/jumbo.gni")
- import("//build/config/ui.gni")
- import("//gpu/vulkan/features.gni")
- import("//media/media_options.gni")
-+import("//media/gpu/args.gni")
- import("//ui/ozone/ozone.gni")
-
- # See //content/BUILD.gn for how this works.
-@@ -134,4 +135,9 @@ target(link_target_type, "gpu_sources") {
- (!is_chromecast || is_cast_desktop_build)) {
- configs += [ "//build/config/linux/dri" ]
- }
-+
-+ # Use vaapi on desktop Linux builds when use_vaapi is set
-+ if (is_desktop_linux && use_vaapi) {
-+ public_configs = [ "//media/gpu:libva_config" ]
-+ }
- }
-diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc
-index 8397889b6..188d960a4 100644
---- a/content/gpu/gpu_main.cc
-+++ b/content/gpu/gpu_main.cc
-@@ -284,7 +284,7 @@ int GpuMain(const MainFunctionParams& parameters) {
-
- base::PlatformThread::SetName("CrGpuMain");
-
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- // Set thread priority before sandbox initialization.
- base::PlatformThread::SetCurrentThreadPriority(base::ThreadPriority::DISPLAY);
- #endif
-@@ -317,7 +317,7 @@ int GpuMain(const MainFunctionParams& parameters) {
- GetContentClient()->SetGpuInfo(gpu_init->gpu_info());
-
- base::ThreadPriority io_thread_priority = base::ThreadPriority::NORMAL;
--#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
-+#if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_LINUX)
- io_thread_priority = base::ThreadPriority::DISPLAY;
- #endif
-
diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index cb6118b6a..7b8ea0f75 100644
+index 65f37b3f1..ae8a1718f 100644
--- a/gpu/config/software_rendering_list.json
+++ b/gpu/config/software_rendering_list.json
-@@ -369,17 +369,6 @@
- "all"
- ]
+@@ -371,11 +371,12 @@
},
-- {
-- "id": 48,
-- "description": "Accelerated video decode is unavailable on Linux",
-- "cr_bugs": [137247],
-- "os": {
-- "type": "linux"
-- },
-- "features": [
-- "accelerated_video_decode"
-- ]
-- },
{
- "id": 50,
- "description": "Disable VMware software renderer on older Mesa",
-diff --git a/media/base/media_switches.cc b/media/base/media_switches.cc
-index 41bfa9172..30ca4f40a 100644
---- a/media/base/media_switches.cc
-+++ b/media/base/media_switches.cc
-@@ -495,7 +495,7 @@ bool IsVideoCaptureAcceleratedJpegDecodingEnabled() {
- switches::kUseFakeJpegDecodeAccelerator)) {
- return true;
- }
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
- return true;
- #endif
- return false;
-diff --git a/media/filters/BUILD.gn b/media/filters/BUILD.gn
-index d558b537a..9ad090e07 100644
---- a/media/filters/BUILD.gn
-+++ b/media/filters/BUILD.gn
+ "id": 48,
+- "description": "Accelerated video decode is unavailable on Linux",
++ "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
+ "cr_bugs": [137247],
+ "os": {
+ "type": "linux"
+ },
++ "vendor_id": "0x10de",
+ "features": [
+ "accelerated_video_decode"
+ ]
+diff --git a/media/media_options.gni b/media/media_options.gni
+index 46eaa5818..6e338f651 100644
+--- a/media/media_options.gni
++++ b/media/media_options.gni
@@ -5,6 +5,7 @@
- import("//build/config/jumbo.gni")
- import("//media/media_options.gni")
- import("//third_party/libaom/options.gni")
+ import("//build/config/chrome_build.gni")
+ import("//build/config/chromecast_build.gni")
+ import("//build/config/features.gni")
+import("//media/gpu/args.gni")
-
- jumbo_source_set("filters") {
- # Do not expand the visibility here without double-checking with OWNERS, this
-@@ -200,7 +201,7 @@ jumbo_source_set("filters") {
- deps += [ "//media/base/android" ]
- }
-
-- if (current_cpu != "arm" && is_linux) {
-+ if (use_vaapi && is_linux) {
- sources += [
- "h264_bitstream_buffer.cc",
- "h264_bitstream_buffer.h",
-diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn
-index 07bfdefda..7e33cd747 100644
---- a/media/gpu/BUILD.gn
-+++ b/media/gpu/BUILD.gn
-@@ -508,6 +508,12 @@ if (use_v4l2_codec || use_vaapi || is_mac || is_win) {
- }
- }
-
-+import("//build/config/linux/pkg_config.gni")
-+
-+pkg_config("libva_config") {
-+ packages = [ "libva" ]
-+}
-+
- if (use_vaapi) {
- test("jpeg_encode_accelerator_unittest") {
- deps = [
-@@ -578,6 +584,7 @@ if (is_chromeos || is_linux) {
- if (use_ozone) {
- deps += [ "//ui/ozone" ]
+ import("//testing/libfuzzer/fuzzer_test.gni")
+
+ # Do not expand this list without double-checking with OWNERS, this is a list of
+@@ -129,8 +130,9 @@ declare_args() {
+ # |mojo_media_services|). When enabled, selected mojo paths will be enabled in
+ # the media pipeline and corresponding services will hosted in the selected
+ # remote process (e.g. "utility" process, see |mojo_media_host|).
+- enable_mojo_media = is_android || is_chromecast || is_chromeos || is_mac ||
+- is_win || enable_library_cdms
++ enable_mojo_media =
++ is_android || is_chromecast || is_chromeos || is_mac || is_win ||
++ enable_library_cdms || (is_desktop_linux && use_vaapi)
+
+ # Enable the TestMojoMediaClient to be used in mojo MediaService. This is for
+ # testing only and will override the default platform MojoMediaClient, if any.
+@@ -200,7 +202,8 @@ if (enable_mojo_media) {
+ ]
+ _default_mojo_media_host = "gpu"
}
-+ public_configs = [ ":libva_config" ]
+- } else if (is_chromeos || is_mac || is_win) {
++ } else if (is_chromeos || is_mac || is_win ||
++ (is_desktop_linux && use_vaapi)) {
+ _default_mojo_media_services = [ "video_decoder" ]
+ _default_mojo_media_host = "gpu"
}
- }
-
+diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc
+index 75f5e611c..09a8fef92 100644
+--- a/media/mojo/services/gpu_mojo_media_client.cc
++++ b/media/mojo/services/gpu_mojo_media_client.cc
+@@ -54,7 +54,7 @@ namespace media {
+ namespace {
+
+ #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \
+- defined(OS_WIN)
++ defined(OS_WIN) || defined(OS_LINUX)
+ gpu::CommandBufferStub* GetCommandBufferStub(
+ base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager,
+ base::UnguessableToken channel_token,
+@@ -148,7 +148,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::CreateVideoDecoder(
+ android_overlay_factory_cb_, std::move(request_overlay_info_cb),
+ std::make_unique<VideoFrameFactoryImpl>(gpu_task_runner_,
+ std::move(get_stub_cb)));
+-#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN)
++#elif defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)
+ std::unique_ptr<VideoDecoder> vda_video_decoder = VdaVideoDecoder::Create(
+ task_runner, gpu_task_runner_, media_log->Clone(), target_color_space,
+ gpu_preferences_, gpu_workarounds_,
--
-2.19.2
+2.20.1
diff --git a/fixvaapiozone.patch b/fixvaapiozone.patch
new file mode 100644
index 0000000..dea5cf4
--- /dev/null
+++ b/fixvaapiozone.patch
@@ -0,0 +1,33 @@
+From 0fba13c7fb502568c38de99ba41719c7b4e4fd9d Mon Sep 17 00:00:00 2001
+From: Maksim Sisov <msisov(a)igalia.com>
+Date: Tue, 15 Jan 2019 10:23:13 +0200
+Subject: [PATCH] [ozone/wayland]: fix vaapi build.
+
+This is a fix to fix vaapi build with ozone wayland. It's not
+tested, but requested by external.
+
+Issue: https://github.com/Igalia/chromium/issues/511
+Change-Id: Id3cf0702e9ea6c93fef0f99c23029ab2b1b291d2
+---
+ media/gpu/vaapi/BUILD.gn | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn
+index cf471b7feb856..1c66745954048 100644
+--- a/media/gpu/vaapi/BUILD.gn
++++ b/media/gpu/vaapi/BUILD.gn
+@@ -88,12 +88,12 @@ source_set("vaapi") {
+ ]
+ }
+
+- if (ozone_platform_gbm || use_egl) {
++ if (ozone_platform_wayland || ozone_platform_gbm || use_egl) {
+ sources += [
+ "vaapi_picture_native_pixmap.cc",
+ "vaapi_picture_native_pixmap.h",
+ ]
+- if (ozone_platform_gbm) {
++ if (ozone_platform_gbm || ozone_platform_wayland) {
+ sources += [
+ "vaapi_picture_native_pixmap_ozone.cc",
+ "vaapi_picture_native_pixmap_ozone.h",
diff --git a/gn-gold.patch b/gn-gold.patch
new file mode 100644
index 0000000..9b010bd
--- /dev/null
+++ b/gn-gold.patch
@@ -0,0 +1,24 @@
+From 5f5d6cf6508f4d6ad98c24d73f38755a07ec8da4 Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Tue, 5 Feb 2019 14:46:38 +0530
+Subject: [PATCH] Use gold in gn bootstrap
+
+---
+ tools/gn/build/gen.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tools/gn/build/gen.py b/tools/gn/build/gen.py
+index ee4f8e146..3d866df2e 100755
+--- a/tools/gn/build/gen.py
++++ b/tools/gn/build/gen.py
+@@ -317,6 +317,7 @@ def WriteGNNinja(path, platform, host, options):
+ ldflags.extend([
+ '-static-libstdc++',
+ '-Wl,--as-needed',
++ '-fuse-ld=gold',
+ ])
+ libs.extend([
+ # These are needed by libc++.
+--
+2.20.1
+
diff --git a/nounrar.patch b/nounrar.patch
index d4e680c..698c7e9 100644
--- a/nounrar.patch
+++ b/nounrar.patch
@@ -1,119 +1,78 @@
-From 136a79606fb83485e6c10257bb2e970d306c6f5f Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <biswasab(a)akarshans-desk.biswasab.org>
-Date: Thu, 6 Dec 2018 12:53:47 +0530
-Subject: [PATCH] Don't use unrar
-
----
- .../check_client_download_request.cc | 69 -------------------
- .../check_client_download_request.h | 1 -
- chrome/common/safe_browsing/BUILD.gn | 2 -
- chrome/services/file_util/public/cpp/BUILD.gn | 3 -
- .../public/mojom/safe_archive_analyzer.mojom | 5 --
- .../file_util/safe_archive_analyzer.cc | 9 ---
- .../file_util/safe_archive_analyzer.h | 2 -
- 7 files changed, 91 deletions(-)
-
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-index d1413bb1d..ec337e92c 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.cc
-@@ -380,10 +380,6 @@ void CheckClientDownloadRequest::AnalyzeFile() {
- // are enabled.
- if (item_->GetTargetFilePath().MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
+diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+index af72d11371e1..472cb0098d5e 100644
+--- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
++++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
+@@ -22,7 +22,6 @@
+ #include "chrome/browser/safe_browsing/safe_browsing_navigation_observer_manager.h"
+ #include "chrome/browser/safe_browsing/ui_manager.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/download/public/common/download_item.h"
+ #include "components/history/core/browser/history_service.h"
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+index f46d4ed23669..05b9a5c5071a 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.cc
+@@ -94,8 +94,6 @@ void FileAnalyzer::Start(const base::FilePath& target_path,
+
+ if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".zip"))) {
StartExtractZipFeatures();
-- } else if (item_->GetTargetFilePath().MatchesExtension(
-- FILE_PATH_LITERAL(".rar")) &&
-- base::FeatureList::IsEnabled(kInspectDownloadedRarFiles)) {
+- } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".rar"))) {
- StartExtractRarFeatures();
#if defined(OS_MACOSX)
- } else if (item_->GetTargetFilePath().MatchesExtension(
- FILE_PATH_LITERAL(".dmg")) ||
-@@ -500,71 +496,6 @@ void CheckClientDownloadRequest::ExtractFileFeatures(
- OnFileFeatureExtractionDone();
+ } else if (target_path_.MatchesExtension(FILE_PATH_LITERAL(".dmg")) ||
+ target_path_.MatchesExtension(FILE_PATH_LITERAL(".img")) ||
+@@ -211,6 +209,7 @@ void FileAnalyzer::OnZipAnalysisFinished(
+ std::move(callback_).Run(std::move(results_));
}
--void CheckClientDownloadRequest::StartExtractRarFeatures() {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- DCHECK(item_); // Called directly from Start(), item should still exist.
-- rar_analysis_start_time_ = base::TimeTicks::Now();
-- // We give the rar analyzer a weak pointer to this object. Since the
-- // analyzer is refcounted, it might outlive the request.
-- rar_analyzer_ = new SandboxedRarAnalyzer(
-- item_->GetFullPath(),
-- base::BindRepeating(&CheckClientDownloadRequest::OnRarAnalysisFinished,
-- weakptr_factory_.GetWeakPtr()),
-- content::ServiceManagerConnection::GetForProcess()->GetConnector());
-- rar_analyzer_->Start();
--}
--
--void CheckClientDownloadRequest::OnRarAnalysisFinished(
-- const ArchiveAnalyzerResults& results) {
-- DCHECK_CURRENTLY_ON(BrowserThread::UI);
-- if (item_ == nullptr) {
-- PostFinishTask(DownloadCheckResult::UNKNOWN, REASON_REQUEST_CANCELED);
-- return;
-- }
-- if (!service_)
-- return;
--
-- archive_is_valid_ =
-- (results.success ? ArchiveValid::VALID : ArchiveValid::INVALID);
-- archived_executable_ = results.has_executable;
-- CopyArchivedBinaries(results.archived_binary, &archived_binaries_);
-- DVLOG(1) << "Rar analysis finished for " << item_->GetFullPath().value()
-- << ", has_executable=" << results.has_executable
-- << ", has_archive=" << results.has_archive
-- << ", success=" << results.success;
--
-- if (archived_executable_) {
-- UMA_HISTOGRAM_COUNTS_100("SBClientDownload.RarFileArchivedBinariesCount",
-- results.archived_binary.size());
-- }
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileSuccess", results.success);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasExecutable",
-- archived_executable_);
-- UMA_HISTOGRAM_BOOLEAN("SBClientDownload.RarFileHasArchiveButNoExecutable",
-- results.has_archive && !archived_executable_);
-- UMA_HISTOGRAM_TIMES("SBClientDownload.ExtractRarFeaturesTime",
-- base::TimeTicks::Now() - rar_analysis_start_time_);
-- for (const auto& file_name : results.archived_archive_filenames)
-- RecordArchivedArchiveFileExtensionType(file_name);
--
-- if (!archived_executable_) {
-- if (results.has_archive) {
-- type_ = ClientDownloadRequest::RAR_COMPRESSED_ARCHIVE;
-- } else if (!results.success) {
-- // .rar files that look invalid to Chrome may be successfully unpacked by
-- // other archive tools, so they may be a real threat.
-- type_ = ClientDownloadRequest::INVALID_RAR;
-- } else {
-- // Normal rar w/o EXEs, or invalid rar and not extended-reporting.
-- PostFinishTask(DownloadCheckResult::UNKNOWN,
-- REASON_ARCHIVE_WITHOUT_BINARIES);
-- return;
-- }
-- }
--
-- OnFileFeatureExtractionDone();
--}
--
- void CheckClientDownloadRequest::StartExtractZipFeatures() {
++#if 0
+ void FileAnalyzer::StartExtractRarFeatures() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
- DCHECK(item_); // Called directly from Start(), item should still exist.
-diff --git a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-index ae0f6fbe4..b74dde031 100644
---- a/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-+++ b/chrome/browser/safe_browsing/download_protection/check_client_download_request.h
-@@ -148,7 +148,6 @@ class CheckClientDownloadRequest
- scoped_refptr<SafeBrowsingDatabaseManager> database_manager_;
- const bool pingback_enabled_;
- std::unique_ptr<network::SimpleURLLoader> loader_;
-- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+
+@@ -267,6 +266,7 @@ void FileAnalyzer::OnRarAnalysisFinished(
+
+ std::move(callback_).Run(std::move(results_));
+ }
++#endif
+
+ #if defined(OS_MACOSX)
+ // This is called for .DMGs and other files that can be parsed by
+diff --git a/chrome/browser/safe_browsing/download_protection/file_analyzer.h b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+index a1f5abf77f5c..6e88eb7954ad 100644
+--- a/chrome/browser/safe_browsing/download_protection/file_analyzer.h
++++ b/chrome/browser/safe_browsing/download_protection/file_analyzer.h
+@@ -11,7 +11,6 @@
+ #include "base/memory/weak_ptr.h"
+ #include "build/build_config.h"
+ #include "chrome/common/safe_browsing/binary_feature_extractor.h"
+-#include "chrome/services/file_util/public/cpp/sandboxed_rar_analyzer.h"
+ #include "chrome/services/file_util/public/cpp/sandboxed_zip_analyzer.h"
+ #include "components/safe_browsing/proto/csd.pb.h"
+ #include "third_party/protobuf/src/google/protobuf/repeated_field.h"
+@@ -88,9 +87,6 @@ class FileAnalyzer {
+ void StartExtractZipFeatures();
+ void OnZipAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+
+- void StartExtractRarFeatures();
+- void OnRarAnalysisFinished(const ArchiveAnalyzerResults& archive_results);
+-
+ #if defined(OS_MACOSX)
+ void StartExtractDmgFeatures();
+ void ExtractFileOrDmgFeatures(bool download_file_has_koly_signature);
+@@ -107,9 +103,6 @@ class FileAnalyzer {
scoped_refptr<SandboxedZipAnalyzer> zip_analyzer_;
- base::TimeTicks rar_analysis_start_time_;
base::TimeTicks zip_analysis_start_time_;
+
+- scoped_refptr<SandboxedRarAnalyzer> rar_analyzer_;
+- base::TimeTicks rar_analysis_start_time_;
+-
+ #if defined(OS_MACOSX)
+ scoped_refptr<SandboxedDMGAnalyzer> dmg_analyzer_;
+ base::TimeTicks dmg_analysis_start_time_;
diff --git a/chrome/common/safe_browsing/BUILD.gn b/chrome/common/safe_browsing/BUILD.gn
-index f971c742a..33f7c9d31 100644
+index b93eeaeb7e87..7f2f94c6e377 100644
--- a/chrome/common/safe_browsing/BUILD.gn
+++ b/chrome/common/safe_browsing/BUILD.gn
@@ -68,7 +68,6 @@ if (safe_browsing_mode == 1) {
@@ -124,16 +83,39 @@ index f971c742a..33f7c9d31 100644
]
defines = [
-@@ -136,7 +135,6 @@ source_set("safe_browsing") {
+@@ -150,7 +149,6 @@ source_set("safe_browsing") {
deps += [
":archive_analyzer_results",
- ":download_protection_util",
+ ":download_type_util",
- ":rar_analyzer",
"//components/safe_browsing:features",
]
+diff --git a/chrome/common/safe_browsing/DEPS b/chrome/common/safe_browsing/DEPS
+index c191816456b0..49076ee372c0 100644
+--- a/chrome/common/safe_browsing/DEPS
++++ b/chrome/common/safe_browsing/DEPS
+@@ -1,6 +1,5 @@
+ include_rules = [
+ "+components/safe_browsing",
+ "+third_party/protobuf",
+- "+third_party/unrar",
+ "+third_party/zlib",
+ ]
+diff --git a/chrome/common/safe_browsing/rar_analyzer.cc b/chrome/common/safe_browsing/rar_analyzer.cc
+index 996c0164ef7f..915f7f93d50b 100644
+--- a/chrome/common/safe_browsing/rar_analyzer.cc
++++ b/chrome/common/safe_browsing/rar_analyzer.cc
+@@ -13,7 +13,6 @@
+ #include "chrome/common/safe_browsing/archive_analyzer_results.h"
+ #include "chrome/common/safe_browsing/download_type_util.h"
+ #include "chrome/common/safe_browsing/file_type_policies.h"
+-#include "third_party/unrar/src/unrar_wrapper.h"
+
+ namespace safe_browsing {
+ namespace rar_analyzer {
diff --git a/chrome/services/file_util/public/cpp/BUILD.gn b/chrome/services/file_util/public/cpp/BUILD.gn
-index 158cbfc6d..6d8b0df7c 100644
+index 158cbfc6d157..6d8b0df7c59e 100644
--- a/chrome/services/file_util/public/cpp/BUILD.gn
+++ b/chrome/services/file_util/public/cpp/BUILD.gn
@@ -14,8 +14,6 @@ source_set("cpp") {
@@ -154,7 +136,7 @@ index 158cbfc6d..6d8b0df7c 100644
]
diff --git a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
-index 6983f7b41..15d5aaba3 100644
+index 6983f7b415d4..15d5aaba3657 100644
--- a/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
+++ b/chrome/services/file_util/public/mojom/safe_archive_analyzer.mojom
@@ -22,11 +22,6 @@ interface SafeArchiveAnalyzer {
@@ -170,7 +152,7 @@ index 6983f7b41..15d5aaba3 100644
[Native]
diff --git a/chrome/services/file_util/safe_archive_analyzer.cc b/chrome/services/file_util/safe_archive_analyzer.cc
-index a13b42b19..db49c37b9 100644
+index a13b42b197b3..db49c37b9b49 100644
--- a/chrome/services/file_util/safe_archive_analyzer.cc
+++ b/chrome/services/file_util/safe_archive_analyzer.cc
@@ -44,12 +44,3 @@ void SafeArchiveAnalyzer::AnalyzeDmgFile(base::File dmg_file,
@@ -187,7 +169,7 @@ index a13b42b19..db49c37b9 100644
- std::move(callback).Run(results);
-}
diff --git a/chrome/services/file_util/safe_archive_analyzer.h b/chrome/services/file_util/safe_archive_analyzer.h
-index f21efa6f5..2eda4f378 100644
+index f21efa6f57ba..2eda4f378bcc 100644
--- a/chrome/services/file_util/safe_archive_analyzer.h
+++ b/chrome/services/file_util/safe_archive_analyzer.h
@@ -25,8 +25,6 @@ class SafeArchiveAnalyzer : public chrome::mojom::SafeArchiveAnalyzer {
@@ -199,6 +181,3 @@ index f21efa6f5..2eda4f378 100644
const std::unique_ptr<service_manager::ServiceContextRef> service_ref_;
---
-2.19.2
-
diff --git a/sources b/sources
index 2d5eabb..c03e537 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-d0f3540a8d6966d7ec04892738060635 chromium-71.0.3578.98.tar.xz
+ac57ccbec0aceee41101ac1255b3c14b chromium-72.0.3626.81.tar.xz
diff --git a/system-gbm.patch b/system-gbm.patch
new file mode 100644
index 0000000..f679143
--- /dev/null
+++ b/system-gbm.patch
@@ -0,0 +1,229 @@
+From 505eaf5774a2d39cd703ba2cb91fb670683c0b8e Mon Sep 17 00:00:00 2001
+From: Akarshan Biswas <akarshan.biswas(a)gmail.com>
+Date: Fri, 28 Dec 2018 13:58:59 +0530
+Subject: [PATCH] TEST:Make gbm_wrapper to be compiled
+
+---
+ ui/ozone/common/linux/gbm_wrapper.cc | 157 +++++++++++++++++++++------
+ 1 file changed, 124 insertions(+), 33 deletions(-)
+
+diff --git a/ui/ozone/common/linux/gbm_wrapper.cc b/ui/ozone/common/linux/gbm_wrapper.cc
+index ba55b0e56..2705f9b1c 100644
+--- a/ui/ozone/common/linux/gbm_wrapper.cc
++++ b/ui/ozone/common/linux/gbm_wrapper.cc
+@@ -4,7 +4,9 @@
+
+ #include "ui/ozone/common/linux/gbm_wrapper.h"
+
++#include <fcntl.h>
+ #include <gbm.h>
++#include <xf86drm.h>
+
+ #include "base/posix/eintr_wrapper.h"
+ #include "third_party/skia/include/core/SkSurface.h"
+@@ -15,6 +17,86 @@
+
+ namespace gbm_wrapper {
+
++namespace {
++
++// Temporary defines while we migrate to GBM_BO_IMPORT_FD_MODIFIER.
++#define GBM_BO_IMPORT_FD_PLANAR_5504 0x5504
++#define GBM_BO_IMPORT_FD_PLANAR_5505 0x5505
++
++// Minigbm and system linux gbm have some differences. There is no clear way how
++// to distinguish linux gbm (Mesa, basically) and minigbm, which can be both
++// third_party and minigbm. Thus, use GBM_BO_IMPORT_FD_PLANAR define to
++// identify, which gbm is used.
++#if defined(GBM_BO_IMPORT_FD_PLANAR)
++// There are some methods, which require knowing whether minigbm is used or not.
++#ifndef USING_MINIGBM
++#define USING_MINIGBM
++#endif // USING_MINIGBM
++// Minigbm and system linux gbm have alike gbm_bo_import* structures, but some
++// of the data variables have different type.
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_planar_data;
++#else
++using gbm_bo_import_fd_data_with_modifier = struct gbm_import_fd_modifier_data;
++#endif
++
++void InitializeImportData(uint32_t format,
++ const gfx::Size& size,
++ const std::vector<base::ScopedFD>& fds,
++ const std::vector<gfx::NativePixmapPlane>& planes,
++ gbm_bo_import_fd_data_with_modifier* fd_data) {
++ fd_data->width = size.width();
++ fd_data->height = size.height();
++ fd_data->format = format;
++
++ DCHECK_LE(planes.size(), 3u);
++ for (size_t i = 0; i < planes.size(); ++i) {
++ fd_data->fds[i] = fds[i < fds.size() ? i : 0].get();
++ fd_data->strides[i] = planes[i].stride;
++ fd_data->offsets[i] = planes[i].offset;
++#if defined(USING_MINIGBM)
++ fd_data->format_modifiers[i] = planes[i].modifier;
++#else
++ fd_data->modifier = planes[i].modifier;
++#endif
++ }
++}
++
++int GetPlaneFdForBo(gbm_bo* bo, size_t plane) {
++ DCHECK(plane < gbm_bo_get_plane_count(bo));
++
++ // System linux gbm (or Mesa gbm) does not provide fds per plane basis. Thus,
++ // get plane handle and use drm ioctl to get a prime fd out of it avoid having
++ // two different branches for minigbm and Mesa gbm here.
++ gbm_device* gbm_dev = gbm_bo_get_device(bo);
++ int dev_fd = gbm_device_get_fd(gbm_dev);
++ if (dev_fd <= 0) {
++ LOG(ERROR) << "Unable to get device fd";
++ return -1;
++ }
++
++ const uint32_t plane_handle = gbm_bo_get_handle_for_plane(bo, plane).u32;
++ int fd = -1;
++ int ret;
++ // Use DRM_RDWR to allow the fd to be mappable in another process.
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC | DRM_RDWR, &fd);
++
++ // Older DRM implementations blocked DRM_RDWR, but gave a read/write mapping
++ // anyways
++ if (ret)
++ ret = drmPrimeHandleToFD(dev_fd, plane_handle, DRM_CLOEXEC, &fd);
++
++ return ret ? ret : fd;
++}
++
++size_t GetSizeOfPlane(gbm_bo* bo, size_t plane) {
++ // System linux gbm (or Mesa gbm) does not provide plane size. Thus, calculate
++ // it by ourselves and avoid having two different branches for minigbm and
++ // Mesa gbm here.
++ return gbm_bo_get_height(bo) * gbm_bo_get_stride_for_plane(bo, plane);
++}
++
++} // namespace
++
+ class Buffer final : public ui::GbmBuffer {
+ public:
+ Buffer(struct gbm_bo* bo,
+@@ -76,7 +158,7 @@ class Buffer final : public ui::GbmBuffer {
+ }
+ uint32_t GetPlaneHandle(size_t plane) const override {
+ DCHECK_LT(plane, planes_.size());
+- return gbm_bo_get_plane_handle(bo_, plane).u32;
++ return gbm_bo_get_handle_for_plane(bo_, plane).u32;
+ }
+ uint32_t GetHandle() const override { return gbm_bo_get_handle(bo_).u32; }
+ gfx::NativePixmapHandle ExportHandle() const override {
+@@ -106,7 +188,12 @@ class Buffer final : public ui::GbmBuffer {
+ uint32_t stride;
+ void* addr;
+ addr = gbm_bo_map(bo_, 0, 0, gbm_bo_get_width(bo_), gbm_bo_get_height(bo_),
+- GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_, 0);
++ GBM_BO_TRANSFER_READ_WRITE, &stride, &mmap_data_
++#if defined(USING_MINIGBM)
++ ,
++ 0
++#endif
++ );
+
+ if (!addr)
+ return nullptr;
+@@ -147,11 +234,18 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ std::vector<base::ScopedFD> fds;
+ std::vector<gfx::NativePixmapPlane> planes;
+
+- const uint64_t modifier = gbm_bo_get_format_modifier(bo);
+- for (size_t i = 0; i < gbm_bo_get_num_planes(bo); ++i) {
++ const uint64_t modifier = gbm_bo_get_modifier(bo);
++ const int plane_count = gbm_bo_get_plane_count(bo);
++ // The Mesa's gbm implementation explicitly checks whether plane count <= and
++ // returns 1 if the condition is true. Nevertheless, use a DCHECK here to make
++ // sure the condition is not broken there.
++ DCHECK(plane_count > 0);
++ // Ensure there are no differences in integer signs by casting any possible
++ // values to size_t.
++ for (size_t i = 0; i < static_cast<size_t>(plane_count); ++i) {
+ // The fd returned by gbm_bo_get_fd is not ref-counted and need to be
+ // kept open for the lifetime of the buffer.
+- base::ScopedFD fd(gbm_bo_get_plane_fd(bo, i));
++ base::ScopedFD fd(GetPlaneFdForBo(bo, i));
+
+ // TODO(dcastagna): support multiple fds.
+ // crbug.com/642410
+@@ -164,9 +258,9 @@ std::unique_ptr<Buffer> CreateBufferForBO(struct gbm_bo* bo,
+ fds.emplace_back(std::move(fd));
+ }
+
+- planes.emplace_back(gbm_bo_get_plane_stride(bo, i),
+- gbm_bo_get_plane_offset(bo, i),
+- gbm_bo_get_plane_size(bo, i), modifier);
++ planes.emplace_back(gbm_bo_get_stride_for_plane(bo, i),
++ gbm_bo_get_offset(bo, i), GetSizeOfPlane(bo, i),
++ modifier);
+ }
+ return std::make_unique<Buffer>(bo, format, flags, modifier, std::move(fds),
+ size, std::move(planes));
+@@ -213,35 +307,32 @@ class Device final : public ui::GbmDevice {
+ DCHECK_EQ(planes[0].offset, 0);
+
+ // Try to use scanout if supported.
+- int gbm_flags = GBM_BO_USE_SCANOUT | GBM_BO_USE_TEXTURING;
++ int gbm_flags = GBM_BO_USE_SCANOUT;
++#if defined(USING_MINIGBM)
++ gbm_flags |= GBM_BO_USE_TEXTURING;
++#endif
+ if (!gbm_device_is_format_supported(device_, format, gbm_flags))
+ gbm_flags &= ~GBM_BO_USE_SCANOUT;
+
+ struct gbm_bo* bo = nullptr;
+- if (!gbm_device_is_format_supported(device_, format, gbm_flags)) {
+- LOG(ERROR) << "gbm format not supported: " << format;
+- return nullptr;
+- }
+-
+- struct gbm_import_fd_planar_data fd_data;
+- fd_data.width = size.width();
+- fd_data.height = size.height();
+- fd_data.format = format;
+-
+- DCHECK_LE(planes.size(), 3u);
+- for (size_t i = 0; i < planes.size(); ++i) {
+- fd_data.fds[i] = fds[i < fds.size() ? i : 0].get();
+- fd_data.strides[i] = planes[i].stride;
+- fd_data.offsets[i] = planes[i].offset;
+- fd_data.format_modifiers[i] = planes[i].modifier;
+- }
+-
+- // The fd passed to gbm_bo_import is not ref-counted and need to be
+- // kept open for the lifetime of the buffer.
+- bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR, &fd_data, gbm_flags);
+- if (!bo) {
+- LOG(ERROR) << "nullptr returned from gbm_bo_import";
+- return nullptr;
++ if (gbm_device_is_format_supported(device_, format, gbm_flags)) {
++ gbm_bo_import_fd_data_with_modifier fd_data;
++ InitializeImportData(format, size, fds, planes, &fd_data);
++
++ // The fd passed to gbm_bo_import is not ref-counted and need to be
++ // kept open for the lifetime of the buffer.
++ //
++ // See the comment regarding the GBM_BO_IMPORT_FD_PLANAR_550X above.
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5505, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ bo = gbm_bo_import(device_, GBM_BO_IMPORT_FD_PLANAR_5504, &fd_data,
++ gbm_flags);
++ if (!bo) {
++ LOG(ERROR) << "nullptr returned from gbm_bo_import";
++ return nullptr;
++ }
++ }
+ }
+
+ return std::make_unique<Buffer>(bo, format, gbm_flags, planes[0].modifier,
+--
+2.20.1
+
5 years, 9 months
[simplescreenrecorder/el7: 2/2] Merge branch 'master' into el7
by Vasiliy Glazov
commit 6986cd6c3d13f1af598574c98acb68feb55cf70f
Merge: a2818c8 2ce68af
Author: Vasiliy Glazov <v.glazov(a)javad.com>
Date: Tue Feb 5 09:23:23 2019 +0300
Merge branch 'master' into el7
0001-Fix-libssr-glinject.so-preload-path.patch | 26 ++++++++++++++++++++++++++
simplescreenrecorder.spec | 8 ++++++--
2 files changed, 32 insertions(+), 2 deletions(-)
---
5 years, 9 months