Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(19)

Side by Side Diff: content/browser/renderer_host/media/audio_renderer_host.cc

Issue 142923005: Allow MessageFilters to restrict listening to specific message classes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/memory/shared_memory.h" 9 #include "base/memory/shared_memory.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/process/process.h" 11 #include "base/process/process.h"
12 #include "content/browser/browser_main_loop.h" 12 #include "content/browser/browser_main_loop.h"
13 #include "content/browser/media/media_internals.h" 13 #include "content/browser/media/media_internals.h"
14 #include "content/browser/renderer_host/media/audio_input_device_manager.h" 14 #include "content/browser/renderer_host/media/audio_input_device_manager.h"
15 #include "content/browser/renderer_host/media/audio_mirroring_manager.h" 15 #include "content/browser/renderer_host/media/audio_mirroring_manager.h"
16 #include "content/browser/renderer_host/media/audio_sync_reader.h" 16 #include "content/browser/renderer_host/media/audio_sync_reader.h"
17 #include "content/browser/renderer_host/media/media_stream_manager.h" 17 #include "content/browser/renderer_host/media/media_stream_manager.h"
18 #include "content/common/media/audio_messages.h" 18 #include "content/common/media/audio_messages.h"
19 #include "content/public/browser/content_browser_client.h" 19 #include "content/public/browser/content_browser_client.h"
20 #include "content/public/browser/media_observer.h" 20 #include "content/public/browser/media_observer.h"
21 #include "content/public/common/content_switches.h" 21 #include "content/public/common/content_switches.h"
22 #include "media/audio/audio_manager_base.h" 22 #include "media/audio/audio_manager_base.h"
23 #include "media/base/audio_bus.h" 23 #include "media/base/audio_bus.h"
24 #include "media/base/limits.h" 24 #include "media/base/limits.h"
25 25
26 using media::AudioBus; 26 using media::AudioBus;
27 using media::AudioManager; 27 using media::AudioManager;
28 28
29 namespace content { 29 namespace content {
30 namespace {
31 const uint32 kFilteredMessageClasses[] = {
32 AudioMsgStart
33 };
34 } // namespace
30 35
31 class AudioRendererHost::AudioEntry 36 class AudioRendererHost::AudioEntry
32 : public media::AudioOutputController::EventHandler { 37 : public media::AudioOutputController::EventHandler {
33 public: 38 public:
34 AudioEntry(AudioRendererHost* host, 39 AudioEntry(AudioRendererHost* host,
35 int stream_id, 40 int stream_id,
36 int render_view_id, 41 int render_view_id,
37 const media::AudioParameters& params, 42 const media::AudioParameters& params,
38 const std::string& output_device_id, 43 const std::string& output_device_id,
39 const std::string& input_device_id, 44 const std::string& input_device_id,
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 112
108 /////////////////////////////////////////////////////////////////////////////// 113 ///////////////////////////////////////////////////////////////////////////////
109 // AudioRendererHost implementations. 114 // AudioRendererHost implementations.
110 115
111 AudioRendererHost::AudioRendererHost( 116 AudioRendererHost::AudioRendererHost(
112 int render_process_id, 117 int render_process_id,
113 media::AudioManager* audio_manager, 118 media::AudioManager* audio_manager,
114 AudioMirroringManager* mirroring_manager, 119 AudioMirroringManager* mirroring_manager,
115 MediaInternals* media_internals, 120 MediaInternals* media_internals,
116 MediaStreamManager* media_stream_manager) 121 MediaStreamManager* media_stream_manager)
117 : render_process_id_(render_process_id), 122 : BrowserMessageFilter(
123 kFilteredMessageClasses, arraysize(kFilteredMessageClasses)),
124 render_process_id_(render_process_id),
118 audio_manager_(audio_manager), 125 audio_manager_(audio_manager),
119 mirroring_manager_(mirroring_manager), 126 mirroring_manager_(mirroring_manager),
120 audio_log_(media_internals->CreateAudioLog( 127 audio_log_(media_internals->CreateAudioLog(
121 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER)), 128 media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER)),
122 media_stream_manager_(media_stream_manager) { 129 media_stream_manager_(media_stream_manager) {
123 DCHECK(audio_manager_); 130 DCHECK(audio_manager_);
124 DCHECK(media_stream_manager_); 131 DCHECK(media_stream_manager_);
125 } 132 }
126 133
127 AudioRendererHost::~AudioRendererHost() { 134 AudioRendererHost::~AudioRendererHost() {
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 } 487 }
481 488
482 AudioRendererHost::AudioEntry* AudioRendererHost::LookupById(int stream_id) { 489 AudioRendererHost::AudioEntry* AudioRendererHost::LookupById(int stream_id) {
483 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 490 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
484 491
485 AudioEntryMap::const_iterator i = audio_entries_.find(stream_id); 492 AudioEntryMap::const_iterator i = audio_entries_.find(stream_id);
486 return i != audio_entries_.end() ? i->second : NULL; 493 return i != audio_entries_.end() ? i->second : NULL;
487 } 494 }
488 495
489 } // namespace content 496 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698