New target for api/rtp_parameters.h and api/media_types.h.
The new target does not depend on libjingle_peerconnection_api, and to
do this, the named "audio" and "video" string literals had to be moved from
media_stream_interface.cc to media_types.cc.
In this cl, the dependency on libjingle_peerconnection_api can be
dropped from a few targets.
No-Presubmit: True
Bug: webrtc:8733
Change-Id: Icc675280d5c3c537f2255a9389ff18a482049921
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/53861
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28998}
diff --git a/api/BUILD.gn b/api/BUILD.gn
index 68bb3d1..d55fe52 100644
--- a/api/BUILD.gn
+++ b/api/BUILD.gn
@@ -134,8 +134,6 @@
"media_transport_config.h",
"media_transport_interface.cc",
"media_transport_interface.h",
- "media_types.cc",
- "media_types.h",
"notifier.h",
"peer_connection_factory_proxy.h",
"peer_connection_interface.cc",
@@ -145,8 +143,6 @@
"proxy.h",
"rtc_error.cc",
"rtc_error.h",
- "rtp_parameters.cc",
- "rtp_parameters.h",
"rtp_receiver_interface.cc",
"rtp_receiver_interface.h",
"rtp_sender_interface.cc",
@@ -222,6 +218,7 @@
":fec_controller_api",
":libjingle_peerconnection_api",
":network_state_predictor_api",
+ ":rtp_parameters",
":simulated_network_api",
"../call:fake_network",
"../call:rtp_interfaces",
@@ -256,10 +253,21 @@
]
}
-# TODO(bugs.webrtc.org/8733): Move media_types.* and rtp_parameters.*
-# to this target.
rtc_source_set("rtp_parameters") {
visibility = [ "*" ]
+ sources = [
+ "media_types.cc",
+ "media_types.h",
+ "rtp_parameters.cc",
+ "rtp_parameters.h",
+ ]
+ deps = [
+ ":array_view",
+ "../rtc_base:checks",
+ "../rtc_base:stringutils",
+ "../rtc_base/system:rtc_export",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
}
rtc_source_set("audio_quality_analyzer_api") {
@@ -284,6 +292,7 @@
deps = [
":libjingle_peerconnection_api",
+ ":rtp_parameters",
]
}
@@ -707,6 +716,7 @@
deps = [
":array_view",
":libjingle_peerconnection_api",
+ ":rtp_parameters",
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
@@ -722,6 +732,7 @@
deps = [
":array_view",
":libjingle_peerconnection_api",
+ ":rtp_parameters",
"..:webrtc_common",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
@@ -874,6 +885,7 @@
":loopback_media_transport",
":rtc_event_log_output_file",
":rtp_packet_info",
+ ":rtp_parameters",
"../rtc_base:checks",
"../rtc_base:gunit_helpers",
"../rtc_base:rtc_base_approved",
diff --git a/api/media_stream_interface.cc b/api/media_stream_interface.cc
index 73566c4..e079079 100644
--- a/api/media_stream_interface.cc
+++ b/api/media_stream_interface.cc
@@ -9,11 +9,14 @@
*/
#include "api/media_stream_interface.h"
+#include "api/media_types.h"
namespace webrtc {
-const char MediaStreamTrackInterface::kVideoKind[] = "video";
-const char MediaStreamTrackInterface::kAudioKind[] = "audio";
+const char* const MediaStreamTrackInterface::kVideoKind =
+ cricket::kMediaTypeVideo;
+const char* const MediaStreamTrackInterface::kAudioKind =
+ cricket::kMediaTypeAudio;
VideoTrackInterface::ContentHint VideoTrackInterface::content_hint() const {
return ContentHint::kNone;
diff --git a/api/media_stream_interface.h b/api/media_stream_interface.h
index f4ea4a6..113b284 100644
--- a/api/media_stream_interface.h
+++ b/api/media_stream_interface.h
@@ -76,8 +76,8 @@
kEnded,
};
- static const char kAudioKind[];
- static const char kVideoKind[];
+ static const char* const kAudioKind;
+ static const char* const kVideoKind;
// The kind() method must return kAudioKind only if the object is a
// subclass of AudioTrackInterface, and kVideoKind only if the
diff --git a/api/media_types.cc b/api/media_types.cc
index 79269db..6bc6938 100644
--- a/api/media_types.cc
+++ b/api/media_types.cc
@@ -10,21 +10,20 @@
#include "api/media_types.h"
-#include "api/media_stream_interface.h"
#include "rtc_base/checks.h"
-namespace {
-static const char* kMediaTypeData = "data";
-} // namespace
-
namespace cricket {
+const char kMediaTypeVideo[] = "video";
+const char kMediaTypeAudio[] = "audio";
+const char kMediaTypeData[] = "data";
+
std::string MediaTypeToString(MediaType type) {
switch (type) {
case MEDIA_TYPE_AUDIO:
- return webrtc::MediaStreamTrackInterface::kAudioKind;
+ return kMediaTypeAudio;
case MEDIA_TYPE_VIDEO:
- return webrtc::MediaStreamTrackInterface::kVideoKind;
+ return kMediaTypeVideo;
case MEDIA_TYPE_DATA:
return kMediaTypeData;
}
diff --git a/api/media_types.h b/api/media_types.h
index bb61305..8c6ba3d 100644
--- a/api/media_types.h
+++ b/api/media_types.h
@@ -22,6 +22,10 @@
enum MediaType { MEDIA_TYPE_AUDIO, MEDIA_TYPE_VIDEO, MEDIA_TYPE_DATA };
+extern const char kMediaTypeAudio[];
+extern const char kMediaTypeVideo[];
+extern const char kMediaTypeData[];
+
RTC_EXPORT std::string MediaTypeToString(MediaType type);
} // namespace cricket
diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn
index ffc0ac4..5a9d33b 100644
--- a/api/video/BUILD.gn
+++ b/api/video/BUILD.gn
@@ -227,6 +227,7 @@
":video_bitrate_allocator_factory",
":video_frame",
"../:fec_controller_api",
+ "../:rtp_parameters",
"../units:data_rate",
# For rtpparameters.h
diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index 6dc6dc2..a627e6b 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -43,6 +43,7 @@
"../api:function_view",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:transport_api",
"../api/audio:aec3_factory",
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 6443074..a198103 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -34,6 +34,7 @@
"../api:libjingle_peerconnection_api",
"../api:network_state_predictor_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:transport_api",
"../api/audio:audio_mixer_api",
@@ -76,6 +77,7 @@
"../api:fec_controller_api",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api/rtc_event_log",
"../api/transport:bitrate_settings",
"../api/units:timestamp",
@@ -129,6 +131,7 @@
"../api:array_view",
"../api:fec_controller_api",
"../api:network_state_predictor_api",
+ "../api:rtp_parameters",
"../api:transport_api",
"../api/rtc_event_log",
"../api/transport:field_trial_based_config",
@@ -226,6 +229,7 @@
"../api:fec_controller_api",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:simulated_network_api",
"../api:transport_api",
"../api/rtc_event_log",
@@ -273,6 +277,7 @@
":rtp_interfaces",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:transport_api",
"../api/video:video_frame",
"../api/video:video_rtp_headers",
@@ -324,7 +329,7 @@
":call_interfaces",
":simulated_network",
":simulated_packet_receiver",
- "../api:libjingle_peerconnection_api",
+ "../api:rtp_parameters",
"../api:simulated_network_api",
"../api:transport_api",
"../modules/utility",
@@ -370,6 +375,7 @@
"../api:libjingle_peerconnection_api",
"../api:mock_audio_mixer",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:transport_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/rtc_event_log",
diff --git a/logging/BUILD.gn b/logging/BUILD.gn
index 537c069..875e06b 100644
--- a/logging/BUILD.gn
+++ b/logging/BUILD.gn
@@ -34,7 +34,7 @@
]
deps = [
- "../api:libjingle_logging_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api/rtc_event_log",
"../api/task_queue",
@@ -53,6 +53,7 @@
":rtc_event_log_api",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
]
}
@@ -190,8 +191,8 @@
defines = []
deps = [
- "../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api/transport:network_control",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
@@ -318,8 +319,8 @@
":rtc_event_log_proto",
":rtc_stream_config",
"../api:function_view",
- "../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api/rtc_event_log",
"../api/units:data_rate",
"../api/units:time_delta",
@@ -369,9 +370,9 @@
":rtc_event_video",
":rtc_stream_config",
"../api:array_view",
- "../api:libjingle_peerconnection_api",
"../api:rtc_event_log_output_file",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api/rtc_event_log",
"../api/rtc_event_log:rtc_event_log_factory",
"../api/task_queue:default_task_queue_factory",
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 7cb77a5..383f6a7 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -75,6 +75,7 @@
"../api:array_view",
"../api:audio_options_api",
"../api:libjingle_peerconnection_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api/audio_codecs:audio_codecs_api",
"../api/video:video_bitrate_allocation",
@@ -260,6 +261,7 @@
"..:webrtc_common",
"../api:call_api",
"../api:libjingle_peerconnection_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:transport_api",
"../api/audio:audio_mixer_api",
@@ -517,6 +519,7 @@
"../api:mock_video_bitrate_allocator_factory",
"../api:mock_video_codec_factory",
"../api:mock_video_encoder",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:simulcast_test_fixture_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
diff --git a/modules/rtp_rtcp/BUILD.gn b/modules/rtp_rtcp/BUILD.gn
index 3d6c0e7..06ed9bd 100644
--- a/modules/rtp_rtcp/BUILD.gn
+++ b/modules/rtp_rtcp/BUILD.gn
@@ -102,6 +102,7 @@
"../../api:function_view",
"../../api:libjingle_peerconnection_api",
"../../api:rtp_headers",
+ "../../api:rtp_parameters",
"../../api/audio_codecs:audio_codecs_api",
"../../api/transport:network_control",
"../../api/video:video_frame",
@@ -222,6 +223,7 @@
"../../api:libjingle_peerconnection_api",
"../../api:rtp_headers",
"../../api:rtp_packet_info",
+ "../../api:rtp_parameters",
"../../api:scoped_refptr",
"../../api:transport_api",
"../../api/audio_codecs:audio_codecs_api",
@@ -469,6 +471,7 @@
"../../api:libjingle_peerconnection_api",
"../../api:rtp_headers",
"../../api:rtp_packet_info",
+ "../../api:rtp_parameters",
"../../api:scoped_refptr",
"../../api:transport_api",
"../../api/transport:field_trial_based_config",
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index c3d8d4b..814720f 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -83,6 +83,8 @@
"../api:call_api",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api/rtc_event_log",
"../api/video:builtin_video_bitrate_allocator_factory",
@@ -92,6 +94,7 @@
"../call:rtp_interfaces",
"../call:rtp_receiver",
"../common_video",
+ "../common_video:common_video",
"../logging:ice_log",
"../media:rtc_data",
"../media:rtc_h264_profile_id",
@@ -218,6 +221,7 @@
"../api:network_state_predictor_api",
"../api:rtc_event_log_output_file",
"../api:rtc_stats_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api/rtc_event_log",
"../api/task_queue",
@@ -306,6 +310,7 @@
"../api:libjingle_peerconnection_api",
"../api:loopback_media_transport",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api/video:builtin_video_bitrate_allocator_factory",
"../call:rtp_interfaces",
"../call:rtp_receiver",
@@ -388,6 +393,7 @@
"../api:function_view",
"../api:libjingle_peerconnection_api",
"../api:rtc_stats_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../pc:peerconnection",
"../rtc_base:checks",
@@ -567,6 +573,7 @@
"../api:fake_media_transport",
"../api:rtc_event_log_output_file",
"../api:rtc_stats_api",
+ "../api:rtp_parameters",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index fb86ef8..c262f67 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -153,7 +153,7 @@
]
deps = [
- "../api:libjingle_peerconnection_api",
+ "../api:rtp_parameters",
"../api:transport_api",
"../api/rtc_event_log",
"../api/task_queue:default_task_queue_factory",
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index 277a9a0..1158229 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -922,6 +922,7 @@
"../api:libjingle_peerconnection_api",
"../api:rtc_event_log_output_file",
"../api:rtc_stats_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api/audio_codecs:audio_codecs_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 0eca65f..862f3a8 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -760,6 +760,7 @@
"../../api:callfactory_api",
"../../api:libjingle_peerconnection_api",
"../../api:rtc_event_log_output_file",
+ "../../api:rtp_parameters",
"../../api/rtc_event_log:rtc_event_log_factory",
"../../api/task_queue:default_task_queue_factory",
"../../api/video_codecs:video_codecs_api",
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 7dafa3a..60da223 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -737,6 +737,7 @@
":video_test_common",
"../api:libjingle_peerconnection_api",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:simulated_network_api",
"../api:transport_api",
diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index 440064b..9c49781 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -502,6 +502,7 @@
deps = [
"../../../api:array_view",
"../../../api:libjingle_peerconnection_api",
+ "../../../api:rtp_parameters",
"../../../media:rtc_media_base",
"../../../p2p:rtc_p2p",
"../../../pc:peerconnection",
diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index 2a7d883..9792271 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -82,6 +82,7 @@
"../../api:fec_controller_api",
"../../api:libjingle_peerconnection_api",
"../../api:rtc_event_log_output_file",
+ "../../api:rtp_parameters",
"../../api:transport_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../api/audio_codecs:builtin_audio_encoder_factory",
diff --git a/video/BUILD.gn b/video/BUILD.gn
index 2e4cde2..4679153 100644
--- a/video/BUILD.gn
+++ b/video/BUILD.gn
@@ -55,6 +55,7 @@
"../api:array_view",
"../api:fec_controller_api",
"../api:libjingle_peerconnection_api",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:transport_api",
"../api/rtc_event_log",
@@ -565,6 +566,7 @@
"../api:mock_fec_controller_override",
"../api:mock_frame_decryptor",
"../api:rtp_headers",
+ "../api:rtp_parameters",
"../api:scoped_refptr",
"../api:simulated_network_api",
"../api/rtc_event_log",