Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(221)

Side by Side Diff: webrtc/modules/audio_coding/main/acm2/rent_a_codec_unittest.cc

Issue 1476743002: Move the FEC enabling logic from CodecManager to Rent-A-Codec (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@rac0
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/modules/audio_coding/main/acm2/rent_a_codec.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 94
95 // Verify NoEncoding. 95 // Verify NoEncoding.
96 expected_timestamp += 2 * kDataLengthSamples; 96 expected_timestamp += 2 * kDataLengthSamples;
97 { 97 {
98 SCOPED_TRACE("Fourth encoding"); 98 SCOPED_TRACE("Fourth encoding");
99 EncodeAndVerify(0, expected_timestamp, kCngPt, 1); 99 EncodeAndVerify(0, expected_timestamp, kCngPt, 1);
100 } 100 }
101 } 101 }
102 102
103 TEST(RentACodecTest, ExternalEncoder) { 103 TEST(RentACodecTest, ExternalEncoder) {
104 const int kSampleRateHz = 8000;
104 MockAudioEncoder external_encoder; 105 MockAudioEncoder external_encoder;
106 EXPECT_CALL(external_encoder, SampleRateHz())
107 .WillRepeatedly(Return(kSampleRateHz));
108 EXPECT_CALL(external_encoder, NumChannels()).WillRepeatedly(Return(1));
109 EXPECT_CALL(external_encoder, SetFec(false)).WillRepeatedly(Return(true));
110
105 RentACodec rac; 111 RentACodec rac;
106 RentACodec::StackParameters param; 112 RentACodec::StackParameters param;
107 EXPECT_EQ(&external_encoder, rac.RentEncoderStack(&external_encoder, &param)); 113 EXPECT_EQ(&external_encoder, rac.RentEncoderStack(&external_encoder, &param));
108 const int kSampleRateHz = 8000;
109 const int kPacketSizeSamples = kSampleRateHz / 100; 114 const int kPacketSizeSamples = kSampleRateHz / 100;
110 int16_t audio[kPacketSizeSamples] = {0}; 115 int16_t audio[kPacketSizeSamples] = {0};
111 uint8_t encoded[kPacketSizeSamples]; 116 uint8_t encoded[kPacketSizeSamples];
112 AudioEncoder::EncodedInfo info; 117 AudioEncoder::EncodedInfo info;
113 EXPECT_CALL(external_encoder, SampleRateHz())
114 .WillRepeatedly(Return(kSampleRateHz));
115 EXPECT_CALL(external_encoder, NumChannels()).WillRepeatedly(Return(1));
116 118
117 { 119 {
118 ::testing::InSequence s; 120 ::testing::InSequence s;
119 info.encoded_timestamp = 0; 121 info.encoded_timestamp = 0;
120 EXPECT_CALL(external_encoder, 122 EXPECT_CALL(external_encoder,
121 EncodeInternal(0, rtc::ArrayView<const int16_t>(audio), 123 EncodeInternal(0, rtc::ArrayView<const int16_t>(audio),
122 arraysize(encoded), encoded)) 124 arraysize(encoded), encoded))
123 .WillOnce(Return(info)); 125 .WillOnce(Return(info));
124 EXPECT_CALL(external_encoder, Mark("A")); 126 EXPECT_CALL(external_encoder, Mark("A"));
125 EXPECT_CALL(external_encoder, Mark("B")); 127 EXPECT_CALL(external_encoder, Mark("B"));
(...skipping 27 matching lines...) Expand all
153 } 155 }
154 156
155 // Verify that the speech encoder's Reset method is called when CNG or RED 157 // Verify that the speech encoder's Reset method is called when CNG or RED
156 // (or both) are switched on, but not when they're switched off. 158 // (or both) are switched on, but not when they're switched off.
157 void TestCngAndRedResetSpeechEncoder(bool use_cng, bool use_red) { 159 void TestCngAndRedResetSpeechEncoder(bool use_cng, bool use_red) {
158 MockAudioEncoder speech_encoder; 160 MockAudioEncoder speech_encoder;
159 EXPECT_CALL(speech_encoder, NumChannels()).WillRepeatedly(Return(1)); 161 EXPECT_CALL(speech_encoder, NumChannels()).WillRepeatedly(Return(1));
160 EXPECT_CALL(speech_encoder, Max10MsFramesInAPacket()) 162 EXPECT_CALL(speech_encoder, Max10MsFramesInAPacket())
161 .WillRepeatedly(Return(2)); 163 .WillRepeatedly(Return(2));
162 EXPECT_CALL(speech_encoder, SampleRateHz()).WillRepeatedly(Return(8000)); 164 EXPECT_CALL(speech_encoder, SampleRateHz()).WillRepeatedly(Return(8000));
165 EXPECT_CALL(speech_encoder, SetFec(false)).WillRepeatedly(Return(true));
163 { 166 {
164 ::testing::InSequence s; 167 ::testing::InSequence s;
165 EXPECT_CALL(speech_encoder, Mark("disabled")); 168 EXPECT_CALL(speech_encoder, Mark("disabled"));
166 EXPECT_CALL(speech_encoder, Mark("enabled")); 169 EXPECT_CALL(speech_encoder, Mark("enabled"));
167 if (use_cng || use_red) 170 if (use_cng || use_red)
168 EXPECT_CALL(speech_encoder, Reset()); 171 EXPECT_CALL(speech_encoder, Reset());
169 EXPECT_CALL(speech_encoder, Die()); 172 EXPECT_CALL(speech_encoder, Die());
170 } 173 }
171 174
172 RentACodec::StackParameters param1, param2; 175 RentACodec::StackParameters param1, param2;
(...skipping 24 matching lines...) Expand all
197 200
198 TEST(RentACodecTest, RentEncoderError) { 201 TEST(RentACodecTest, RentEncoderError) {
199 const CodecInst codec_inst = { 202 const CodecInst codec_inst = {
200 0, "Robert'); DROP TABLE Students;", 8000, 160, 1, 64000}; 203 0, "Robert'); DROP TABLE Students;", 8000, 160, 1, 64000};
201 RentACodec rent_a_codec; 204 RentACodec rent_a_codec;
202 EXPECT_FALSE(rent_a_codec.RentEncoder(codec_inst)); 205 EXPECT_FALSE(rent_a_codec.RentEncoder(codec_inst));
203 } 206 }
204 207
205 } // namespace acm2 208 } // namespace acm2
206 } // namespace webrtc 209 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/main/acm2/rent_a_codec.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698