| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/renderer/media/speech_recognition_audio_sink.h" | 5 #include "content/renderer/media/speech_recognition_audio_sink.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <string.h> | 9 #include <string.h> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 122 const blink::WebMediaStreamTrack& track, | 122 const blink::WebMediaStreamTrack& track, |
| 123 const media::AudioParameters& sink_params, | 123 const media::AudioParameters& sink_params, |
| 124 base::SharedMemoryHandle* foreign_memory_handle) { | 124 base::SharedMemoryHandle* foreign_memory_handle) { |
| 125 // Shared memory is allocated, mapped and shared. | 125 // Shared memory is allocated, mapped and shared. |
| 126 const uint32_t kSharedMemorySize = | 126 const uint32_t kSharedMemorySize = |
| 127 sizeof(media::AudioInputBufferParameters) + | 127 sizeof(media::AudioInputBufferParameters) + |
| 128 media::AudioBus::CalculateMemorySize(sink_params); | 128 media::AudioBus::CalculateMemorySize(sink_params); |
| 129 shared_memory_.reset(new base::SharedMemory()); | 129 shared_memory_.reset(new base::SharedMemory()); |
| 130 ASSERT_TRUE(shared_memory_->CreateAndMapAnonymous(kSharedMemorySize)); | 130 ASSERT_TRUE(shared_memory_->CreateAndMapAnonymous(kSharedMemorySize)); |
| 131 memset(shared_memory_->memory(), 0, kSharedMemorySize); | 131 memset(shared_memory_->memory(), 0, kSharedMemorySize); |
| 132 ASSERT_TRUE(shared_memory_->ShareToProcess(base::GetCurrentProcessHandle(), | 132 *foreign_memory_handle = shared_memory_->handle().Duplicate(); |
| 133 foreign_memory_handle)); | 133 ASSERT_TRUE(foreign_memory_handle->IsValid()); |
| 134 | 134 |
| 135 // Wrap the shared memory for the audio bus. | 135 // Wrap the shared memory for the audio bus. |
| 136 media::AudioInputBuffer* buffer = | 136 media::AudioInputBuffer* buffer = |
| 137 static_cast<media::AudioInputBuffer*>(shared_memory_->memory()); | 137 static_cast<media::AudioInputBuffer*>(shared_memory_->memory()); |
| 138 | 138 |
| 139 audio_track_bus_ = media::AudioBus::WrapMemory(sink_params, buffer->audio); | 139 audio_track_bus_ = media::AudioBus::WrapMemory(sink_params, buffer->audio); |
| 140 audio_track_bus_->Zero(); | 140 audio_track_bus_->Zero(); |
| 141 | 141 |
| 142 // Reference to the counter used to synchronize. | 142 // Reference to the counter used to synchronize. |
| 143 buffer->params.size = 0U; | 143 buffer->params.size = 0U; |
| (...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 539 const uint32_t buffers_per_notification = Initialize(44100, 441, 16000, 1600); | 539 const uint32_t buffers_per_notification = Initialize(44100, 441, 16000, 1600); |
| 540 AssertConsumedBuffers(0U); | 540 AssertConsumedBuffers(0U); |
| 541 CaptureAudioAndAssertConsumedBuffers(buffers_per_notification, 1U); | 541 CaptureAudioAndAssertConsumedBuffers(buffers_per_notification, 1U); |
| 542 EXPECT_CALL(*this, StoppedCallback()).Times(1); | 542 EXPECT_CALL(*this, StoppedCallback()).Times(1); |
| 543 | 543 |
| 544 native_track()->Stop(); | 544 native_track()->Stop(); |
| 545 CaptureAudioAndAssertConsumedBuffers(buffers_per_notification, 1U); | 545 CaptureAudioAndAssertConsumedBuffers(buffers_per_notification, 1U); |
| 546 } | 546 } |
| 547 | 547 |
| 548 } // namespace content | 548 } // namespace content |
| OLD | NEW |