| OLD | NEW | 
|---|
| 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  Loading... | 
| 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, ¶m)); | 113   EXPECT_EQ(&external_encoder, rac.RentEncoderStack(&external_encoder, ¶m)); | 
| 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  Loading... | 
| 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  Loading... | 
| 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 | 
| OLD | NEW | 
|---|