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

Side by Side Diff: content/renderer/media/webrtc_audio_device_unittest.cc

Issue 11359196: Associate audio streams with their source/destination RenderView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Restored AudioDeviceFactory. Created new RendererAudioOutputDevice. Created 8 years 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 "base/environment.h" 5 #include "base/environment.h"
6 #include "base/test/test_timeouts.h" 6 #include "base/test/test_timeouts.h"
7 #include "content/renderer/media/audio_hardware.h" 7 #include "content/renderer/media/audio_hardware.h"
8 #include "content/renderer/media/webrtc_audio_device_impl.h" 8 #include "content/renderer/media/webrtc_audio_device_impl.h"
9 #include "content/renderer/media/webrtc_audio_renderer.h" 9 #include "content/renderer/media/webrtc_audio_renderer.h"
10 #include "content/test/webrtc_audio_device_test.h" 10 #include "content/test/webrtc_audio_device_test.h"
11 #include "media/audio/audio_manager.h" 11 #include "media/audio/audio_manager.h"
12 #include "media/audio/audio_util.h" 12 #include "media/audio/audio_util.h"
13 #include "testing/gmock/include/gmock/gmock.h" 13 #include "testing/gmock/include/gmock/gmock.h"
14 #include "third_party/webrtc/voice_engine/include/voe_audio_processing.h" 14 #include "third_party/webrtc/voice_engine/include/voe_audio_processing.h"
15 #include "third_party/webrtc/voice_engine/include/voe_base.h" 15 #include "third_party/webrtc/voice_engine/include/voe_base.h"
16 #include "third_party/webrtc/voice_engine/include/voe_external_media.h" 16 #include "third_party/webrtc/voice_engine/include/voe_external_media.h"
17 #include "third_party/webrtc/voice_engine/include/voe_file.h" 17 #include "third_party/webrtc/voice_engine/include/voe_file.h"
18 #include "third_party/webrtc/voice_engine/include/voe_network.h" 18 #include "third_party/webrtc/voice_engine/include/voe_network.h"
19 19
20 using testing::_; 20 using testing::_;
21 using testing::AnyNumber; 21 using testing::AnyNumber;
22 using testing::InvokeWithoutArgs; 22 using testing::InvokeWithoutArgs;
23 using testing::Return; 23 using testing::Return;
24 using testing::StrEq; 24 using testing::StrEq;
25 25
26 namespace content { 26 namespace content {
27 27
28 namespace { 28 namespace {
29 29
30 const int kRenderViewId = 1;
31
30 class AudioUtil : public AudioUtilInterface { 32 class AudioUtil : public AudioUtilInterface {
31 public: 33 public:
32 AudioUtil() {} 34 AudioUtil() {}
33 35
34 virtual int GetAudioHardwareSampleRate() OVERRIDE { 36 virtual int GetAudioHardwareSampleRate() OVERRIDE {
35 return media::GetAudioHardwareSampleRate(); 37 return media::GetAudioHardwareSampleRate();
36 } 38 }
37 virtual int GetAudioInputHardwareSampleRate( 39 virtual int GetAudioInputHardwareSampleRate(
38 const std::string& device_id) OVERRIDE { 40 const std::string& device_id) OVERRIDE {
39 return media::GetAudioInputHardwareSampleRate(device_id); 41 return media::GetAudioInputHardwareSampleRate(device_id);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 260
259 EXPECT_CALL(media_observer(), 261 EXPECT_CALL(media_observer(),
260 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); 262 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1);
261 EXPECT_CALL(media_observer(), 263 EXPECT_CALL(media_observer(),
262 OnSetAudioStreamPlaying(_, 1, true)).Times(1); 264 OnSetAudioStreamPlaying(_, 1, true)).Times(1);
263 EXPECT_CALL(media_observer(), 265 EXPECT_CALL(media_observer(),
264 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); 266 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1);
265 EXPECT_CALL(media_observer(), 267 EXPECT_CALL(media_observer(),
266 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); 268 OnDeleteAudioStream(_, 1)).Times(AnyNumber());
267 269
268 scoped_refptr<WebRtcAudioRenderer> renderer = new WebRtcAudioRenderer(); 270 scoped_refptr<WebRtcAudioRenderer> renderer =
271 new WebRtcAudioRenderer(kRenderViewId);
269 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( 272 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device(
270 new WebRtcAudioDeviceImpl()); 273 new WebRtcAudioDeviceImpl());
271 webrtc_audio_device->SetSessionId(1); 274 webrtc_audio_device->SetSessionId(1);
272 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer)); 275 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer));
273 276
274 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); 277 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create());
275 ASSERT_TRUE(engine.valid()); 278 ASSERT_TRUE(engine.valid());
276 279
277 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); 280 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get());
278 ASSERT_TRUE(base.valid()); 281 ASSERT_TRUE(base.valid());
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 410
408 EXPECT_CALL(media_observer(), 411 EXPECT_CALL(media_observer(),
409 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1); 412 OnSetAudioStreamStatus(_, 1, StrEq("created"))).Times(1);
410 EXPECT_CALL(media_observer(), 413 EXPECT_CALL(media_observer(),
411 OnSetAudioStreamPlaying(_, 1, true)).Times(1); 414 OnSetAudioStreamPlaying(_, 1, true)).Times(1);
412 EXPECT_CALL(media_observer(), 415 EXPECT_CALL(media_observer(),
413 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1); 416 OnSetAudioStreamStatus(_, 1, StrEq("closed"))).Times(1);
414 EXPECT_CALL(media_observer(), 417 EXPECT_CALL(media_observer(),
415 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); 418 OnDeleteAudioStream(_, 1)).Times(AnyNumber());
416 419
417 scoped_refptr<WebRtcAudioRenderer> renderer = new WebRtcAudioRenderer(); 420 scoped_refptr<WebRtcAudioRenderer> renderer =
418 421 new WebRtcAudioRenderer(kRenderViewId);
419 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( 422 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device(
420 new WebRtcAudioDeviceImpl()); 423 new WebRtcAudioDeviceImpl());
421 webrtc_audio_device->SetSessionId(1); 424 webrtc_audio_device->SetSessionId(1);
422 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer)); 425 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer));
423 426
424 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); 427 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create());
425 ASSERT_TRUE(engine.valid()); 428 ASSERT_TRUE(engine.valid());
426 429
427 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); 430 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get());
428 ASSERT_TRUE(base.valid()); 431 ASSERT_TRUE(base.valid());
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 482
480 EXPECT_CALL(media_observer(), 483 EXPECT_CALL(media_observer(),
481 OnSetAudioStreamStatus(_, 1, StrEq("created"))); 484 OnSetAudioStreamStatus(_, 1, StrEq("created")));
482 EXPECT_CALL(media_observer(), 485 EXPECT_CALL(media_observer(),
483 OnSetAudioStreamPlaying(_, 1, true)); 486 OnSetAudioStreamPlaying(_, 1, true));
484 EXPECT_CALL(media_observer(), 487 EXPECT_CALL(media_observer(),
485 OnSetAudioStreamStatus(_, 1, StrEq("closed"))); 488 OnSetAudioStreamStatus(_, 1, StrEq("closed")));
486 EXPECT_CALL(media_observer(), 489 EXPECT_CALL(media_observer(),
487 OnDeleteAudioStream(_, 1)).Times(AnyNumber()); 490 OnDeleteAudioStream(_, 1)).Times(AnyNumber());
488 491
489 scoped_refptr<WebRtcAudioRenderer> renderer = new WebRtcAudioRenderer(); 492 scoped_refptr<WebRtcAudioRenderer> renderer =
490 493 new WebRtcAudioRenderer(kRenderViewId);
491 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device( 494 scoped_refptr<WebRtcAudioDeviceImpl> webrtc_audio_device(
492 new WebRtcAudioDeviceImpl()); 495 new WebRtcAudioDeviceImpl());
493 webrtc_audio_device->SetSessionId(1); 496 webrtc_audio_device->SetSessionId(1);
494 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer)); 497 EXPECT_TRUE(webrtc_audio_device->SetRenderer(renderer));
495 498
496 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create()); 499 WebRTCAutoDelete<webrtc::VoiceEngine> engine(webrtc::VoiceEngine::Create());
497 ASSERT_TRUE(engine.valid()); 500 ASSERT_TRUE(engine.valid());
498 501
499 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get()); 502 ScopedWebRTCPtr<webrtc::VoEBase> base(engine.get());
500 ASSERT_TRUE(base.valid()); 503 ASSERT_TRUE(base.valid());
(...skipping 28 matching lines...) Expand all
529 532
530 renderer->Stop(); 533 renderer->Stop();
531 EXPECT_EQ(0, base->StopSend(ch)); 534 EXPECT_EQ(0, base->StopSend(ch));
532 EXPECT_EQ(0, base->StopPlayout(ch)); 535 EXPECT_EQ(0, base->StopPlayout(ch));
533 536
534 EXPECT_EQ(0, base->DeleteChannel(ch)); 537 EXPECT_EQ(0, base->DeleteChannel(ch));
535 EXPECT_EQ(0, base->Terminate()); 538 EXPECT_EQ(0, base->Terminate());
536 } 539 }
537 540
538 } // namespace content 541 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698