| 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 "media/audio/audio_device_thread.h" | 5 #include "media/audio/audio_device_thread.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 ++buffer_index; | 203 ++buffer_index; |
| 204 size_t bytes_sent = socket_.Send(&buffer_index, sizeof(buffer_index)); | 204 size_t bytes_sent = socket_.Send(&buffer_index, sizeof(buffer_index)); |
| 205 if (bytes_sent != sizeof(buffer_index)) | 205 if (bytes_sent != sizeof(buffer_index)) |
| 206 break; | 206 break; |
| 207 } | 207 } |
| 208 } | 208 } |
| 209 } | 209 } |
| 210 | 210 |
| 211 // AudioDeviceThread::Callback implementation | 211 // AudioDeviceThread::Callback implementation |
| 212 | 212 |
| 213 AudioDeviceThread::Callback::Callback( | 213 AudioDeviceThread::Callback::Callback(const AudioParameters& audio_parameters, |
| 214 const AudioParameters& audio_parameters, | 214 base::SharedMemoryHandle memory, |
| 215 base::SharedMemoryHandle memory, | 215 int memory_length, |
| 216 int memory_length, | 216 int total_segments) |
| 217 int total_segments) | |
| 218 : audio_parameters_(audio_parameters), | 217 : audio_parameters_(audio_parameters), |
| 219 samples_per_ms_(audio_parameters.sample_rate() / 1000), | 218 samples_per_ms_(static_cast<double>(audio_parameters.sample_rate()) / |
| 219 base::Time::kMillisecondsPerSecond), |
| 220 bytes_per_ms_(audio_parameters.channels() * | 220 bytes_per_ms_(audio_parameters.channels() * |
| 221 (audio_parameters_.bits_per_sample() / 8) * | 221 (audio_parameters_.bits_per_sample() / 8) * |
| 222 samples_per_ms_), | 222 samples_per_ms_), |
| 223 bytes_per_frame_(audio_parameters.GetBytesPerFrame()), |
| 223 shared_memory_(memory, false), | 224 shared_memory_(memory, false), |
| 224 memory_length_(memory_length), | 225 memory_length_(memory_length), |
| 225 total_segments_(total_segments) { | 226 total_segments_(total_segments) { |
| 226 CHECK_NE(bytes_per_ms_, 0); // Catch division by zero early. | 227 CHECK_NE(bytes_per_ms_, 0.0); // Catch division by zero early. |
| 227 CHECK_NE(samples_per_ms_, 0); | 228 CHECK_NE(samples_per_ms_, 0.0); |
| 229 CHECK_NE(bytes_per_frame_, 0u); |
| 228 CHECK_GT(total_segments_, 0); | 230 CHECK_GT(total_segments_, 0); |
| 229 CHECK_EQ(memory_length_ % total_segments_, 0); | 231 CHECK_EQ(memory_length_ % total_segments_, 0); |
| 230 segment_length_ = memory_length_ / total_segments_; | 232 segment_length_ = memory_length_ / total_segments_; |
| 231 } | 233 } |
| 232 | 234 |
| 233 AudioDeviceThread::Callback::~Callback() {} | 235 AudioDeviceThread::Callback::~Callback() {} |
| 234 | 236 |
| 235 void AudioDeviceThread::Callback::InitializeOnAudioThread() { | 237 void AudioDeviceThread::Callback::InitializeOnAudioThread() { |
| 236 MapSharedMemory(); | 238 MapSharedMemory(); |
| 237 CHECK(shared_memory_.memory()); | 239 CHECK(shared_memory_.memory()); |
| 238 } | 240 } |
| 239 | 241 |
| 240 } // namespace media. | 242 } // namespace media. |
| OLD | NEW |