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

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

Issue 503683003: Remove implicit conversions from scoped_refptr to T* in content/renderer/media/webrtc* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <vector> 5 #include <vector>
6 6
7 #include "content/renderer/media/audio_device_factory.h" 7 #include "content/renderer/media/audio_device_factory.h"
8 #include "content/renderer/media/audio_message_filter.h" 8 #include "content/renderer/media/audio_message_filter.h"
9 #include "content/renderer/media/media_stream_audio_renderer.h" 9 #include "content/renderer/media/media_stream_audio_renderer.h"
10 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h" 10 #include "content/renderer/media/webrtc/mock_peer_connection_dependency_factory. h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 mock_ipc_(new MockAudioOutputIPC()), 84 mock_ipc_(new MockAudioOutputIPC()),
85 mock_output_device_(new FakeAudioOutputDevice( 85 mock_output_device_(new FakeAudioOutputDevice(
86 scoped_ptr<media::AudioOutputIPC>(mock_ipc_), 86 scoped_ptr<media::AudioOutputIPC>(mock_ipc_),
87 message_loop_->message_loop_proxy())), 87 message_loop_->message_loop_proxy())),
88 factory_(new MockAudioDeviceFactory()), 88 factory_(new MockAudioDeviceFactory()),
89 source_(new MockAudioRendererSource()), 89 source_(new MockAudioRendererSource()),
90 stream_(new rtc::RefCountedObject<MockMediaStream>("label")), 90 stream_(new rtc::RefCountedObject<MockMediaStream>("label")),
91 renderer_(new WebRtcAudioRenderer(stream_, 1, 1, 1, 44100, 441)) { 91 renderer_(new WebRtcAudioRenderer(stream_, 1, 1, 1, 44100, 441)) {
92 EXPECT_CALL(*factory_.get(), CreateOutputDevice(1)) 92 EXPECT_CALL(*factory_.get(), CreateOutputDevice(1))
93 .WillOnce(Return(mock_output_device_)); 93 .WillOnce(Return(mock_output_device_));
94 EXPECT_CALL(*mock_output_device_, Start()); 94 EXPECT_CALL(*mock_output_device_.get(), Start());
95 EXPECT_TRUE(renderer_->Initialize(source_.get())); 95 EXPECT_TRUE(renderer_->Initialize(source_.get()));
96 renderer_proxy_ = renderer_->CreateSharedAudioRendererProxy(stream_); 96 renderer_proxy_ = renderer_->CreateSharedAudioRendererProxy(stream_);
97 } 97 }
98 98
99 // Used to construct |mock_output_device_|. 99 // Used to construct |mock_output_device_|.
100 scoped_ptr<base::MessageLoopForIO> message_loop_; 100 scoped_ptr<base::MessageLoopForIO> message_loop_;
101 MockAudioOutputIPC* mock_ipc_; // Owned by AudioOuputDevice. 101 MockAudioOutputIPC* mock_ipc_; // Owned by AudioOuputDevice.
102 102
103 scoped_refptr<FakeAudioOutputDevice> mock_output_device_; 103 scoped_refptr<FakeAudioOutputDevice> mock_output_device_;
104 scoped_ptr<MockAudioDeviceFactory> factory_; 104 scoped_ptr<MockAudioDeviceFactory> factory_;
105 scoped_ptr<MockAudioRendererSource> source_; 105 scoped_ptr<MockAudioRendererSource> source_;
106 scoped_refptr<webrtc::MediaStreamInterface> stream_; 106 scoped_refptr<webrtc::MediaStreamInterface> stream_;
107 scoped_refptr<WebRtcAudioRenderer> renderer_; 107 scoped_refptr<WebRtcAudioRenderer> renderer_;
108 scoped_refptr<MediaStreamAudioRenderer> renderer_proxy_; 108 scoped_refptr<MediaStreamAudioRenderer> renderer_proxy_;
109 }; 109 };
110 110
111 // Verify that the renderer will be stopped if the only proxy is stopped. 111 // Verify that the renderer will be stopped if the only proxy is stopped.
112 TEST_F(WebRtcAudioRendererTest, StopRenderer) { 112 TEST_F(WebRtcAudioRendererTest, StopRenderer) {
113 renderer_proxy_->Start(); 113 renderer_proxy_->Start();
114 114
115 // |renderer_| has only one proxy, stopping the proxy should stop the sink of 115 // |renderer_| has only one proxy, stopping the proxy should stop the sink of
116 // |renderer_|. 116 // |renderer_|.
117 EXPECT_CALL(*mock_output_device_, Stop()); 117 EXPECT_CALL(*mock_output_device_.get(), Stop());
118 EXPECT_CALL(*source_.get(), RemoveAudioRenderer(renderer_.get())); 118 EXPECT_CALL(*source_.get(), RemoveAudioRenderer(renderer_.get()));
119 renderer_proxy_->Stop(); 119 renderer_proxy_->Stop();
120 } 120 }
121 121
122 // Verify that the renderer will not be stopped unless the last proxy is 122 // Verify that the renderer will not be stopped unless the last proxy is
123 // stopped. 123 // stopped.
124 TEST_F(WebRtcAudioRendererTest, MultipleRenderers) { 124 TEST_F(WebRtcAudioRendererTest, MultipleRenderers) {
125 renderer_proxy_->Start(); 125 renderer_proxy_->Start();
126 126
127 // Create a vector of renderer proxies from the |renderer_|. 127 // Create a vector of renderer proxies from the |renderer_|.
128 std::vector<scoped_refptr<MediaStreamAudioRenderer> > renderer_proxies_; 128 std::vector<scoped_refptr<MediaStreamAudioRenderer> > renderer_proxies_;
129 static const int kNumberOfRendererProxy = 5; 129 static const int kNumberOfRendererProxy = 5;
130 for (int i = 0; i < kNumberOfRendererProxy; ++i) { 130 for (int i = 0; i < kNumberOfRendererProxy; ++i) {
131 scoped_refptr<MediaStreamAudioRenderer> renderer_proxy( 131 scoped_refptr<MediaStreamAudioRenderer> renderer_proxy(
132 renderer_->CreateSharedAudioRendererProxy(stream_)); 132 renderer_->CreateSharedAudioRendererProxy(stream_));
133 renderer_proxy->Start(); 133 renderer_proxy->Start();
134 renderer_proxies_.push_back(renderer_proxy); 134 renderer_proxies_.push_back(renderer_proxy);
135 } 135 }
136 136
137 // Stop the |renderer_proxy_| should not stop the sink since it is used by 137 // Stop the |renderer_proxy_| should not stop the sink since it is used by
138 // other proxies. 138 // other proxies.
139 EXPECT_CALL(*mock_output_device_, Stop()).Times(0); 139 EXPECT_CALL(*mock_output_device_.get(), Stop()).Times(0);
140 renderer_proxy_->Stop(); 140 renderer_proxy_->Stop();
141 141
142 for (int i = 0; i < kNumberOfRendererProxy; ++i) { 142 for (int i = 0; i < kNumberOfRendererProxy; ++i) {
143 if (i != kNumberOfRendererProxy -1) { 143 if (i != kNumberOfRendererProxy -1) {
144 EXPECT_CALL(*mock_output_device_, Stop()).Times(0); 144 EXPECT_CALL(*mock_output_device_.get(), Stop()).Times(0);
145 } else { 145 } else {
146 // When the last proxy is stopped, the sink will stop. 146 // When the last proxy is stopped, the sink will stop.
147 EXPECT_CALL(*source_.get(), RemoveAudioRenderer(renderer_.get())); 147 EXPECT_CALL(*source_.get(), RemoveAudioRenderer(renderer_.get()));
148 EXPECT_CALL(*mock_output_device_, Stop()); 148 EXPECT_CALL(*mock_output_device_.get(), Stop());
149 } 149 }
150 renderer_proxies_[i]->Stop(); 150 renderer_proxies_[i]->Stop();
151 } 151 }
152 } 152 }
153 153
154 } // namespace content 154 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webrtc_audio_device_impl.cc ('k') | content/renderer/media/webrtc_local_audio_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698