| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <memory> |
| 9 |
| 8 #include "base/environment.h" | 10 #include "base/environment.h" |
| 9 #include "base/files/file_util.h" | 11 #include "base/files/file_util.h" |
| 10 #include "base/macros.h" | 12 #include "base/macros.h" |
| 11 #include "base/memory/scoped_ptr.h" | |
| 12 #include "base/path_service.h" | 13 #include "base/path_service.h" |
| 13 #include "base/synchronization/lock.h" | 14 #include "base/synchronization/lock.h" |
| 14 #include "base/test/test_timeouts.h" | 15 #include "base/test/test_timeouts.h" |
| 15 #include "base/thread_task_runner_handle.h" | 16 #include "base/thread_task_runner_handle.h" |
| 16 #include "base/time/time.h" | 17 #include "base/time/time.h" |
| 17 #include "build/build_config.h" | 18 #include "build/build_config.h" |
| 18 #include "media/audio/audio_io.h" | 19 #include "media/audio/audio_io.h" |
| 19 #include "media/audio/audio_manager_base.h" | 20 #include "media/audio/audio_manager_base.h" |
| 20 #include "media/audio/audio_unittest_util.h" | 21 #include "media/audio/audio_unittest_util.h" |
| 21 #include "media/audio/fake_audio_log_factory.h" | 22 #include "media/audio/fake_audio_log_factory.h" |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 | 254 |
| 254 protected: | 255 protected: |
| 255 // Converts from bytes to milliseconds taking the sample rate and size | 256 // Converts from bytes to milliseconds taking the sample rate and size |
| 256 // of an audio frame into account. | 257 // of an audio frame into account. |
| 257 int BytesToMilliseconds(uint32_t delay_bytes) const { | 258 int BytesToMilliseconds(uint32_t delay_bytes) const { |
| 258 return static_cast<int>((delay_bytes / frame_size_) * frames_to_ms_ + 0.5); | 259 return static_cast<int>((delay_bytes / frame_size_) * frames_to_ms_ + 0.5); |
| 259 } | 260 } |
| 260 | 261 |
| 261 private: | 262 private: |
| 262 base::Lock lock_; | 263 base::Lock lock_; |
| 263 scoped_ptr<media::SeekableBuffer> buffer_; | 264 std::unique_ptr<media::SeekableBuffer> buffer_; |
| 264 int sample_rate_; | 265 int sample_rate_; |
| 265 int samples_per_packet_; | 266 int samples_per_packet_; |
| 266 int channels_; | 267 int channels_; |
| 267 int frame_size_; | 268 int frame_size_; |
| 268 double frames_to_ms_; | 269 double frames_to_ms_; |
| 269 scoped_ptr<AudioDelayState[]> delay_states_; | 270 std::unique_ptr<AudioDelayState[]> delay_states_; |
| 270 size_t input_elements_to_write_; | 271 size_t input_elements_to_write_; |
| 271 size_t output_elements_to_write_; | 272 size_t output_elements_to_write_; |
| 272 base::TimeTicks previous_write_time_; | 273 base::TimeTicks previous_write_time_; |
| 273 }; | 274 }; |
| 274 | 275 |
| 275 class AudioInputStreamTraits { | 276 class AudioInputStreamTraits { |
| 276 public: | 277 public: |
| 277 typedef AudioInputStream StreamType; | 278 typedef AudioInputStream StreamType; |
| 278 | 279 |
| 279 static AudioParameters GetDefaultAudioStreamParameters( | 280 static AudioParameters GetDefaultAudioStreamParameters( |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 | 434 |
| 434 // All Close() operations that run on the mocked audio thread, | 435 // All Close() operations that run on the mocked audio thread, |
| 435 // should be synchronous and not post additional close tasks to | 436 // should be synchronous and not post additional close tasks to |
| 436 // mocked the audio thread. Hence, there is no need to call | 437 // mocked the audio thread. Hence, there is no need to call |
| 437 // message_loop()->RunUntilIdle() after the Close() methods. | 438 // message_loop()->RunUntilIdle() after the Close() methods. |
| 438 aos->Close(); | 439 aos->Close(); |
| 439 ais->Close(); | 440 ais->Close(); |
| 440 } | 441 } |
| 441 | 442 |
| 442 } // namespace media | 443 } // namespace media |
| OLD | NEW |