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 |