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

Side by Side Diff: webrtc/modules/audio_coding/neteq/neteq_impl_unittest.cc

Issue 1903043003: WIP: Adding a centralized NetEq Clock (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@neteq-remove-type-param
Patch Set: Created 4 years, 8 months 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 int DeletePacketsAndReturnOk(PacketList* packet_list) { 50 int DeletePacketsAndReturnOk(PacketList* packet_list) {
51 PacketBuffer::DeleteAllPackets(packet_list); 51 PacketBuffer::DeleteAllPackets(packet_list);
52 return PacketBuffer::kOK; 52 return PacketBuffer::kOK;
53 } 53 }
54 54
55 class NetEqImplTest : public ::testing::Test { 55 class NetEqImplTest : public ::testing::Test {
56 protected: 56 protected:
57 NetEqImplTest() 57 NetEqImplTest()
58 : neteq_(NULL), 58 : neteq_(NULL),
59 config_(), 59 config_(),
60 tick_timer_(new TickTimer),
60 mock_buffer_level_filter_(NULL), 61 mock_buffer_level_filter_(NULL),
61 buffer_level_filter_(NULL), 62 buffer_level_filter_(NULL),
62 use_mock_buffer_level_filter_(true), 63 use_mock_buffer_level_filter_(true),
63 mock_decoder_database_(NULL), 64 mock_decoder_database_(NULL),
64 decoder_database_(NULL), 65 decoder_database_(NULL),
65 use_mock_decoder_database_(true), 66 use_mock_decoder_database_(true),
66 mock_delay_peak_detector_(NULL), 67 mock_delay_peak_detector_(NULL),
67 delay_peak_detector_(NULL), 68 delay_peak_detector_(NULL),
68 use_mock_delay_peak_detector_(true), 69 use_mock_delay_peak_detector_(true),
69 mock_delay_manager_(NULL), 70 mock_delay_manager_(NULL),
(...skipping 24 matching lines...) Expand all
94 } 95 }
95 if (use_mock_decoder_database_) { 96 if (use_mock_decoder_database_) {
96 mock_decoder_database_ = new MockDecoderDatabase; 97 mock_decoder_database_ = new MockDecoderDatabase;
97 EXPECT_CALL(*mock_decoder_database_, GetActiveCngDecoder()) 98 EXPECT_CALL(*mock_decoder_database_, GetActiveCngDecoder())
98 .WillOnce(ReturnNull()); 99 .WillOnce(ReturnNull());
99 decoder_database_ = mock_decoder_database_; 100 decoder_database_ = mock_decoder_database_;
100 } else { 101 } else {
101 decoder_database_ = new DecoderDatabase; 102 decoder_database_ = new DecoderDatabase;
102 } 103 }
103 if (use_mock_delay_peak_detector_) { 104 if (use_mock_delay_peak_detector_) {
104 mock_delay_peak_detector_ = new MockDelayPeakDetector; 105 mock_delay_peak_detector_ = new MockDelayPeakDetector(*tick_timer_);
105 EXPECT_CALL(*mock_delay_peak_detector_, Reset()).Times(1); 106 EXPECT_CALL(*mock_delay_peak_detector_, Reset()).Times(1);
106 delay_peak_detector_ = mock_delay_peak_detector_; 107 delay_peak_detector_ = mock_delay_peak_detector_;
107 } else { 108 } else {
108 delay_peak_detector_ = new DelayPeakDetector; 109 delay_peak_detector_ = new DelayPeakDetector(*tick_timer_);
109 } 110 }
110 if (use_mock_delay_manager_) { 111 if (use_mock_delay_manager_) {
111 mock_delay_manager_ = new MockDelayManager(config_.max_packets_in_buffer, 112 mock_delay_manager_ = new MockDelayManager(
112 delay_peak_detector_); 113 config_.max_packets_in_buffer, delay_peak_detector_, *tick_timer_);
113 EXPECT_CALL(*mock_delay_manager_, set_streaming_mode(false)).Times(1); 114 EXPECT_CALL(*mock_delay_manager_, set_streaming_mode(false)).Times(1);
114 delay_manager_ = mock_delay_manager_; 115 delay_manager_ = mock_delay_manager_;
115 } else { 116 } else {
116 delay_manager_ = 117 delay_manager_ = new DelayManager(config_.max_packets_in_buffer,
117 new DelayManager(config_.max_packets_in_buffer, delay_peak_detector_); 118 delay_peak_detector_, *tick_timer_);
118 } 119 }
119 if (use_mock_dtmf_buffer_) { 120 if (use_mock_dtmf_buffer_) {
120 mock_dtmf_buffer_ = new MockDtmfBuffer(config_.sample_rate_hz); 121 mock_dtmf_buffer_ = new MockDtmfBuffer(config_.sample_rate_hz);
121 dtmf_buffer_ = mock_dtmf_buffer_; 122 dtmf_buffer_ = mock_dtmf_buffer_;
122 } else { 123 } else {
123 dtmf_buffer_ = new DtmfBuffer(config_.sample_rate_hz); 124 dtmf_buffer_ = new DtmfBuffer(config_.sample_rate_hz);
124 } 125 }
125 if (use_mock_dtmf_tone_generator_) { 126 if (use_mock_dtmf_tone_generator_) {
126 mock_dtmf_tone_generator_ = new MockDtmfToneGenerator; 127 mock_dtmf_tone_generator_ = new MockDtmfToneGenerator;
127 dtmf_tone_generator_ = mock_dtmf_tone_generator_; 128 dtmf_tone_generator_ = mock_dtmf_tone_generator_;
128 } else { 129 } else {
129 dtmf_tone_generator_ = new DtmfToneGenerator; 130 dtmf_tone_generator_ = new DtmfToneGenerator;
130 } 131 }
131 if (use_mock_packet_buffer_) { 132 if (use_mock_packet_buffer_) {
132 mock_packet_buffer_ = new MockPacketBuffer(config_.max_packets_in_buffer); 133 mock_packet_buffer_ =
134 new MockPacketBuffer(config_.max_packets_in_buffer, *tick_timer_);
133 packet_buffer_ = mock_packet_buffer_; 135 packet_buffer_ = mock_packet_buffer_;
134 } else { 136 } else {
135 packet_buffer_ = new PacketBuffer(config_.max_packets_in_buffer); 137 packet_buffer_ =
138 new PacketBuffer(config_.max_packets_in_buffer, *tick_timer_);
136 } 139 }
137 if (use_mock_payload_splitter_) { 140 if (use_mock_payload_splitter_) {
138 mock_payload_splitter_ = new MockPayloadSplitter; 141 mock_payload_splitter_ = new MockPayloadSplitter;
139 payload_splitter_ = mock_payload_splitter_; 142 payload_splitter_ = mock_payload_splitter_;
140 } else { 143 } else {
141 payload_splitter_ = new PayloadSplitter; 144 payload_splitter_ = new PayloadSplitter;
142 } 145 }
143 timestamp_scaler_ = new TimestampScaler(*decoder_database_); 146 timestamp_scaler_ = new TimestampScaler(*decoder_database_);
144 AccelerateFactory* accelerate_factory = new AccelerateFactory; 147 AccelerateFactory* accelerate_factory = new AccelerateFactory;
145 ExpandFactory* expand_factory = new ExpandFactory; 148 ExpandFactory* expand_factory = new ExpandFactory;
146 PreemptiveExpandFactory* preemptive_expand_factory = 149 PreemptiveExpandFactory* preemptive_expand_factory =
147 new PreemptiveExpandFactory; 150 new PreemptiveExpandFactory;
148 151
149 neteq_ = new NetEqImpl(config_, 152 neteq_ =
150 buffer_level_filter_, 153 new NetEqImpl(config_, std::move(tick_timer_), buffer_level_filter_,
151 decoder_database_, 154 decoder_database_, delay_manager_, delay_peak_detector_,
152 delay_manager_, 155 dtmf_buffer_, dtmf_tone_generator_, packet_buffer_,
153 delay_peak_detector_, 156 payload_splitter_, timestamp_scaler_, accelerate_factory,
154 dtmf_buffer_, 157 expand_factory, preemptive_expand_factory);
155 dtmf_tone_generator_,
156 packet_buffer_,
157 payload_splitter_,
158 timestamp_scaler_,
159 accelerate_factory,
160 expand_factory,
161 preemptive_expand_factory);
162 ASSERT_TRUE(neteq_ != NULL); 158 ASSERT_TRUE(neteq_ != NULL);
163 } 159 }
164 160
165 void UseNoMocks() { 161 void UseNoMocks() {
166 ASSERT_TRUE(neteq_ == NULL) << "Must call UseNoMocks before CreateInstance"; 162 ASSERT_TRUE(neteq_ == NULL) << "Must call UseNoMocks before CreateInstance";
167 use_mock_buffer_level_filter_ = false; 163 use_mock_buffer_level_filter_ = false;
168 use_mock_decoder_database_ = false; 164 use_mock_decoder_database_ = false;
169 use_mock_delay_peak_detector_ = false; 165 use_mock_delay_peak_detector_ = false;
170 use_mock_delay_manager_ = false; 166 use_mock_delay_manager_ = false;
171 use_mock_dtmf_buffer_ = false; 167 use_mock_dtmf_buffer_ = false;
(...skipping 22 matching lines...) Expand all
194 EXPECT_CALL(*mock_dtmf_tone_generator_, Die()).Times(1); 190 EXPECT_CALL(*mock_dtmf_tone_generator_, Die()).Times(1);
195 } 191 }
196 if (use_mock_packet_buffer_) { 192 if (use_mock_packet_buffer_) {
197 EXPECT_CALL(*mock_packet_buffer_, Die()).Times(1); 193 EXPECT_CALL(*mock_packet_buffer_, Die()).Times(1);
198 } 194 }
199 delete neteq_; 195 delete neteq_;
200 } 196 }
201 197
202 NetEqImpl* neteq_; 198 NetEqImpl* neteq_;
203 NetEq::Config config_; 199 NetEq::Config config_;
200 std::unique_ptr<TickTimer> tick_timer_;
204 MockBufferLevelFilter* mock_buffer_level_filter_; 201 MockBufferLevelFilter* mock_buffer_level_filter_;
205 BufferLevelFilter* buffer_level_filter_; 202 BufferLevelFilter* buffer_level_filter_;
206 bool use_mock_buffer_level_filter_; 203 bool use_mock_buffer_level_filter_;
207 MockDecoderDatabase* mock_decoder_database_; 204 MockDecoderDatabase* mock_decoder_database_;
208 DecoderDatabase* decoder_database_; 205 DecoderDatabase* decoder_database_;
209 bool use_mock_decoder_database_; 206 bool use_mock_decoder_database_;
210 MockDelayPeakDetector* mock_delay_peak_detector_; 207 MockDelayPeakDetector* mock_delay_peak_detector_;
211 DelayPeakDetector* delay_peak_detector_; 208 DelayPeakDetector* delay_peak_detector_;
212 bool use_mock_delay_peak_detector_; 209 bool use_mock_delay_peak_detector_;
213 MockDelayManager* mock_delay_manager_; 210 MockDelayManager* mock_delay_manager_;
(...skipping 978 matching lines...) Expand 10 before | Expand all | Expand 10 after
1192 // Tests that the return value from last_output_sample_rate_hz() is equal to the 1189 // Tests that the return value from last_output_sample_rate_hz() is equal to the
1193 // configured inital sample rate. 1190 // configured inital sample rate.
1194 TEST_F(NetEqImplTest, InitialLastOutputSampleRate) { 1191 TEST_F(NetEqImplTest, InitialLastOutputSampleRate) {
1195 UseNoMocks(); 1192 UseNoMocks();
1196 config_.sample_rate_hz = 48000; 1193 config_.sample_rate_hz = 48000;
1197 CreateInstance(); 1194 CreateInstance();
1198 EXPECT_EQ(48000, neteq_->last_output_sample_rate_hz()); 1195 EXPECT_EQ(48000, neteq_->last_output_sample_rate_hz());
1199 } 1196 }
1200 1197
1201 }// namespace webrtc 1198 }// namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_coding/neteq/neteq_impl.cc ('k') | webrtc/modules/audio_coding/neteq/packet.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698