Break rtp_rtcp_format out of rtp_rtcp, to resolve circular dependencies
BUG=webrtc:8111
patch from issue 3011233002 at patchset 1 (http://crrev.com/3011233002#ps1)
Review-Url: https://codereview.webrtc.org/3014463002
Cr-Original-Commit-Position: refs/heads/master@{#19801}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 09f4481173c9bf7a96e8e7a190cf685d7fea0178
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) {