Revert "Remove CodecInst pt.1"
This reverts commit 056f9738bf7a3d16da45398239656e165c4e0851.
Reason for revert: breaks downstream
Original change's description:
> Remove CodecInst pt.1
>
> Update audio_coding tests to not use CodecInst.
>
> Bug: webrtc:7626
> Change-Id: I880fb8d72d7d0a915d274e67feb6106f023697c2
> Reviewed-on: https://webrtc-review.googlesource.com/c/112594
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25879}
TBR=solenberg@webrtc.org,kwiberg@webrtc.org
Change-Id: I51d666969bcd63e2b7cb7d669ec2f59b5f8f9dde
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7626
Reviewed-on: https://webrtc-review.googlesource.com/c/112906
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25881}
diff --git a/modules/audio_coding/test/PacketLossTest.cc b/modules/audio_coding/test/PacketLossTest.cc
index 6f87659..a1629fd 100644
--- a/modules/audio_coding/test/PacketLossTest.cc
+++ b/modules/audio_coding/test/PacketLossTest.cc
@@ -30,7 +30,6 @@
RTPStream* rtpStream,
std::string out_file_name,
int channels,
- int file_num,
int loss_rate,
int burst_length) {
loss_rate_ = loss_rate;
@@ -38,7 +37,7 @@
burst_lost_counter_ = burst_length_; // To prevent first packet gets lost.
rtc::StringBuilder ss;
ss << out_file_name << "_" << loss_rate_ << "_" << burst_length_ << "_";
- Receiver::Setup(acm, rtpStream, ss.str(), channels, file_num);
+ Receiver::Setup(acm, rtpStream, ss.str(), channels);
}
bool ReceiverWithPacketLoss::IncomingPacket() {
@@ -90,11 +89,10 @@
void SenderWithFEC::Setup(AudioCodingModule* acm,
RTPStream* rtpStream,
std::string in_file_name,
- int payload_type,
- SdpAudioFormat format,
+ int sample_rate,
+ int channels,
int expected_loss_rate) {
- Sender::Setup(acm, rtpStream, in_file_name, format.clockrate_hz, payload_type,
- format);
+ Sender::Setup(acm, rtpStream, in_file_name, sample_rate, channels);
EXPECT_TRUE(SetFEC(true));
EXPECT_TRUE(SetPacketLossRate(expected_loss_rate));
}
@@ -125,6 +123,8 @@
in_file_name_(channels_ == 1 ? "audio_coding/testfile32kHz"
: "audio_coding/teststereo32kHz"),
sample_rate_hz_(32000),
+ sender_(new SenderWithFEC),
+ receiver_(new ReceiverWithPacketLoss),
expected_loss_rate_(expected_loss_rate),
actual_loss_rate_(actual_loss_rate),
burst_length_(burst_length) {}
@@ -133,32 +133,40 @@
#ifndef WEBRTC_CODEC_OPUS
return;
#else
- RTPFile rtpFile;
- std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create(
- AudioCodingModule::Config(CreateBuiltinAudioDecoderFactory())));
- SdpAudioFormat send_format = SdpAudioFormat("opus", 48000, 2);
- if (channels_ == 2) {
- send_format.parameters = {{"stereo", "1"}};
- }
+ AudioCodingModule::Config config;
+ config.decoder_factory = CreateBuiltinAudioDecoderFactory();
+ std::unique_ptr<AudioCodingModule> acm(AudioCodingModule::Create(config));
+ int codec_id = acm->Codec("opus", 48000, channels_);
+
+ RTPFile rtpFile;
std::string fileName = webrtc::test::TempFilename(webrtc::test::OutputPath(),
"packet_loss_test");
+
+ // Encode to file
rtpFile.Open(fileName.c_str(), "wb+");
rtpFile.WriteHeader();
- SenderWithFEC sender;
- sender.Setup(acm.get(), &rtpFile, in_file_name_, 120, send_format,
+
+ sender_->codeId = codec_id;
+
+ sender_->Setup(acm.get(), &rtpFile, in_file_name_, sample_rate_hz_, channels_,
expected_loss_rate_);
- sender.Run();
- sender.Teardown();
+ if (acm->SendCodec()) {
+ sender_->Run();
+ }
+ sender_->Teardown();
rtpFile.Close();
+ // Decode to file
rtpFile.Open(fileName.c_str(), "rb");
rtpFile.ReadHeader();
- ReceiverWithPacketLoss receiver;
- receiver.Setup(acm.get(), &rtpFile, "packetLoss_out", channels_, 15,
+
+ receiver_->codeId = codec_id;
+
+ receiver_->Setup(acm.get(), &rtpFile, "packetLoss_out", channels_,
actual_loss_rate_, burst_length_);
- receiver.Run();
- receiver.Teardown();
+ receiver_->Run();
+ receiver_->Teardown();
rtpFile.Close();
#endif
}