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

Side by Side Diff: webrtc/modules/audio_coding/neteq/tools/neteq_quality_test.cc

Issue 1725143003: Changed AudioEncoder::Encode to take an rtc::Buffer* instead of uint8_t* and a maximum size. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Reverted unnecessary change to buffer_unittest.cc Created 4 years, 10 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) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 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 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 } else { 242 } else {
243 // Open a pcm file. 243 // Open a pcm file.
244 output_.reset(new webrtc::test::OutputAudioFile(out_filename)); 244 output_.reset(new webrtc::test::OutputAudioFile(out_filename));
245 } 245 }
246 246
247 NetEq::Config config; 247 NetEq::Config config;
248 config.sample_rate_hz = out_sampling_khz_ * 1000; 248 config.sample_rate_hz = out_sampling_khz_ * 1000;
249 neteq_.reset(NetEq::Create(config)); 249 neteq_.reset(NetEq::Create(config));
250 max_payload_bytes_ = in_size_samples_ * channels_ * sizeof(int16_t); 250 max_payload_bytes_ = in_size_samples_ * channels_ * sizeof(int16_t);
251 in_data_.reset(new int16_t[in_size_samples_ * channels_]); 251 in_data_.reset(new int16_t[in_size_samples_ * channels_]);
252 payload_.reset(new uint8_t[max_payload_bytes_]);
253 out_data_.reset(new int16_t[out_size_samples_ * channels_]); 252 out_data_.reset(new int16_t[out_size_samples_ * channels_]);
254 } 253 }
255 254
256 NetEqQualityTest::~NetEqQualityTest() { 255 NetEqQualityTest::~NetEqQualityTest() {
257 log_file_.close(); 256 log_file_.close();
258 } 257 }
259 258
260 bool NoLoss::Lost() { 259 bool NoLoss::Lost() {
261 return false; 260 return false;
262 } 261 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 &rtp_header_); 372 &rtp_header_);
374 Log() << "Packet of size " 373 Log() << "Packet of size "
375 << payload_size_bytes_ 374 << payload_size_bytes_
376 << " bytes, for frame at " 375 << " bytes, for frame at "
377 << packet_input_time_ms 376 << packet_input_time_ms
378 << " ms "; 377 << " ms ";
379 if (payload_size_bytes_ > 0) { 378 if (payload_size_bytes_ > 0) {
380 if (!PacketLost()) { 379 if (!PacketLost()) {
381 int ret = neteq_->InsertPacket( 380 int ret = neteq_->InsertPacket(
382 rtp_header_, 381 rtp_header_,
383 rtc::ArrayView<const uint8_t>(payload_.get(), payload_size_bytes_), 382 rtc::ArrayView<const uint8_t>(payload_.data(), payload_size_bytes_),
384 packet_input_time_ms * in_sampling_khz_); 383 packet_input_time_ms * in_sampling_khz_);
385 if (ret != NetEq::kOK) 384 if (ret != NetEq::kOK)
386 return -1; 385 return -1;
387 Log() << "was sent."; 386 Log() << "was sent.";
388 } else { 387 } else {
389 Log() << "was lost."; 388 Log() << "was lost.";
390 } 389 }
391 } 390 }
392 Log() << std::endl; 391 Log() << std::endl;
393 return packet_input_time_ms; 392 return packet_input_time_ms;
(...skipping 15 matching lines...) Expand all
409 } 408 }
410 } 409 }
411 410
412 void NetEqQualityTest::Simulate() { 411 void NetEqQualityTest::Simulate() {
413 int audio_size_samples; 412 int audio_size_samples;
414 413
415 while (decoded_time_ms_ < FLAGS_runtime_ms) { 414 while (decoded_time_ms_ < FLAGS_runtime_ms) {
416 // Assume 10 packets in packets buffer. 415 // Assume 10 packets in packets buffer.
417 while (decodable_time_ms_ - 10 * block_duration_ms_ < decoded_time_ms_) { 416 while (decodable_time_ms_ - 10 * block_duration_ms_ < decoded_time_ms_) {
418 ASSERT_TRUE(in_file_->Read(in_size_samples_ * channels_, &in_data_[0])); 417 ASSERT_TRUE(in_file_->Read(in_size_samples_ * channels_, &in_data_[0]));
418 payload_.Clear();
419 payload_size_bytes_ = EncodeBlock(&in_data_[0], 419 payload_size_bytes_ = EncodeBlock(&in_data_[0],
420 in_size_samples_, &payload_[0], 420 in_size_samples_, &payload_,
421 max_payload_bytes_); 421 max_payload_bytes_);
422 total_payload_size_bytes_ += payload_size_bytes_; 422 total_payload_size_bytes_ += payload_size_bytes_;
423 decodable_time_ms_ = Transmit() + block_duration_ms_; 423 decodable_time_ms_ = Transmit() + block_duration_ms_;
424 } 424 }
425 audio_size_samples = DecodeBlock(); 425 audio_size_samples = DecodeBlock();
426 if (audio_size_samples > 0) { 426 if (audio_size_samples > 0) {
427 decoded_time_ms_ += audio_size_samples / out_sampling_khz_; 427 decoded_time_ms_ += audio_size_samples / out_sampling_khz_;
428 } 428 }
429 } 429 }
430 Log() << "Average bit rate was " 430 Log() << "Average bit rate was "
431 << 8.0f * total_payload_size_bytes_ / FLAGS_runtime_ms 431 << 8.0f * total_payload_size_bytes_ / FLAGS_runtime_ms
432 << " kbps" 432 << " kbps"
433 << std::endl; 433 << std::endl;
434 } 434 }
435 435
436 } // namespace test 436 } // namespace test
437 } // namespace webrtc 437 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698