Index: content/renderer/media/webrtc_audio_renderer_unittest.cc |
diff --git a/content/renderer/media/webrtc_audio_renderer_unittest.cc b/content/renderer/media/webrtc_audio_renderer_unittest.cc |
index 90edcf29dd662c34d93e438a1af554d647f81d2e..240aeb6019222d49b902216c609aa9ea5e54771d 100644 |
--- a/content/renderer/media/webrtc_audio_renderer_unittest.cc |
+++ b/content/renderer/media/webrtc_audio_renderer_unittest.cc |
@@ -24,6 +24,9 @@ namespace content { |
namespace { |
+const int kHardwareSampleRate = 44100; |
+const int kHardwareBufferSize = 512; |
+ |
class MockAudioOutputIPC : public media::AudioOutputIPC { |
public: |
MockAudioOutputIPC() {} |
@@ -88,7 +91,8 @@ class WebRtcAudioRendererTest : public testing::Test { |
factory_(new MockAudioDeviceFactory()), |
source_(new MockAudioRendererSource()), |
stream_(new rtc::RefCountedObject<MockMediaStream>("label")), |
- renderer_(new WebRtcAudioRenderer(stream_, 1, 1, 1, 44100, 441)) { |
+ renderer_(new WebRtcAudioRenderer(stream_, 1, 1, 1, 44100, |
+ kHardwareBufferSize)) { |
EXPECT_CALL(*factory_.get(), CreateOutputDevice(1)) |
.WillOnce(Return(mock_output_device_.get())); |
EXPECT_CALL(*mock_output_device_.get(), Start()); |
@@ -151,4 +155,25 @@ TEST_F(WebRtcAudioRendererTest, MultipleRenderers) { |
} |
} |
+// Verify that the sink of the renderer is using the expected sample rate and |
+// buffer size. |
+TEST_F(WebRtcAudioRendererTest, VerifySinkParameters) { |
+ renderer_proxy_->Start(); |
+#if defined(OS_LINUX) || defined(OS_MACOSX) |
+ static const int kExpectedBufferSize = kHardwareSampleRate / 100; |
+#elif defined(OS_ANDROID) |
+ static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; |
+#else |
+ // Windows. |
+ static const int kExpectedBufferSize = kHardwareBufferSize; |
+#endif |
+ EXPECT_EQ(kExpectedBufferSize, renderer_->buffer_size()); |
+ EXPECT_EQ(kHardwareSampleRate, renderer_->sample_rate()); |
+ EXPECT_EQ(2, renderer_->channels()); |
+ |
+ EXPECT_CALL(*mock_output_device_.get(), Stop()); |
+ EXPECT_CALL(*source_.get(), RemoveAudioRenderer(renderer_.get())); |
+ renderer_proxy_->Stop(); |
+} |
+ |
} // namespace content |