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

Side by Side Diff: content/test/webrtc_audio_device_test.cc

Issue 24514003: Make BrowserMessageFilter not derive from IPC::ChannelProxy::MessageFilter. This allows us to hide … (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
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/test/webrtc_audio_device_test.h" 5 #include "content/test/webrtc_audio_device_test.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/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 virtual int GetEnabledBindings() const OVERRIDE { return 0; } 70 virtual int GetEnabledBindings() const OVERRIDE { return 0; }
71 virtual TransportDIB* CreateTransportDIB(size_t size) OVERRIDE { 71 virtual TransportDIB* CreateTransportDIB(size_t size) OVERRIDE {
72 return NULL; 72 return NULL;
73 } 73 }
74 virtual void FreeTransportDIB(TransportDIB*) OVERRIDE {} 74 virtual void FreeTransportDIB(TransportDIB*) OVERRIDE {}
75 75
76 private: 76 private:
77 DISALLOW_COPY_AND_ASSIGN(WebRTCMockRenderProcess); 77 DISALLOW_COPY_AND_ASSIGN(WebRTCMockRenderProcess);
78 }; 78 };
79 79
80 class TestAudioRendererHost : public AudioRendererHost {
81 public:
82 TestAudioRendererHost(
83 int render_process_id,
84 media::AudioManager* audio_manager,
85 AudioMirroringManager* mirroring_manager,
86 MediaInternals* media_internals,
87 MediaStreamManager* media_stream_manager,
88 IPC::Channel* channel)
89 : AudioRendererHost(render_process_id, audio_manager, mirroring_manager,
90 media_internals, media_stream_manager),
91 channel_(channel) {}
92 virtual bool Send(IPC::Message* message) OVERRIDE {
93 if (channel_)
94 return channel_->Send(message);
95 return false;
96 }
97 void ResetChannel() {
98 channel_ = NULL;
99 }
100
101 private:
102 IPC::Channel* channel_;
103 };
104
105 class TestAudioInputRendererHost : public AudioInputRendererHost {
106 public:
107 TestAudioInputRendererHost(
108 media::AudioManager* audio_manager,
109 MediaStreamManager* media_stream_manager,
110 AudioMirroringManager* audio_mirroring_manager,
111 media::UserInputMonitor* user_input_monitor,
112 IPC::Channel* channel)
113 : AudioInputRendererHost(audio_manager, media_stream_manager,
114 audio_mirroring_manager, user_input_monitor),
scherkus (not reviewing) 2013/09/26 19:57:37 nit: fix indent? looks off
jam 2013/09/26 20:22:39 Done.
115 channel_(channel) {}
116 virtual bool Send(IPC::Message* message) OVERRIDE {
117 if (channel_)
118 return channel_->Send(message);
119 return false;
120 }
121 void ResetChannel() {
122 channel_ = NULL;
123 }
124
125 private:
126 IPC::Channel* channel_;
127 };
128
80 // Utility scoped class to replace the global content client's renderer for the 129 // Utility scoped class to replace the global content client's renderer for the
81 // duration of the test. 130 // duration of the test.
82 class ReplaceContentClientRenderer { 131 class ReplaceContentClientRenderer {
83 public: 132 public:
84 explicit ReplaceContentClientRenderer(ContentRendererClient* new_renderer) { 133 explicit ReplaceContentClientRenderer(ContentRendererClient* new_renderer) {
85 saved_renderer_ = SetRendererClientForTesting(new_renderer); 134 saved_renderer_ = SetRendererClientForTesting(new_renderer);
86 } 135 }
87 ~ReplaceContentClientRenderer() { 136 ~ReplaceContentClientRenderer() {
88 // Restore the original renderer. 137 // Restore the original renderer.
89 SetRendererClientForTesting(saved_renderer_); 138 SetRendererClientForTesting(saved_renderer_);
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 #if defined(OS_WIN) 300 #if defined(OS_WIN)
252 initialize_com_.reset(); 301 initialize_com_.reset();
253 #endif 302 #endif
254 303
255 audio_manager_.reset(); 304 audio_manager_.reset();
256 } 305 }
257 306
258 void MAYBE_WebRTCAudioDeviceTest::CreateChannel(const char* name) { 307 void MAYBE_WebRTCAudioDeviceTest::CreateChannel(const char* name) {
259 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 308 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
260 309
261 static const int kRenderProcessId = 1;
262 audio_render_host_ = new AudioRendererHost(
263 kRenderProcessId, audio_manager_.get(), mirroring_manager_.get(),
264 media_internals_.get(), media_stream_manager_.get());
265 audio_render_host_->OnChannelConnected(base::GetCurrentProcId());
266
267 audio_input_renderer_host_ =
268 new AudioInputRendererHost(audio_manager_.get(),
269 media_stream_manager_.get(),
270 mirroring_manager_.get(),
271 NULL);
272 audio_input_renderer_host_->OnChannelConnected(base::GetCurrentProcId());
273
274 channel_.reset(new IPC::Channel(name, IPC::Channel::MODE_SERVER, this)); 310 channel_.reset(new IPC::Channel(name, IPC::Channel::MODE_SERVER, this));
275 ASSERT_TRUE(channel_->Connect()); 311 ASSERT_TRUE(channel_->Connect());
276 312
277 audio_render_host_->OnFilterAdded(channel_.get()); 313 static const int kRenderProcessId = 1;
278 audio_input_renderer_host_->OnFilterAdded(channel_.get()); 314 audio_render_host_ = new TestAudioRendererHost(
315 kRenderProcessId, audio_manager_.get(), mirroring_manager_.get(),
316 media_internals_.get(), media_stream_manager_.get(), channel_.get());
317 audio_render_host_->set_peer_pid_for_testing(base::GetCurrentProcId());
318
319 audio_input_renderer_host_ =
320 new TestAudioInputRendererHost(audio_manager_.get(),
321 media_stream_manager_.get(),
322 mirroring_manager_.get(),
323 NULL,
324 channel_.get());
325 audio_input_renderer_host_->set_peer_pid_for_testing(
326 base::GetCurrentProcId());
279 } 327 }
280 328
281 void MAYBE_WebRTCAudioDeviceTest::DestroyChannel() { 329 void MAYBE_WebRTCAudioDeviceTest::DestroyChannel() {
282 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 330 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
283 audio_render_host_->OnChannelClosing(); 331 audio_render_host_->OnChannelClosing();
284 audio_render_host_->OnFilterRemoved(); 332 audio_render_host_->OnFilterRemoved();
285 audio_input_renderer_host_->OnChannelClosing(); 333 audio_input_renderer_host_->OnChannelClosing();
286 audio_input_renderer_host_->OnFilterRemoved(); 334 audio_input_renderer_host_->OnFilterRemoved();
335 audio_render_host_->ResetChannel();
336 audio_input_renderer_host_->ResetChannel();
287 channel_.reset(); 337 channel_.reset();
288 audio_render_host_ = NULL; 338 audio_render_host_ = NULL;
289 audio_input_renderer_host_ = NULL; 339 audio_input_renderer_host_ = NULL;
290 } 340 }
291 341
292 void MAYBE_WebRTCAudioDeviceTest::OnGetAudioHardwareConfig( 342 void MAYBE_WebRTCAudioDeviceTest::OnGetAudioHardwareConfig(
293 AudioParameters* input_params, AudioParameters* output_params) { 343 AudioParameters* input_params, AudioParameters* output_params) {
294 ASSERT_TRUE(audio_hardware_config_); 344 ASSERT_TRUE(audio_hardware_config_);
295 *input_params = audio_hardware_config_->GetInputConfig(); 345 *input_params = audio_hardware_config_->GetInputConfig();
296 *output_params = audio_hardware_config_->GetOutputConfig(); 346 *output_params = audio_hardware_config_->GetOutputConfig();
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 int WebRTCTransportImpl::SendPacket(int channel, const void* data, int len) { 432 int WebRTCTransportImpl::SendPacket(int channel, const void* data, int len) {
383 return network_->ReceivedRTPPacket(channel, data, len); 433 return network_->ReceivedRTPPacket(channel, data, len);
384 } 434 }
385 435
386 int WebRTCTransportImpl::SendRTCPPacket(int channel, const void* data, 436 int WebRTCTransportImpl::SendRTCPPacket(int channel, const void* data,
387 int len) { 437 int len) {
388 return network_->ReceivedRTCPPacket(channel, data, len); 438 return network_->ReceivedRTCPPacket(channel, data, len);
389 } 439 }
390 440
391 } // namespace content 441 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698