diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index a5b0d30..261446c 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -8,21 +8,48 @@
 
 import("../../webrtc.gni")
 
+rtc_source_set("rtp_rtcp_format") {
+  sources = [
+    "include/rtp_cvo.h",
+    "include/rtp_header_extension_map.h",
+    "include/rtp_rtcp_defines.h",
+    "source/byte_io.h",
+    "source/rtp_header_extension_map.cc",
+    "source/rtp_header_extensions.cc",
+    "source/rtp_header_extensions.h",
+    "source/rtp_packet.cc",
+    "source/rtp_packet.h",
+    "source/rtp_packet_received.cc",
+    "source/rtp_packet_received.h",
+    "source/rtp_packet_to_send.h",
+  ]
+
+  deps = [
+    "..:module_api",
+    "../..:webrtc_common",
+    "../../api:array_view",
+    "../../api:libjingle_peerconnection_api",
+    "../../api:optional",
+    "../../common_video",
+    "../../rtc_base:rtc_base_approved",
+    "../../system_wrappers",
+  ]
+
+  # TODO(crbug.com/webrtc/1348): Fix this warning.
+  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+}
+
 rtc_static_library("rtp_rtcp") {
   sources = [
     "include/flexfec_receiver.h",
     "include/flexfec_sender.h",
     "include/receive_statistics.h",
     "include/remote_ntp_time_estimator.h",
-    "include/rtp_cvo.h",
-    "include/rtp_header_extension_map.h",
     "include/rtp_header_parser.h",
     "include/rtp_payload_registry.h",
     "include/rtp_receiver.h",
     "include/rtp_rtcp.h",
-    "include/rtp_rtcp_defines.h",
     "include/ulpfec_receiver.h",
-    "source/byte_io.h",
     "source/dtmf_queue.cc",
     "source/dtmf_queue.h",
     "source/fec_private_tables_bursty.h",
@@ -110,17 +137,9 @@
     "source/rtp_format_vp8.h",
     "source/rtp_format_vp9.cc",
     "source/rtp_format_vp9.h",
-    "source/rtp_header_extension_map.cc",
-    "source/rtp_header_extensions.cc",
-    "source/rtp_header_extensions.h",
     "source/rtp_header_parser.cc",
-    "source/rtp_packet.cc",
-    "source/rtp_packet.h",
     "source/rtp_packet_history.cc",
     "source/rtp_packet_history.h",
-    "source/rtp_packet_received.cc",
-    "source/rtp_packet_received.h",
-    "source/rtp_packet_to_send.h",
     "source/rtp_payload_registry.cc",
     "source/rtp_receiver_audio.cc",
     "source/rtp_receiver_audio.h",
@@ -183,6 +202,10 @@
     "../remote_bitrate_estimator",
   ]
 
+  public_deps = [
+    ":rtp_rtcp_format",
+  ]
+
   # TODO(jschuh): Bug 1348: fix this warning.
   configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
 
diff --git a/modules/rtp_rtcp/source/rtp_header_extension_map.cc b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
index d65b11d..3d48ef0 100644
--- a/modules/rtp_rtcp/source/rtp_header_extension_map.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
@@ -11,7 +11,6 @@
 #include "webrtc/modules/rtp_rtcp/include/rtp_header_extension_map.h"
 
 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
-#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
 #include "webrtc/rtc_base/arraysize.h"
 #include "webrtc/rtc_base/checks.h"
 #include "webrtc/rtc_base/logging.h"
@@ -19,8 +18,6 @@
 namespace webrtc {
 namespace {
 
-using RtpUtility::Word32Align;
-
 struct ExtensionInfo {
   RTPExtensionType type;
   const char* uri;
@@ -102,7 +99,10 @@
   }
   if (values_size == 0)
     return 0;
-  return Word32Align(kRtpOneByteHeaderLength + values_size);
+  size_t size = kRtpOneByteHeaderLength + values_size;
+  // Round up to the nearest size that is a multiple of 4.
+  // Which is same as round down (size + 3).
+  return size + 3 - (size + 3) % 4;
 }
 
 int32_t RtpHeaderExtensionMap::Deregister(RTPExtensionType type) {
