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

Unified Diff: media/base/audio_renderer_mixer_unittest.cc

Issue 1942803002: Caching AudioOutputDevice instances in mixer manager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase, fix for sleep() compile error on win and a bit of cleanup around timeouts. Created 4 years, 7 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: media/base/audio_renderer_mixer_unittest.cc
diff --git a/media/base/audio_renderer_mixer_unittest.cc b/media/base/audio_renderer_mixer_unittest.cc
index f4c1122e4c380d633a3a57328c5476b51de23b5e..44b95aa0ee1115f12cdd6da1acb5e7053cdf550a 100644
--- a/media/base/audio_renderer_mixer_unittest.cc
+++ b/media/base/audio_renderer_mixer_unittest.cc
@@ -72,7 +72,10 @@ class AudioRendererMixerTest
EXPECT_CALL(*sink_.get(), Start());
EXPECT_CALL(*sink_.get(), Stop());
- mixer_.reset(new AudioRendererMixer(output_parameters_, sink_));
+ mixer_.reset(
+ new AudioRendererMixer(output_parameters_, sink_.get(),
+ base::Bind(&AudioRendererMixerTest::ReleaseSink,
+ base::Unretained(this))));
mixer_callback_ = sink_->callback();
audio_bus_ = AudioBus::Create(output_parameters_);
@@ -96,6 +99,11 @@ class AudioRendererMixerTest
const std::string&,
const url::Origin&));
+ MOCK_METHOD2(GetOutputDeviceInfo,
+ OutputDeviceInfo(const std::string&, const url::Origin&));
+
+ MOCK_METHOD1(ReleaseSink, void(AudioRendererSink*));
+
void InitializeInputs(int inputs_per_sample_rate) {
mixer_inputs_.reserve(inputs_per_sample_rate * input_parameters_.size());
fake_callbacks_.reserve(inputs_per_sample_rate * input_parameters_.size());
@@ -112,13 +120,7 @@ class AudioRendererMixerTest
for (int j = 0; j < inputs_per_sample_rate; ++j, ++input) {
fake_callbacks_.push_back(new FakeAudioRenderCallback(step));
- mixer_inputs_.push_back(new AudioRendererMixerInput(
- base::Bind(&AudioRendererMixerTest::GetMixer,
- base::Unretained(this)),
- base::Bind(&AudioRendererMixerTest::RemoveMixer,
- base::Unretained(this)),
- // Default device ID and security origin.
- std::string(), url::Origin()));
+ mixer_inputs_.push_back(CreateMixerInput());
mixer_inputs_[input]->Initialize(input_parameters_[i],
fake_callbacks_[input]);
mixer_inputs_[input]->SetVolume(1.0f);
@@ -329,6 +331,17 @@ class AudioRendererMixerTest
mixer_inputs_[i]->Stop();
}
+ scoped_refptr<AudioRendererMixerInput> CreateMixerInput() {
+ return new AudioRendererMixerInput(
+ base::Bind(&AudioRendererMixerTest::GetMixer, base::Unretained(this)),
+ base::Bind(&AudioRendererMixerTest::RemoveMixer,
+ base::Unretained(this)),
+ base::Bind(&AudioRendererMixerTest::GetOutputDeviceInfo,
+ base::Unretained(this)),
+ // Default device ID and security origin.
+ std::string(), url::Origin());
+ }
+
protected:
virtual ~AudioRendererMixerTest() {}
@@ -466,12 +479,7 @@ TEST_P(AudioRendererMixerBehavioralTest, OnRenderErrorPausedInput) {
TEST_P(AudioRendererMixerBehavioralTest, NoInitialize) {
EXPECT_CALL(*this, RemoveMixer(testing::_, testing::_, testing::_)).Times(0);
scoped_refptr<AudioRendererMixerInput> audio_renderer_mixer_input =
- new AudioRendererMixerInput(
- base::Bind(&AudioRendererMixerTest::GetMixer, base::Unretained(this)),
- base::Bind(&AudioRendererMixerTest::RemoveMixer,
- base::Unretained(this)),
- // Default device ID and security origin.
- std::string(), url::Origin());
+ CreateMixerInput();
}
// Ensure the physical stream is paused after a certain amount of time with no

Powered by Google App Engine
This is Rietveld 408576698