| 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_renderer_host.h" | 5 #include "content/browser/renderer_host/media/audio_renderer_host.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 | 303 |
| 304 MediaObserver* const media_observer = | 304 MediaObserver* const media_observer = |
| 305 GetContentClient()->browser()->GetMediaObserver(); | 305 GetContentClient()->browser()->GetMediaObserver(); |
| 306 | 306 |
| 307 MediaInternals* const media_internals = MediaInternals::GetInstance(); | 307 MediaInternals* const media_internals = MediaInternals::GetInstance(); |
| 308 std::unique_ptr<media::AudioLog> audio_log = media_internals->CreateAudioLog( | 308 std::unique_ptr<media::AudioLog> audio_log = media_internals->CreateAudioLog( |
| 309 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER); | 309 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER); |
| 310 media_internals->SetWebContentsTitleForAudioLogEntry( | 310 media_internals->SetWebContentsTitleForAudioLogEntry( |
| 311 stream_id, render_process_id_, render_frame_id, audio_log.get()); | 311 stream_id, render_process_id_, render_frame_id, audio_log.get()); |
| 312 delegates_.push_back( | 312 delegates_.push_back( |
| 313 base::WrapUnique<AudioOutputDelegate>(new AudioOutputDelegateImpl( | 313 base::WrapUnique<media::AudioOutputDelegate>(new AudioOutputDelegateImpl( |
| 314 this, audio_manager_, std::move(audio_log), mirroring_manager_, | 314 this, audio_manager_, std::move(audio_log), mirroring_manager_, |
| 315 media_observer, stream_id, render_frame_id, render_process_id_, | 315 media_observer, stream_id, render_frame_id, render_process_id_, |
| 316 params, device_unique_id))); | 316 params, device_unique_id))); |
| 317 } | 317 } |
| 318 | 318 |
| 319 void AudioRendererHost::OnPlayStream(int stream_id) { | 319 void AudioRendererHost::OnPlayStream(int stream_id) { |
| 320 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 320 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 321 | 321 |
| 322 AudioOutputDelegate* delegate = LookupById(stream_id); | 322 media::AudioOutputDelegate* delegate = LookupById(stream_id); |
| 323 if (!delegate) { | 323 if (!delegate) { |
| 324 SendErrorMessage(stream_id); | 324 SendErrorMessage(stream_id); |
| 325 return; | 325 return; |
| 326 } | 326 } |
| 327 | 327 |
| 328 delegate->OnPlayStream(); | 328 delegate->OnPlayStream(); |
| 329 } | 329 } |
| 330 | 330 |
| 331 void AudioRendererHost::OnPauseStream(int stream_id) { | 331 void AudioRendererHost::OnPauseStream(int stream_id) { |
| 332 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 332 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 333 | 333 |
| 334 AudioOutputDelegate* delegate = LookupById(stream_id); | 334 media::AudioOutputDelegate* delegate = LookupById(stream_id); |
| 335 if (!delegate) { | 335 if (!delegate) { |
| 336 SendErrorMessage(stream_id); | 336 SendErrorMessage(stream_id); |
| 337 return; | 337 return; |
| 338 } | 338 } |
| 339 | 339 |
| 340 delegate->OnPauseStream(); | 340 delegate->OnPauseStream(); |
| 341 } | 341 } |
| 342 | 342 |
| 343 void AudioRendererHost::OnSetVolume(int stream_id, double volume) { | 343 void AudioRendererHost::OnSetVolume(int stream_id, double volume) { |
| 344 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 344 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 345 | 345 |
| 346 AudioOutputDelegate* delegate = LookupById(stream_id); | 346 media::AudioOutputDelegate* delegate = LookupById(stream_id); |
| 347 if (!delegate) { | 347 if (!delegate) { |
| 348 SendErrorMessage(stream_id); | 348 SendErrorMessage(stream_id); |
| 349 return; | 349 return; |
| 350 } | 350 } |
| 351 | 351 |
| 352 // Make sure the volume is valid. | 352 // Make sure the volume is valid. |
| 353 if (volume < 0 || volume > 1.0) | 353 if (volume < 0 || volume > 1.0) |
| 354 return; | 354 return; |
| 355 delegate->OnSetVolume(volume); | 355 delegate->OnSetVolume(volume); |
| 356 } | 356 } |
| (...skipping 16 matching lines...) Expand all Loading... |
| 373 std::swap(*i, delegates_.back()); | 373 std::swap(*i, delegates_.back()); |
| 374 delegates_.pop_back(); | 374 delegates_.pop_back(); |
| 375 } | 375 } |
| 376 | 376 |
| 377 AudioRendererHost::AudioOutputDelegateVector::iterator | 377 AudioRendererHost::AudioOutputDelegateVector::iterator |
| 378 AudioRendererHost::LookupIteratorById(int stream_id) { | 378 AudioRendererHost::LookupIteratorById(int stream_id) { |
| 379 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 379 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 380 | 380 |
| 381 return std::find_if( | 381 return std::find_if( |
| 382 delegates_.begin(), delegates_.end(), | 382 delegates_.begin(), delegates_.end(), |
| 383 [stream_id](const std::unique_ptr<AudioOutputDelegate>& d) { | 383 [stream_id](const std::unique_ptr<media::AudioOutputDelegate>& d) { |
| 384 return d->GetStreamId() == stream_id; | 384 return d->GetStreamId() == stream_id; |
| 385 }); | 385 }); |
| 386 } | 386 } |
| 387 | 387 |
| 388 AudioOutputDelegate* AudioRendererHost::LookupById(int stream_id) { | 388 media::AudioOutputDelegate* AudioRendererHost::LookupById(int stream_id) { |
| 389 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 389 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 390 | 390 |
| 391 auto i = LookupIteratorById(stream_id); | 391 auto i = LookupIteratorById(stream_id); |
| 392 return i != delegates_.end() ? i->get() : nullptr; | 392 return i != delegates_.end() ? i->get() : nullptr; |
| 393 } | 393 } |
| 394 | 394 |
| 395 bool AudioRendererHost::IsAuthorizationStarted(int stream_id) { | 395 bool AudioRendererHost::IsAuthorizationStarted(int stream_id) { |
| 396 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 396 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 397 return authorizations_.find(stream_id) != authorizations_.end(); | 397 return authorizations_.find(stream_id) != authorizations_.end(); |
| 398 } | 398 } |
| 399 | 399 |
| 400 void AudioRendererHost::OverrideDevicePermissionsForTesting(bool has_access) { | 400 void AudioRendererHost::OverrideDevicePermissionsForTesting(bool has_access) { |
| 401 authorization_handler_.OverridePermissionsForTesting(has_access); | 401 authorization_handler_.OverridePermissionsForTesting(has_access); |
| 402 } | 402 } |
| 403 } // namespace content | 403 } // namespace content |
| OLD | NEW |