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
 }