Make AudioFrameType an enum class, and move to audio_coding_module_typedefs.h
Bug: webrtc:5876
Change-Id: I0c92f9410fcf0832bfa321229b3437134255dba6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128085
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27190}
diff --git a/modules/audio_coding/BUILD.gn b/modules/audio_coding/BUILD.gn
index d14c175..4875a54 100644
--- a/modules/audio_coding/BUILD.gn
+++ b/modules/audio_coding/BUILD.gn
@@ -15,11 +15,11 @@
visibility = [ ":*" ]
rtc_source_set("audio_coding_module_typedefs") {
+ visibility += [ "*" ]
sources = [
"include/audio_coding_module_typedefs.h",
]
deps = [
- "../..:webrtc_common",
"../../rtc_base:deprecation",
]
}
@@ -44,7 +44,6 @@
":neteq",
"..:module_api",
"..:module_api_public",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio:audio_frame_api",
"../../api/audio_codecs:audio_codecs_api",
@@ -137,7 +136,6 @@
deps = [
":legacy_encoded_audio_frame",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
@@ -155,7 +153,6 @@
"codecs/g711/g711_interface.h",
]
deps = [
- "../..:webrtc_common",
"../third_party/g711:g711_3p",
]
}
@@ -172,7 +169,6 @@
deps = [
":legacy_encoded_audio_frame",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/g722:audio_encoder_g722_config",
@@ -191,7 +187,6 @@
"codecs/g722/g722_interface.h",
]
deps = [
- "../..:webrtc_common",
"../third_party/g722:g722_3p",
]
}
@@ -208,7 +203,6 @@
deps = [
":legacy_encoded_audio_frame",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/ilbc:audio_encoder_ilbc_config",
@@ -366,7 +360,6 @@
]
deps = [
- "../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../common_audio:common_audio_c",
@@ -390,7 +383,6 @@
]
deps = [
":isac_bwinfo",
- "../..:webrtc_common",
"../../api:scoped_refptr",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
@@ -500,7 +492,6 @@
deps = [
":isac_bwinfo",
":isac_vad",
- "../..:webrtc_common",
"../../common_audio",
"../../common_audio:common_audio_c",
"../../rtc_base:checks",
@@ -615,7 +606,6 @@
deps = [
":isac_bwinfo",
":isac_common",
- "../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../common_audio:common_audio_c",
@@ -726,7 +716,6 @@
deps = [
":g711",
":legacy_encoded_audio_frame",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
@@ -743,10 +732,6 @@
"codecs/pcm16b/pcm16b.c",
"codecs/pcm16b/pcm16b.h",
]
-
- deps = [
- "../..:webrtc_common",
- ]
}
rtc_static_library("webrtc_opus") {
@@ -761,7 +746,6 @@
deps = [
":audio_network_adaptor",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs/opus:audio_encoder_opus_config",
@@ -808,7 +792,6 @@
}
deps = [
- "../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
]
@@ -877,7 +860,6 @@
]
deps = [
- "../..:webrtc_common",
"../../api/audio_codecs:audio_codecs_api",
"../../common_audio",
"../../logging:rtc_event_audio",
@@ -977,7 +959,6 @@
":webrtc_cng",
"..:module_api",
"..:module_api_public",
- "../..:webrtc_common",
"../../api:array_view",
"../../api:libjingle_peerconnection_api",
"../../api:scoped_refptr",
@@ -1023,7 +1004,6 @@
deps = [
":neteq",
- "../..:webrtc_common",
"../../api:libjingle_peerconnection_api",
"../../api:neteq_simulator_api",
"../../api/audio:audio_frame_api",
@@ -1058,7 +1038,6 @@
deps = [
":pcm16b",
- "../..:webrtc_common",
"../../api:array_view",
"../../api:libjingle_peerconnection_api",
"../../common_audio",
@@ -1103,7 +1082,6 @@
deps = [
"..:module_api",
- "../..:webrtc_common",
"../../api:array_view",
"../../api/audio_codecs:audio_codecs_api",
"../../rtc_base:checks",
@@ -1130,7 +1108,6 @@
]
deps = [
- "../..:webrtc_common",
"../../common_audio",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
@@ -1166,7 +1143,6 @@
audio_coding_deps = [
"../../common_audio",
"../../system_wrappers",
- "../..:webrtc_common",
":audio_encoder_cng",
":g711",
":g722",
@@ -1274,7 +1250,6 @@
":red",
":webrtc_opus_c",
"..:module_api",
- "../..:webrtc_common",
"../../api/audio:audio_frame_api",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
@@ -1316,7 +1291,6 @@
deps = [
":neteq_test_support",
":neteq_test_tools",
- "../..:webrtc_common",
"../../api/audio_codecs/opus:audio_encoder_opus",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
@@ -1446,7 +1420,6 @@
deps += [
":neteq",
":neteq_test_tools",
- "../..:webrtc_common",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:rtc_base_approved",
"../../test:audio_codec_mocks",
@@ -1518,7 +1491,6 @@
deps += [
":isac_fix",
":webrtc_opus",
- "../..:webrtc_common",
"../../api:libjingle_peerconnection_api",
"../../rtc_base:rtc_base_approved",
"../../test:test_main",
@@ -1539,7 +1511,6 @@
":neteq",
":neteq_test_tools",
":pcm16b",
- "../..:webrtc_common",
"../../api/audio:audio_frame_api",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
@@ -1562,7 +1533,6 @@
deps = [
":neteq",
":neteq_test_tools",
- "../..:webrtc_common",
"../../api/audio_codecs:builtin_audio_decoder_factory",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
@@ -1672,7 +1642,6 @@
deps = [
":neteq",
":neteq_test_support",
- "../..:webrtc_common",
"../../rtc_base:rtc_base_approved",
"../../test:test_support",
]
@@ -1690,7 +1659,6 @@
":neteq",
":neteq_quality_test_support",
":neteq_tools",
- "../..:webrtc_common",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../test:fileutils",
@@ -1815,7 +1783,6 @@
deps = [
":g722",
- "../..:webrtc_common",
]
}
@@ -1982,7 +1949,6 @@
":webrtc_opus",
"..:module_api",
"..:module_api_public",
- "../..:webrtc_common",
"../../api/audio:audio_frame_api",
"../../api/audio_codecs:audio_codecs_api",
"../../api/audio_codecs:builtin_audio_decoder_factory",
diff --git a/modules/audio_coding/acm2/acm_receiver_unittest.cc b/modules/audio_coding/acm2/acm_receiver_unittest.cc
index 7667b71..747d4a3 100644
--- a/modules/audio_coding/acm2/acm_receiver_unittest.cc
+++ b/modules/audio_coding/acm2/acm_receiver_unittest.cc
@@ -36,7 +36,7 @@
: timestamp_(0),
packet_sent_(false),
last_packet_send_timestamp_(timestamp_),
- last_frame_type_(kEmptyFrame) {
+ last_frame_type_(AudioFrameType::kEmptyFrame) {
config_.decoder_factory = decoder_factory_;
}
@@ -109,7 +109,7 @@
const uint8_t* payload_data,
size_t payload_len_bytes,
const RTPFragmentationHeader* fragmentation) override {
- if (frame_type == kEmptyFrame)
+ if (frame_type == AudioFrameType::kEmptyFrame)
return 0;
rtp_header_.payloadType = payload_type;
@@ -336,7 +336,7 @@
SetEncoder(0, codecs.at(0), cng_payload_types)); // Enough to test
// with one codec.
ASSERT_TRUE(packet_sent_);
- EXPECT_EQ(kAudioFrameCN, last_frame_type_);
+ EXPECT_EQ(AudioFrameType::kAudioFrameCN, last_frame_type_);
// Has received, only, DTX. Last Audio codec is undefined.
EXPECT_EQ(absl::nullopt, receiver_->LastDecoder());
@@ -353,7 +353,7 @@
// Sanity check if Actually an audio payload received, and it should be
// of type "speech."
ASSERT_TRUE(packet_sent_);
- ASSERT_EQ(kAudioFrameSpeech, last_frame_type_);
+ ASSERT_EQ(AudioFrameType::kAudioFrameSpeech, last_frame_type_);
EXPECT_EQ(info_without_cng.sample_rate_hz,
receiver_->last_packet_sample_rate_hz());
@@ -361,7 +361,7 @@
// the expected codec. Encode repeatedly until a DTX is sent.
const AudioCodecInfo info_with_cng =
SetEncoder(payload_type, codecs.at(i), cng_payload_types);
- while (last_frame_type_ != kAudioFrameCN) {
+ while (last_frame_type_ != AudioFrameType::kAudioFrameCN) {
packet_sent_ = false;
InsertOnePacketOfSilence(info_with_cng);
ASSERT_TRUE(packet_sent_);
diff --git a/modules/audio_coding/acm2/acm_send_test.cc b/modules/audio_coding/acm2/acm_send_test.cc
index 4c34e41..c558f7b 100644
--- a/modules/audio_coding/acm2/acm_send_test.cc
+++ b/modules/audio_coding/acm2/acm_send_test.cc
@@ -44,7 +44,7 @@
static_cast<size_t>(source_rate_hz_ * kBlockSizeMs / 1000)),
codec_registered_(false),
test_duration_ms_(test_duration_ms),
- frame_type_(kAudioFrameSpeech),
+ frame_type_(AudioFrameType::kAudioFrameSpeech),
payload_type_(0),
timestamp_(0),
sequence_number_(0) {
diff --git a/modules/audio_coding/acm2/audio_coding_module.cc b/modules/audio_coding/acm2/audio_coding_module.cc
index a4b64b1..b5c5973 100644
--- a/modules/audio_coding/acm2/audio_coding_module.cc
+++ b/modules/audio_coding/acm2/audio_coding_module.cc
@@ -395,11 +395,12 @@
ConvertEncodedInfoToFragmentationHeader(encoded_info, &my_fragmentation);
AudioFrameType frame_type;
if (encode_buffer_.size() == 0 && encoded_info.send_even_if_empty) {
- frame_type = kEmptyFrame;
+ frame_type = AudioFrameType::kEmptyFrame;
encoded_info.payload_type = previous_pltype;
} else {
RTC_DCHECK_GT(encode_buffer_.size(), 0);
- frame_type = encoded_info.speech ? kAudioFrameSpeech : kAudioFrameCN;
+ frame_type = encoded_info.speech ? AudioFrameType::kAudioFrameSpeech
+ : AudioFrameType::kAudioFrameCN;
}
{
diff --git a/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
index 797b9b1..e64077e 100644
--- a/modules/audio_coding/acm2/audio_coding_module_unittest.cc
+++ b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
@@ -100,7 +100,7 @@
public:
PacketizationCallbackStubOldApi()
: num_calls_(0),
- last_frame_type_(kEmptyFrame),
+ last_frame_type_(AudioFrameType::kEmptyFrame),
last_payload_type_(-1),
last_timestamp_(0) {}
@@ -350,11 +350,12 @@
for (int i = 0; i < kLoops; ++i) {
EXPECT_EQ(i / k10MsBlocksPerPacket, packet_cb_.num_calls());
if (packet_cb_.num_calls() > 0)
- EXPECT_EQ(kAudioFrameSpeech, packet_cb_.last_frame_type());
+ EXPECT_EQ(AudioFrameType::kAudioFrameSpeech,
+ packet_cb_.last_frame_type());
InsertAudioAndVerifyEncoding();
}
EXPECT_EQ(kLoops / k10MsBlocksPerPacket, packet_cb_.num_calls());
- EXPECT_EQ(kAudioFrameSpeech, packet_cb_.last_frame_type());
+ EXPECT_EQ(AudioFrameType::kAudioFrameSpeech, packet_cb_.last_frame_type());
}
#if defined(WEBRTC_CODEC_ISAC) || defined(WEBRTC_CODEC_ISACFX)
@@ -431,12 +432,19 @@
const struct {
int ix;
AudioFrameType type;
- } expectation[] = {
- {2, kAudioFrameCN}, {5, kEmptyFrame}, {8, kEmptyFrame},
- {11, kAudioFrameCN}, {14, kEmptyFrame}, {17, kEmptyFrame},
- {20, kAudioFrameCN}, {23, kEmptyFrame}, {26, kEmptyFrame},
- {29, kEmptyFrame}, {32, kAudioFrameCN}, {35, kEmptyFrame},
- {38, kEmptyFrame}};
+ } expectation[] = {{2, AudioFrameType::kAudioFrameCN},
+ {5, AudioFrameType::kEmptyFrame},
+ {8, AudioFrameType::kEmptyFrame},
+ {11, AudioFrameType::kAudioFrameCN},
+ {14, AudioFrameType::kEmptyFrame},
+ {17, AudioFrameType::kEmptyFrame},
+ {20, AudioFrameType::kAudioFrameCN},
+ {23, AudioFrameType::kEmptyFrame},
+ {26, AudioFrameType::kEmptyFrame},
+ {29, AudioFrameType::kEmptyFrame},
+ {32, AudioFrameType::kAudioFrameCN},
+ {35, AudioFrameType::kEmptyFrame},
+ {38, AudioFrameType::kEmptyFrame}};
for (int i = 0; i < kLoops; ++i) {
int num_calls_before = packet_cb_.num_calls();
EXPECT_EQ(i / blocks_per_packet, num_calls_before);
diff --git a/modules/audio_coding/include/audio_coding_module_typedefs.h b/modules/audio_coding/include/audio_coding_module_typedefs.h
index 7aa7f8b..8063a29 100644
--- a/modules/audio_coding/include/audio_coding_module_typedefs.h
+++ b/modules/audio_coding/include/audio_coding_module_typedefs.h
@@ -33,6 +33,12 @@
VADVeryAggr = 3
};
+enum class AudioFrameType {
+ kEmptyFrame = 0,
+ kAudioFrameSpeech = 1,
+ kAudioFrameCN = 2,
+};
+
///////////////////////////////////////////////////////////////////////////
//
// Enumeration of Opus mode for intended application.
diff --git a/modules/audio_coding/neteq/neteq_network_stats_unittest.cc b/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
index 79059b7..c090010 100644
--- a/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
+++ b/modules/audio_coding/neteq/neteq_network_stats_unittest.cc
@@ -13,7 +13,6 @@
#include "absl/memory/memory.h"
#include "api/audio/audio_frame.h"
#include "api/audio_codecs/audio_decoder.h"
-#include "common_types.h" // NOLINT(build/include)
#include "modules/audio_coding/neteq/include/neteq.h"
#include "modules/audio_coding/neteq/tools/rtp_generator.h"
diff --git a/modules/audio_coding/test/Channel.cc b/modules/audio_coding/test/Channel.cc
index d54faa7..ba9c95e 100644
--- a/modules/audio_coding/test/Channel.cc
+++ b/modules/audio_coding/test/Channel.cc
@@ -39,7 +39,7 @@
? timeStamp
: static_cast<uint32_t>(external_send_timestamp_);
- if (frameType == kEmptyFrame) {
+ if (frameType == AudioFrameType::kEmptyFrame) {
// When frame is empty, we should not transmit it. The frame size of the
// next non-empty frame will be based on the previous frame size.
_useLastFrameSize = _lastFrameSizeSample > 0;
diff --git a/modules/audio_coding/test/TestAllCodecs.cc b/modules/audio_coding/test/TestAllCodecs.cc
index 52518ac..ad742ce 100644
--- a/modules/audio_coding/test/TestAllCodecs.cc
+++ b/modules/audio_coding/test/TestAllCodecs.cc
@@ -75,7 +75,7 @@
rtp_header.payloadType = payload_type;
rtp_header.timestamp = timestamp;
- if (frame_type == kEmptyFrame) {
+ if (frame_type == AudioFrameType::kEmptyFrame) {
// Skip this frame.
return 0;
}
diff --git a/modules/audio_coding/test/TestStereo.cc b/modules/audio_coding/test/TestStereo.cc
index 2fa56de..9564af7 100644
--- a/modules/audio_coding/test/TestStereo.cc
+++ b/modules/audio_coding/test/TestStereo.cc
@@ -54,7 +54,7 @@
rtp_header.sequenceNumber = seq_no_++;
rtp_header.payloadType = payload_type;
rtp_header.timestamp = timestamp;
- if (frame_type == kEmptyFrame) {
+ if (frame_type == AudioFrameType::kEmptyFrame) {
// Skip this frame
return 0;
}
@@ -63,7 +63,7 @@
status =
receiver_acm_->IncomingPacket(payload_data, payload_size, rtp_header);
- if (frame_type != kAudioFrameCN) {
+ if (frame_type != AudioFrameType::kAudioFrameCN) {
payload_size_ = static_cast<int>(payload_size);
} else {
payload_size_ = -1;
diff --git a/modules/audio_coding/test/TestVADDTX.cc b/modules/audio_coding/test/TestVADDTX.cc
index b22e97e..fa48c36 100644
--- a/modules/audio_coding/test/TestVADDTX.cc
+++ b/modules/audio_coding/test/TestVADDTX.cc
@@ -34,17 +34,18 @@
}
int32_t ActivityMonitor::InFrameType(AudioFrameType frame_type) {
- counter_[frame_type]++;
+ counter_[static_cast<int>(frame_type)]++;
return 0;
}
void ActivityMonitor::PrintStatistics() {
printf("\n");
- printf("kEmptyFrame %u\n", counter_[kEmptyFrame]);
- printf("kAudioFrameSpeech %u\n", counter_[kAudioFrameSpeech]);
- printf("kAudioFrameCN %u\n", counter_[kAudioFrameCN]);
- printf("kVideoFrameKey %u\n", counter_[kVideoFrameKey]);
- printf("kVideoFrameDelta %u\n", counter_[kVideoFrameDelta]);
+ printf("kEmptyFrame %u\n",
+ counter_[static_cast<int>(AudioFrameType::kEmptyFrame)]);
+ printf("kAudioFrameSpeech %u\n",
+ counter_[static_cast<int>(AudioFrameType::kAudioFrameSpeech)]);
+ printf("kAudioFrameCN %u\n",
+ counter_[static_cast<int>(AudioFrameType::kAudioFrameCN)]);
printf("\n\n");
}
@@ -146,7 +147,7 @@
monitor_->PrintStatistics();
#endif
- uint32_t stats[5];
+ uint32_t stats[3];
monitor_->GetStatistics(stats);
monitor_->ResetStatistics();
diff --git a/modules/audio_coding/test/TestVADDTX.h b/modules/audio_coding/test/TestVADDTX.h
index 36d5f95..0cb5750 100644
--- a/modules/audio_coding/test/TestVADDTX.h
+++ b/modules/audio_coding/test/TestVADDTX.h
@@ -34,9 +34,7 @@
// 0 - kEmptyFrame
// 1 - kAudioFrameSpeech
// 2 - kAudioFrameCN
- // 3 - kVideoFrameKey (not used by audio)
- // 4 - kVideoFrameDelta (not used by audio)
- uint32_t counter_[5];
+ uint32_t counter_[3];
};
// TestVadDtx is to verify that VAD/DTX perform as they should. It runs through
@@ -64,8 +62,6 @@
// 0 - kEmptyFrame
// 1 - kAudioFrameSpeech
// 2 - kAudioFrameCN
- // 3 - kVideoFrameKey (not used by audio)
- // 4 - kVideoFrameDelta (not used by audio)
void Run(std::string in_filename,
int frequency,
int channels,
diff --git a/modules/audio_coding/test/opus_test.cc b/modules/audio_coding/test/opus_test.cc
index b8d8e67..55f7af0 100644
--- a/modules/audio_coding/test/opus_test.cc
+++ b/modules/audio_coding/test/opus_test.cc
@@ -315,8 +315,8 @@
}
// Send data to the channel. "channel" will handle the loss simulation.
- channel->SendData(kAudioFrameSpeech, payload_type_, rtp_timestamp_,
- bitstream, bitstream_len_byte, NULL);
+ channel->SendData(AudioFrameType::kAudioFrameSpeech, payload_type_,
+ rtp_timestamp_, bitstream, bitstream_len_byte, NULL);
if (first_packet) {
first_packet = false;
start_time_stamp = rtp_timestamp_;