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

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

Issue 2578983003: Add AudioStreamRegistry. Move stream counting logic (Closed)
Patch Set: Add missing EXPECT_TRUE. Created 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/audio_output_delegate_unittest.cc
diff --git a/content/browser/renderer_host/media/audio_output_delegate_unittest.cc b/content/browser/renderer_host/media/audio_output_delegate_unittest.cc
index a25d127fe3fc7788e441260997b2fd27f024ecd7..daa82d4c7ede86dad2a4de44576ffa86ed932f1f 100644
--- a/content/browser/renderer_host/media/audio_output_delegate_unittest.cc
+++ b/content/browser/renderer_host/media/audio_output_delegate_unittest.cc
@@ -19,6 +19,7 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/media_observer.h"
#include "content/public/test/test_browser_thread_bundle.h"
+#include "content/test/mock_audio_stream_registry.h"
#include "media/audio/fake_audio_log_factory.h"
#include "media/audio/fake_audio_manager.h"
#include "media/base/media_switches.h"
@@ -76,7 +77,6 @@ class MockObserver : public content::MediaObserver {
class MockEventHandler : public AudioOutputDelegate::EventHandler {
public:
- MOCK_METHOD1(OnStreamStateChanged, void(bool playing));
MOCK_METHOD3(OnStreamCreated,
void(int stream_id,
base::SharedMemory* shared_memory,
@@ -99,7 +99,8 @@ class DummyAudioOutputStream : public media::AudioOutputStream {
class AudioOutputDelegateTest : public testing::Test {
public:
- AudioOutputDelegateTest() {
+ AudioOutputDelegateTest()
+ : stream_registry_(new MockAudioStreamRegistry(kRenderProcessId)) {
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kUseFakeDeviceForMediaStream);
@@ -118,6 +119,15 @@ class AudioOutputDelegateTest : public testing::Test {
base::MakeUnique<MediaStreamManager>(audio_manager_.get());
}
+ ~AudioOutputDelegateTest() override {
+ stream_registry_.reset();
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE, base::Bind([]() {
+ AudioStreamRegistryImpl::
+ DetachAudioStreamsTrackerFromThreadForTesting();
+ }));
+ }
+
// Test bodies are here, so that we can run them on the IO thread.
void CreateTest(base::Closure done) {
EXPECT_CALL(media_observer_,
@@ -126,9 +136,10 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -138,6 +149,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -150,14 +162,16 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
{
InSequence s;
- EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
+ EXPECT_CALL(*stream_registry_, OutputStreamStateChanged(NotNull(), true));
+ EXPECT_CALL(*stream_registry_,
+ OutputStreamStateChanged(NotNull(), false));
}
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -169,6 +183,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -181,9 +196,10 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -195,6 +211,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -207,16 +224,19 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
{
InSequence s;
- EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
+ EXPECT_CALL(*stream_registry_, OutputStreamStateChanged(NotNull(), true));
+ EXPECT_CALL(*stream_registry_,
+ OutputStreamStateChanged(NotNull(), false));
+ EXPECT_CALL(*stream_registry_, OutputStreamStateChanged(NotNull(), true));
+ EXPECT_CALL(*stream_registry_,
+ OutputStreamStateChanged(NotNull(), false));
}
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -230,6 +250,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -242,14 +263,16 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
{
InSequence s;
- EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
+ EXPECT_CALL(*stream_registry_, OutputStreamStateChanged(NotNull(), true));
+ EXPECT_CALL(*stream_registry_,
+ OutputStreamStateChanged(NotNull(), false));
}
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -262,6 +285,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -274,9 +298,10 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -289,6 +314,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -301,9 +327,10 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -319,6 +346,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -331,14 +359,16 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
{
InSequence s;
- EXPECT_CALL(event_handler_, OnStreamStateChanged(true));
- EXPECT_CALL(event_handler_, OnStreamStateChanged(false));
+ EXPECT_CALL(*stream_registry_, OutputStreamStateChanged(NotNull(), true));
+ EXPECT_CALL(*stream_registry_,
+ OutputStreamStateChanged(NotNull(), false));
}
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -352,6 +382,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -365,9 +396,10 @@ class AudioOutputDelegateTest : public testing::Test {
EXPECT_CALL(event_handler_, OnStreamError(kStreamId));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -379,6 +411,7 @@ class AudioOutputDelegateTest : public testing::Test {
SyncWithAllThreads();
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
delegate.reset();
SyncWithAllThreads();
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, done);
@@ -389,10 +422,12 @@ class AudioOutputDelegateTest : public testing::Test {
OnCreatingAudioStream(kRenderProcessId, kRenderFrameId));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -411,10 +446,12 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -436,10 +473,12 @@ class AudioOutputDelegateTest : public testing::Test {
OnStreamCreated(kStreamId, NotNull(), NotNull()));
EXPECT_CALL(mirroring_manager_,
AddDiverter(kRenderProcessId, kRenderFrameId, NotNull()));
+ EXPECT_CALL(*stream_registry_, RegisterOutputStream(NotNull()));
EXPECT_CALL(mirroring_manager_, RemoveDiverter(NotNull()));
+ EXPECT_CALL(*stream_registry_, DeregisterOutputStream(NotNull()));
AudioOutputDelegate::UniquePtr delegate = AudioOutputDelegate::Create(
- &event_handler_, audio_manager_.get(),
+ &event_handler_, stream_registry_.get(), audio_manager_.get(),
log_factory_.CreateAudioLog(
media::AudioLogFactory::AUDIO_OUTPUT_CONTROLLER),
&mirroring_manager_, &media_observer_, kStreamId, kRenderFrameId,
@@ -463,6 +502,8 @@ class AudioOutputDelegateTest : public testing::Test {
StrictMock<MockAudioMirroringManager> mirroring_manager_;
StrictMock<MockEventHandler> event_handler_;
StrictMock<MockObserver> media_observer_;
+ std::unique_ptr<MockAudioStreamRegistry, BrowserThread::DeleteOnIOThread>
+ stream_registry_;
media::FakeAudioLogFactory log_factory_;
private:

Powered by Google App Engine
This is Rietveld 408576698