| 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 "content/browser/renderer_host/media/audio_input_renderer_host.h" | 5 #include "content/browser/renderer_host/media/audio_input_renderer_host.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 } | 141 } |
| 142 | 142 |
| 143 void AudioInputRendererHost::OnCreated( | 143 void AudioInputRendererHost::OnCreated( |
| 144 media::AudioInputController* controller) { | 144 media::AudioInputController* controller) { |
| 145 BrowserThread::PostTask( | 145 BrowserThread::PostTask( |
| 146 BrowserThread::IO, FROM_HERE, | 146 BrowserThread::IO, FROM_HERE, |
| 147 base::Bind(&AudioInputRendererHost::DoCompleteCreation, this, | 147 base::Bind(&AudioInputRendererHost::DoCompleteCreation, this, |
| 148 base::RetainedRef(controller))); | 148 base::RetainedRef(controller))); |
| 149 } | 149 } |
| 150 | 150 |
| 151 void AudioInputRendererHost::OnRecording( | |
| 152 media::AudioInputController* controller) { | |
| 153 BrowserThread::PostTask( | |
| 154 BrowserThread::IO, FROM_HERE, | |
| 155 base::Bind(&AudioInputRendererHost::DoSendRecordingMessage, this, | |
| 156 base::RetainedRef(controller))); | |
| 157 } | |
| 158 | |
| 159 void AudioInputRendererHost::OnError(media::AudioInputController* controller, | 151 void AudioInputRendererHost::OnError(media::AudioInputController* controller, |
| 160 media::AudioInputController::ErrorCode error_code) { | 152 media::AudioInputController::ErrorCode error_code) { |
| 161 BrowserThread::PostTask( | 153 BrowserThread::PostTask( |
| 162 BrowserThread::IO, FROM_HERE, | 154 BrowserThread::IO, FROM_HERE, |
| 163 base::Bind(&AudioInputRendererHost::DoHandleError, this, | 155 base::Bind(&AudioInputRendererHost::DoHandleError, this, |
| 164 base::RetainedRef(controller), error_code)); | 156 base::RetainedRef(controller), error_code)); |
| 165 } | 157 } |
| 166 | 158 |
| 167 void AudioInputRendererHost::OnData(media::AudioInputController* controller, | 159 void AudioInputRendererHost::OnData(media::AudioInputController* controller, |
| 168 const media::AudioBus* data) { | 160 const media::AudioBus* data) { |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 LogMessage(entry->stream_id, | 207 LogMessage(entry->stream_id, |
| 216 "DoCompleteCreation: IPC channel and stream are now open", | 208 "DoCompleteCreation: IPC channel and stream are now open", |
| 217 true); | 209 true); |
| 218 | 210 |
| 219 Send(new AudioInputMsg_NotifyStreamCreated( | 211 Send(new AudioInputMsg_NotifyStreamCreated( |
| 220 entry->stream_id, foreign_memory_handle, socket_transit_descriptor, | 212 entry->stream_id, foreign_memory_handle, socket_transit_descriptor, |
| 221 entry->shared_memory.requested_size(), | 213 entry->shared_memory.requested_size(), |
| 222 entry->shared_memory_segment_count)); | 214 entry->shared_memory_segment_count)); |
| 223 } | 215 } |
| 224 | 216 |
| 225 void AudioInputRendererHost::DoSendRecordingMessage( | |
| 226 media::AudioInputController* controller) { | |
| 227 DCHECK_CURRENTLY_ON(BrowserThread::IO); | |
| 228 // TODO(henrika): See crbug.com/115262 for details on why this method | |
| 229 // should be implemented. | |
| 230 AudioEntry* entry = LookupByController(controller); | |
| 231 DCHECK(entry) << "AudioInputController is invalid."; | |
| 232 LogMessage( | |
| 233 entry->stream_id, "DoSendRecordingMessage: stream is now started", true); | |
| 234 } | |
| 235 | |
| 236 void AudioInputRendererHost::DoHandleError( | 217 void AudioInputRendererHost::DoHandleError( |
| 237 media::AudioInputController* controller, | 218 media::AudioInputController* controller, |
| 238 media::AudioInputController::ErrorCode error_code) { | 219 media::AudioInputController::ErrorCode error_code) { |
| 239 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 220 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 240 AudioEntry* entry = LookupByController(controller); | 221 AudioEntry* entry = LookupByController(controller); |
| 241 DCHECK(entry); | 222 DCHECK(entry); |
| 242 | 223 |
| 243 std::ostringstream oss; | 224 std::ostringstream oss; |
| 244 oss << "AIC reports error_code=" << error_code; | 225 oss << "AIC reports error_code=" << error_code; |
| 245 LogMessage(entry->stream_id, oss.str(), false); | 226 LogMessage(entry->stream_id, oss.str(), false); |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 492 entry->controller->SetVolume(volume); | 473 entry->controller->SetVolume(volume); |
| 493 audio_log_->OnSetVolume(stream_id, volume); | 474 audio_log_->OnSetVolume(stream_id, volume); |
| 494 } | 475 } |
| 495 | 476 |
| 496 void AudioInputRendererHost::SendErrorMessage( | 477 void AudioInputRendererHost::SendErrorMessage( |
| 497 int stream_id, ErrorCode error_code) { | 478 int stream_id, ErrorCode error_code) { |
| 498 std::string err_msg = | 479 std::string err_msg = |
| 499 base::StringPrintf("SendErrorMessage(error_code=%d)", error_code); | 480 base::StringPrintf("SendErrorMessage(error_code=%d)", error_code); |
| 500 LogMessage(stream_id, err_msg, true); | 481 LogMessage(stream_id, err_msg, true); |
| 501 | 482 |
| 502 Send(new AudioInputMsg_NotifyStreamStateChanged( | 483 Send(new AudioInputMsg_NotifyStreamError(stream_id)); |
| 503 stream_id, media::AUDIO_INPUT_IPC_DELEGATE_STATE_ERROR)); | |
| 504 } | 484 } |
| 505 | 485 |
| 506 void AudioInputRendererHost::DeleteEntries() { | 486 void AudioInputRendererHost::DeleteEntries() { |
| 507 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 487 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 508 | 488 |
| 509 for (AudioEntryMap::iterator i = audio_entries_.begin(); | 489 for (AudioEntryMap::iterator i = audio_entries_.begin(); |
| 510 i != audio_entries_.end(); ++i) { | 490 i != audio_entries_.end(); ++i) { |
| 511 CloseAndDeleteStream(i->second); | 491 CloseAndDeleteStream(i->second); |
| 512 } | 492 } |
| 513 } | 493 } |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 626 entry->controller->EnableDebugRecording( | 606 entry->controller->EnableDebugRecording( |
| 627 file_name.AddExtension(IntToStringType(stream_id)) | 607 file_name.AddExtension(IntToStringType(stream_id)) |
| 628 .AddExtension(kDebugRecordingFileNameExtension)); | 608 .AddExtension(kDebugRecordingFileNameExtension)); |
| 629 } | 609 } |
| 630 | 610 |
| 631 #undef IntToStringType | 611 #undef IntToStringType |
| 632 | 612 |
| 633 #endif // BUILDFLAG(ENABLE_WEBRTC) | 613 #endif // BUILDFLAG(ENABLE_WEBRTC) |
| 634 | 614 |
| 635 } // namespace content | 615 } // namespace content |
| OLD | NEW |