Revert of Remove various IDs (patchset #7 id:120001 of https://codereview.webrtc.org/3019543002/ )
Reason for revert:
Breaks downstream
Original issue's description:
> Remove various IDs:
>
> - AudioFrame
> - AudioCodingModule
>
> BUG=webrtc:4690
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/3019543002
> Cr-Commit-Position: refs/heads/master@{#20005}
> Committed: https://webrtc.googlesource.com/src/+/2d0f77585d556d8b11d6269d35149ae9ca14c472
TBR=henrik.lundin@webrtc.org,kwiberg@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4690
Review-Url: https://codereview.webrtc.org/3014683002
Cr-Commit-Position: refs/heads/master@{#20008}
diff --git a/modules/audio_coding/acm2/acm_receive_test.cc b/modules/audio_coding/acm2/acm_receive_test.cc
index 082506a..6cfe464 100644
--- a/modules/audio_coding/acm2/acm_receive_test.cc
+++ b/modules/audio_coding/acm2/acm_receive_test.cc
@@ -110,6 +110,7 @@
Clock* clock,
rtc::scoped_refptr<AudioDecoderFactory> decoder_factory) {
AudioCodingModule::Config config;
+ config.id = 0;
config.clock = clock;
config.decoder_factory = std::move(decoder_factory);
return config;
diff --git a/modules/audio_coding/acm2/acm_send_test.cc b/modules/audio_coding/acm2/acm_send_test.cc
index 307c906..d5f196b 100644
--- a/modules/audio_coding/acm2/acm_send_test.cc
+++ b/modules/audio_coding/acm2/acm_send_test.cc
@@ -28,7 +28,7 @@
int source_rate_hz,
int test_duration_ms)
: clock_(0),
- acm_(webrtc::AudioCodingModule::Create(&clock_)),
+ acm_(webrtc::AudioCodingModule::Create(0, &clock_)),
audio_source_(audio_source),
source_rate_hz_(source_rate_hz),
input_block_size_samples_(
diff --git a/modules/audio_coding/acm2/audio_coding_module.cc b/modules/audio_coding/acm2/audio_coding_module.cc
index c48fbef..5997d12 100644
--- a/modules/audio_coding/acm2/audio_coding_module.cc
+++ b/modules/audio_coding/acm2/audio_coding_module.cc
@@ -269,6 +269,7 @@
rtc::CriticalSection acm_crit_sect_;
rtc::Buffer encode_buffer_ RTC_GUARDED_BY(acm_crit_sect_);
+ int id_; // TODO(henrik.lundin) Make const.
uint32_t expected_codec_ts_ RTC_GUARDED_BY(acm_crit_sect_);
uint32_t expected_in_ts_ RTC_GUARDED_BY(acm_crit_sect_);
acm2::ACMResampler resampler_ RTC_GUARDED_BY(acm_crit_sect_);
@@ -455,7 +456,8 @@
AudioCodingModuleImpl::AudioCodingModuleImpl(
const AudioCodingModule::Config& config)
- : expected_codec_ts_(0xD87F3F9F),
+ : id_(config.id),
+ expected_codec_ts_(0xD87F3F9F),
expected_in_ts_(0xD87F3F9F),
receiver_(config),
bitrate_logger_("WebRTC.Audio.TargetBitrateInKbps"),
@@ -1118,6 +1120,7 @@
LOG(LS_ERROR) << "PlayoutData failed, RecOut Failed";
return -1;
}
+ audio_frame->id_ = id_;
return 0;
}
@@ -1283,7 +1286,7 @@
} // namespace
AudioCodingModule::Config::Config()
- : neteq_config(), clock(Clock::GetRealTimeClock()) {
+ : id(0), neteq_config(), clock(Clock::GetRealTimeClock()) {
// Post-decode VAD is disabled by default in NetEq, however, Audio
// Conference Mixer relies on VAD decisions and fails without them.
neteq_config.enable_post_decode_vad = true;
@@ -1293,15 +1296,17 @@
AudioCodingModule::Config::~Config() = default;
// Create module
-AudioCodingModule* AudioCodingModule::Create() {
+AudioCodingModule* AudioCodingModule::Create(int id) {
Config config;
+ config.id = id;
config.clock = Clock::GetRealTimeClock();
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
return Create(config);
}
-AudioCodingModule* AudioCodingModule::Create(Clock* clock) {
+AudioCodingModule* AudioCodingModule::Create(int id, Clock* clock) {
Config config;
+ config.id = id;
config.clock = clock;
config.decoder_factory = CreateBuiltinAudioDecoderFactory();
return Create(config);
diff --git a/modules/audio_coding/acm2/audio_coding_module_unittest.cc b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
index a010619..80fc4d8 100644
--- a/modules/audio_coding/acm2/audio_coding_module_unittest.cc
+++ b/modules/audio_coding/acm2/audio_coding_module_unittest.cc
@@ -157,7 +157,8 @@
class AudioCodingModuleTestOldApi : public ::testing::Test {
protected:
AudioCodingModuleTestOldApi()
- : rtp_utility_(new RtpUtility(kFrameSizeSamples, kPayloadType)),
+ : id_(1),
+ rtp_utility_(new RtpUtility(kFrameSizeSamples, kPayloadType)),
clock_(Clock::GetRealTimeClock()) {}
~AudioCodingModuleTestOldApi() {}
@@ -165,7 +166,7 @@
void TearDown() {}
void SetUp() {
- acm_.reset(AudioCodingModule::Create(clock_));
+ acm_.reset(AudioCodingModule::Create(id_, clock_));
rtp_utility_->Populate(&rtp_header_);
@@ -229,6 +230,7 @@
VerifyEncoding();
}
+ const int id_;
std::unique_ptr<RtpUtility> rtp_utility_;
std::unique_ptr<AudioCodingModule> acm_;
PacketizationCallbackStubOldApi packet_cb_;
@@ -312,6 +314,7 @@
bool muted;
EXPECT_EQ(0, acm_->PlayoutData10Ms(kSampleRateHz, &audio_frame, &muted));
ASSERT_FALSE(muted);
+ EXPECT_EQ(id_, audio_frame.id_);
EXPECT_EQ(0u, audio_frame.timestamp_);
EXPECT_GT(audio_frame.num_channels_, 0u);
EXPECT_EQ(static_cast<size_t>(kSampleRateHz / 100),