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

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

Issue 9316077: Enable audio/video tag in content_shell (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix content_unittests Created 8 years, 9 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/environment.h" 6 #include "base/environment.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/sync_socket.h" 10 #include "base/sync_socket.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 class MockAudioRendererHost : public AudioRendererHost { 44 class MockAudioRendererHost : public AudioRendererHost {
45 public: 45 public:
46 explicit MockAudioRendererHost( 46 explicit MockAudioRendererHost(
47 content::ResourceContext* resource_context, 47 content::ResourceContext* resource_context,
48 AudioManager* audio_manager) 48 AudioManager* audio_manager)
49 : AudioRendererHost(resource_context, audio_manager), 49 : AudioRendererHost(resource_context, audio_manager),
50 shared_memory_length_(0) { 50 shared_memory_length_(0) {
51 } 51 }
52 52
53 virtual ~MockAudioRendererHost() { 53 virtual ~MockAudioRendererHost() {
54 // Make sure all audio streams have been deleted.
55 EXPECT_EQ(0u, audio_entries_.size());
54 } 56 }
55 57
56 // A list of mock methods. 58 // A list of mock methods.
57 MOCK_METHOD2(OnStreamCreated, 59 MOCK_METHOD2(OnStreamCreated,
58 void(int stream_id, int length)); 60 void(int stream_id, int length));
59 MOCK_METHOD1(OnStreamPlaying, void(int stream_id)); 61 MOCK_METHOD1(OnStreamPlaying, void(int stream_id));
60 MOCK_METHOD1(OnStreamPaused, void(int stream_id)); 62 MOCK_METHOD1(OnStreamPaused, void(int stream_id));
61 MOCK_METHOD1(OnStreamError, void(int stream_id)); 63 MOCK_METHOD1(OnStreamError, void(int stream_id));
62 MOCK_METHOD2(OnStreamVolume, void(int stream_id, double volume)); 64 MOCK_METHOD2(OnStreamVolume, void(int stream_id, double volume));
63 65
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 184
183 audio_manager_.reset(); 185 audio_manager_.reset();
184 186
185 io_thread_.reset(); 187 io_thread_.reset();
186 ui_thread_.reset(); 188 ui_thread_.reset();
187 } 189 }
188 190
189 void Create() { 191 void Create() {
190 EXPECT_CALL(*observer_, 192 EXPECT_CALL(*observer_,
191 OnSetAudioStreamStatus(_, kStreamId, "created")); 193 OnSetAudioStreamStatus(_, kStreamId, "created"));
192 EXPECT_CALL(*observer_, OnDeleteAudioStream(_, kStreamId));
193 194
194 InSequence s; 195 InSequence s;
195 // We will first receive an OnStreamCreated() signal. 196 // We will first receive an OnStreamCreated() signal.
196 EXPECT_CALL(*host_, OnStreamCreated(kStreamId, _)) 197 EXPECT_CALL(*host_, OnStreamCreated(kStreamId, _))
197 .WillOnce(QuitMessageLoop(message_loop_.get())); 198 .WillOnce(QuitMessageLoop(message_loop_.get()));
198 199
199 AudioParameters params; 200 AudioParameters params;
200 if (mock_stream_) 201 if (mock_stream_)
201 params.format = AudioParameters::AUDIO_MOCK; 202 params.format = AudioParameters::AUDIO_MOCK;
202 else 203 else
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 // Find the first AudioOutputController in the AudioRendererHost. 257 // Find the first AudioOutputController in the AudioRendererHost.
257 CHECK(host_->audio_entries_.size()) 258 CHECK(host_->audio_entries_.size())
258 << "Calls Create() before calling this method"; 259 << "Calls Create() before calling this method";
259 media::AudioOutputController* controller = 260 media::AudioOutputController* controller =
260 host_->audio_entries_.begin()->second->controller; 261 host_->audio_entries_.begin()->second->controller;
261 CHECK(controller) << "AudioOutputController not found"; 262 CHECK(controller) << "AudioOutputController not found";
262 263
263 // Expect an error signal sent through IPC. 264 // Expect an error signal sent through IPC.
264 EXPECT_CALL(*host_, OnStreamError(kStreamId)); 265 EXPECT_CALL(*host_, OnStreamError(kStreamId));
265 266
267 // Expect the audio stream will be deleted.
268 EXPECT_CALL(*observer_, OnDeleteAudioStream(_, kStreamId));
269
266 // Simulate an error sent from the audio device. 270 // Simulate an error sent from the audio device.
267 host_->OnError(controller, 0); 271 host_->OnError(controller, 0);
268 SyncWithAudioThread(); 272 SyncWithAudioThread();
269 273
270 // Expect the audio stream record is removed. 274 // Expect the audio stream record is removed.
271 EXPECT_EQ(0u, host_->audio_entries_.size()); 275 EXPECT_EQ(0u, host_->audio_entries_.size());
272 } 276 }
273 277
274 // Called on the audio thread. 278 // Called on the audio thread.
275 static void PostQuitMessageLoop(MessageLoop* message_loop) { 279 static void PostQuitMessageLoop(MessageLoop* message_loop) {
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 EnableRealDevice(); 405 EnableRealDevice();
402 406
403 Create(); 407 Create();
404 Play(); 408 Play();
405 SimulateError(); 409 SimulateError();
406 Close(); 410 Close();
407 } 411 }
408 412
409 413
410 // TODO(hclam): Add tests for data conversation in low latency mode. 414 // TODO(hclam): Add tests for data conversation in low latency mode.
OLDNEW
« no previous file with comments | « content/browser/renderer_host/media/audio_renderer_host.cc ('k') | content/browser/renderer_host/render_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698