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

Unified Diff: content/browser/renderer_host/media/audio_renderer_host_unittest.cc

Issue 2578983003: Add AudioStreamRegistry. Move stream counting logic (Closed)
Patch Set: Remove active audio tracking from ARH to see what tests break. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/audio_renderer_host_unittest.cc
diff --git a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
index 41d6ffb367814d179de470a8976fbf5d5f95499b..56fecdc1eb2a30b74eb6fe2938a8d2a5b446a382 100644
--- a/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
+++ b/content/browser/renderer_host/media/audio_renderer_host_unittest.cc
@@ -18,6 +18,7 @@
#include "content/browser/media/capture/audio_mirroring_manager.h"
#include "content/browser/media/media_internals.h"
#include "content/browser/renderer_host/media/audio_input_device_manager.h"
+#include "content/browser/renderer_host/media/audio_stream_registry.h"
#include "content/browser/renderer_host/media/media_stream_manager.h"
#include "content/common/media/audio_messages.h"
#include "content/public/browser/media_device_id.h"
@@ -63,7 +64,6 @@ void ValidateRenderFrameId(int render_process_id,
base::Bind(callback, frame_exists));
}
-
class MockAudioMirroringManager : public AudioMirroringManager {
public:
MockAudioMirroringManager() {}
@@ -94,6 +94,14 @@ class MockRenderProcessHostWithSignaling : public MockRenderProcessHost {
base::RunLoop* auth_run_loop_;
};
+class MockAudioStreamRegistry : public AudioStreamRegistry {
+ public:
+ explicit MockAudioStreamRegistry(int process_id) {}
+ MOCK_METHOD0(RegisterStream, void());
+ MOCK_METHOD0(DeregisterStream, void());
+ MOCK_METHOD1(StreamStateChanged, void(bool));
+};
+
class FakeAudioManagerWithAssociations : public media::FakeAudioManager {
public:
FakeAudioManagerWithAssociations(
@@ -127,11 +135,13 @@ class MockAudioRendererHost : public AudioRendererHost {
public:
MockAudioRendererHost(base::RunLoop* auth_run_loop,
int render_process_id,
+ AudioStreamRegistry* stream_registry,
media::AudioManager* audio_manager,
AudioMirroringManager* mirroring_manager,
MediaStreamManager* media_stream_manager,
const std::string& salt)
: AudioRendererHost(render_process_id,
+ stream_registry,
audio_manager,
mirroring_manager,
media_stream_manager,
@@ -235,13 +245,15 @@ class AudioRendererHostTest : public testing::Test {
audio_manager_(base::MakeUnique<FakeAudioManagerWithAssociations>(
base::ThreadTaskRunnerHandle::Get(),
log_factory.get())),
- render_process_host_(&browser_context_, &auth_run_loop_) {
+ render_process_host_(&browser_context_, &auth_run_loop_),
+ stream_registry_(render_process_host_.GetID()) {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseFakeDeviceForMediaStream);
media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get()));
host_ = new MockAudioRendererHost(
- &auth_run_loop_, render_process_host_.GetID(), audio_manager_.get(),
- &mirroring_manager_, media_stream_manager_.get(), kSalt);
+ &auth_run_loop_, render_process_host_.GetID(), &stream_registry_,
+ audio_manager_.get(), &mirroring_manager_, media_stream_manager_.get(),
+ kSalt);
// Simulate IPC channel connected.
host_->set_peer_process_for_testing(base::Process::Current());
@@ -340,6 +352,7 @@ class AudioRendererHostTest : public testing::Test {
OnDeviceAuthorized(kStreamId, expected_device_status, _, _));
if (expected_device_status == media::OUTPUT_DEVICE_STATUS_OK) {
+ EXPECT_CALL(stream_registry_, RegisterStream());
EXPECT_CALL(*host_.get(), WasNotifiedOfCreation(kStreamId, _));
EXPECT_CALL(mirroring_manager_, AddDiverter(render_process_host_.GetID(),
kRenderFrameId, NotNull()))
@@ -363,11 +376,13 @@ class AudioRendererHostTest : public testing::Test {
expected_device_status == media::OUTPUT_DEVICE_STATUS_OK)
host_->OnCreateStream(kStreamId, kRenderFrameId, params);
- if (expected_device_status == media::OUTPUT_DEVICE_STATUS_OK)
+ if (expected_device_status == media::OUTPUT_DEVICE_STATUS_OK) {
// At some point in the future, a corresponding RemoveDiverter() call must
// be made.
+ EXPECT_CALL(stream_registry_, DeregisterStream());
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()))
.RetiresOnSaturation();
+ }
SyncWithAudioThread();
}
@@ -514,6 +529,7 @@ class AudioRendererHostTest : public testing::Test {
MockAudioMirroringManager mirroring_manager_;
base::RunLoop auth_run_loop_;
MockRenderProcessHostWithSignaling render_process_host_;
+ MockAudioStreamRegistry stream_registry_;
scoped_refptr<MockAudioRendererHost> host_;
DISALLOW_COPY_AND_ASSIGN(AudioRendererHostTest);

Powered by Google App Engine
This is Rietveld 408576698