OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "platform/audio/PushPullFIFO.h" | 5 #include "platform/audio/PushPullFIFO.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <vector> | 8 #include <vector> |
9 #include "platform/CrossThreadFunctional.h" | 9 #include "platform/CrossThreadFunctional.h" |
10 #include "platform/WaitableEvent.h" | 10 #include "platform/WaitableEvent.h" |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 | 55 |
56 private: | 56 private: |
57 void RunTaskOnOwnThread() { | 57 void RunTaskOnOwnThread() { |
58 double interval_with_jitter = interval_ms_ | 58 double interval_with_jitter = interval_ms_ |
59 + (static_cast<double>(std::rand()) / RAND_MAX) * jitter_range_ms_; | 59 + (static_cast<double>(std::rand()) / RAND_MAX) * jitter_range_ms_; |
60 elapsed_ms_ += interval_with_jitter; | 60 elapsed_ms_ += interval_with_jitter; |
61 ++counter_; | 61 ++counter_; |
62 RunTask(); | 62 RunTask(); |
63 if (elapsed_ms_ < duration_ms_) { | 63 if (elapsed_ms_ < duration_ms_) { |
64 client_thread_->GetWebTaskRunner()->PostDelayedTask( | 64 client_thread_->GetWebTaskRunner()->PostDelayedTask( |
65 BLINK_FROM_HERE, | 65 BLINK_FROM_HERE, |
66 CrossThreadBind(&FIFOClient::RunTaskOnOwnThread, | 66 CrossThreadBind(&FIFOClient::RunTaskOnOwnThread, |
67 CrossThreadUnretained(this)), | 67 CrossThreadUnretained(this)), |
68 interval_with_jitter); | 68 TimeDelta::FromMillisecondsD(interval_with_jitter)); |
69 } else { | 69 } else { |
70 Stop(counter_); | 70 Stop(counter_); |
71 done_event_->Signal(); | 71 done_event_->Signal(); |
72 } | 72 } |
73 } | 73 } |
74 | 74 |
75 PushPullFIFO* fifo_; | 75 PushPullFIFO* fifo_; |
76 RefPtr<AudioBus> bus_; | 76 RefPtr<AudioBus> bus_; |
77 std::unique_ptr<WebThread> client_thread_; | 77 std::unique_ptr<WebThread> client_thread_; |
78 std::unique_ptr<WaitableEvent> done_event_; | 78 std::unique_ptr<WaitableEvent> done_event_; |
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 {48000, 2, 8192, 10000, 256, 0, 128, 1} | 214 {48000, 2, 8192, 10000, 256, 0, 128, 1} |
215 }; | 215 }; |
216 | 216 |
217 INSTANTIATE_TEST_CASE_P(PushPullFIFOSmokeTest, | 217 INSTANTIATE_TEST_CASE_P(PushPullFIFOSmokeTest, |
218 PushPullFIFOSmokeTest, | 218 PushPullFIFOSmokeTest, |
219 ::testing::ValuesIn(smoke_test_params)); | 219 ::testing::ValuesIn(smoke_test_params)); |
220 | 220 |
221 } // namespace | 221 } // namespace |
222 | 222 |
223 } // namespace blink | 223 } // namespace blink |
OLD | NEW |