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

Side by Side Diff: content/browser/media/capture/web_contents_audio_input_stream_unittest.cc

Issue 2101303004: Pass delay and timestamp to AudioSourceCallback::OnMoreData. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Fix Mac CQ errors. Created 4 years, 2 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 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/media/capture/web_contents_audio_input_stream.h" 5 #include "content/browser/media/capture/web_contents_audio_input_stream.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <list> 9 #include <list>
10 #include <memory>
11 #include <utility>
10 12
11 #include "base/bind.h" 13 #include "base/bind.h"
12 #include "base/bind_helpers.h" 14 #include "base/bind_helpers.h"
13 #include "base/location.h" 15 #include "base/location.h"
14 #include "base/macros.h" 16 #include "base/macros.h"
15 #include "base/single_thread_task_runner.h" 17 #include "base/single_thread_task_runner.h"
16 #include "base/synchronization/waitable_event.h" 18 #include "base/synchronization/waitable_event.h"
17 #include "base/threading/thread.h" 19 #include "base/threading/thread.h"
20 #include "base/time/time.h"
18 #include "content/browser/media/capture/audio_mirroring_manager.h" 21 #include "content/browser/media/capture/audio_mirroring_manager.h"
19 #include "content/browser/media/capture/web_contents_tracker.h" 22 #include "content/browser/media/capture/web_contents_tracker.h"
20 #include "content/public/browser/browser_thread.h" 23 #include "content/public/browser/browser_thread.h"
21 #include "content/public/test/test_browser_thread_bundle.h" 24 #include "content/public/test/test_browser_thread_bundle.h"
22 #include "media/audio/simple_sources.h" 25 #include "media/audio/simple_sources.h"
23 #include "media/audio/virtual_audio_input_stream.h" 26 #include "media/audio/virtual_audio_input_stream.h"
24 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
25 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
26 29
27 using ::testing::_; 30 using ::testing::_;
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 sources_.push_back(source); 304 sources_.push_back(source);
302 if (is_duplication()) { 305 if (is_duplication()) {
303 media::AudioPushSink* out = destination_->AddPushInput(params); 306 media::AudioPushSink* out = destination_->AddPushInput(params);
304 ASSERT_TRUE(out); 307 ASSERT_TRUE(out);
305 sinks_.push_back(out); 308 sinks_.push_back(out);
306 std::unique_ptr<media::AudioBus> audio_data = AudioBus::Create(params); 309 std::unique_ptr<media::AudioBus> audio_data = AudioBus::Create(params);
307 base::TimeTicks now = base::TimeTicks::Now(); 310 base::TimeTicks now = base::TimeTicks::Now();
308 // 20 Audio buses are enough for all test cases. 311 // 20 Audio buses are enough for all test cases.
309 const int kAudioBusesNumber = 20; 312 const int kAudioBusesNumber = 20;
310 for (int i = 0; i < kAudioBusesNumber; i++) { 313 for (int i = 0; i < kAudioBusesNumber; i++) {
311 int frames = source->OnMoreData(audio_data.get(), 0, 0); 314 int frames = source->OnMoreData(
315 base::TimeDelta(), base::TimeTicks::Now(), 0, audio_data.get());
312 std::unique_ptr<media::AudioBus> copy = AudioBus::Create(params); 316 std::unique_ptr<media::AudioBus> copy = AudioBus::Create(params);
313 audio_data->CopyTo(copy.get()); 317 audio_data->CopyTo(copy.get());
314 out->OnData(std::move(copy), now); 318 out->OnData(std::move(copy), now);
315 now += base::TimeDelta::FromMillisecondsD( 319 now += base::TimeDelta::FromMillisecondsD(
316 frames * params.GetMicrosecondsPerFrame()); 320 frames * params.GetMicrosecondsPerFrame());
317 } 321 }
318 } else { 322 } else {
319 AudioOutputStream* const out = destination_->AddInput(params); 323 AudioOutputStream* const out = destination_->AddInput(params);
320 ASSERT_TRUE(out); 324 ASSERT_TRUE(out);
321 streams_.push_back(out); 325 streams_.push_back(out);
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 WaitForData(); 540 WaitForData();
537 RUN_ON_AUDIO_THREAD(ChangeMirroringTarget); 541 RUN_ON_AUDIO_THREAD(ChangeMirroringTarget);
538 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder); 542 RUN_ON_AUDIO_THREAD(RemoveOneInputInFIFOOrder);
539 RUN_ON_AUDIO_THREAD(Stop); 543 RUN_ON_AUDIO_THREAD(Stop);
540 RUN_ON_AUDIO_THREAD(Close); 544 RUN_ON_AUDIO_THREAD(Close);
541 } 545 }
542 546
543 INSTANTIATE_TEST_CASE_P(, WebContentsAudioInputStreamTest, ::testing::Bool()); 547 INSTANTIATE_TEST_CASE_P(, WebContentsAudioInputStreamTest, ::testing::Bool());
544 548
545 } // namespace content 549 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698