Index: content/renderer/media/media_recorder_handler_unittest.cc |
diff --git a/content/renderer/media/media_recorder_handler_unittest.cc b/content/renderer/media/media_recorder_handler_unittest.cc |
index 4a92b223b26d5d55755dd62eeadb3999f94916b6..0769a263b2ec746e2358e28fbd3a5c18682f5606 100644 |
--- a/content/renderer/media/media_recorder_handler_unittest.cc |
+++ b/content/renderer/media/media_recorder_handler_unittest.cc |
@@ -41,7 +41,11 @@ static const std::string kTestAudioTrackId = "audio_track_id"; |
static const int kTestAudioChannels = 2; |
static const int kTestAudioBitsPerSample = 16; |
static const int kTestAudioSampleRate = 48000; |
-static const int kTestAudioBufferDurationMS = 60; |
+// MediaStream Audio Track always provides audio in chunks of 10 ms. |
miu
2016/01/29 02:37:15
This is not a global assumption. The current Chro
mcasas
2016/01/29 20:37:34
Removed the comment. For these tests is fine to us
|
+static const int kMediaStreamAudioTrackBufferDurationMs = 10; |
+// Opus works with 60ms buffers, so 6 MediaStreamAudioTrack Buffers are needed |
+// to encode one output buffer. |
+static const int kRatioOpusToMediaStreamTrackBuffers = 6; |
struct MediaRecorderTestParams { |
const bool has_video; |
@@ -59,7 +63,7 @@ struct MediaRecorderTestParams { |
static const MediaRecorderTestParams kMediaRecorderTestParams[] = { |
{true, false, "video/webm", "vp8", 52, 32, 0, 0}, |
{true, false, "video/webm", "vp9", 33, 18, 0, 0}, |
- {false, true, "video/webm", "vp8", 0, 0, 990, 706}}; |
+ {false, true, "video/webm", "vp8", 0, 0, 996, 746}}; |
miu
2016/01/29 02:37:15
It's a bit brittle to require the tests pass based
mcasas
2016/01/29 20:37:34
My opinion is that a potential libvpx roller shoul
|
class MediaRecorderHandlerTest : public TestWithParam<MediaRecorderTestParams>, |
public blink::WebMediaRecorderHandlerClient { |
@@ -113,7 +117,7 @@ class MediaRecorderHandlerTest : public TestWithParam<MediaRecorderTestParams>, |
scoped_ptr<media::AudioBus> NextAudioBus() { |
scoped_ptr<media::AudioBus> bus(media::AudioBus::Create( |
kTestAudioChannels, |
- kTestAudioSampleRate * kTestAudioBufferDurationMS / 1000)); |
+ kTestAudioSampleRate * kMediaStreamAudioTrackBufferDurationMs / 1000)); |
audio_source_.OnMoreData(bus.get(), 0, 0); |
return bus; |
} |
@@ -284,7 +288,7 @@ TEST_P(MediaRecorderHandlerTest, EncodeAudioFrames) { |
media::AudioParameters params( |
media::AudioParameters::AUDIO_PCM_LINEAR, media::CHANNEL_LAYOUT_STEREO, |
kTestAudioSampleRate, kTestAudioBitsPerSample, |
- kTestAudioSampleRate * kTestAudioBufferDurationMS / 1000); |
+ kTestAudioSampleRate * kMediaStreamAudioTrackBufferDurationMs / 1000); |
SetAudioFormatForTesting(params); |
{ |
@@ -298,7 +302,8 @@ TEST_P(MediaRecorderHandlerTest, EncodeAudioFrames) { |
.Times(1) |
.WillOnce(RunClosure(quit_closure)); |
- OnAudioBusForTesting(*audio_bus1); |
+ for (int i = 0; i < kRatioOpusToMediaStreamTrackBuffers; ++i) |
+ OnAudioBusForTesting(*audio_bus1); |
run_loop.Run(); |
} |
@@ -315,7 +320,8 @@ TEST_P(MediaRecorderHandlerTest, EncodeAudioFrames) { |
.Times(1) |
.WillOnce(RunClosure(quit_closure)); |
- OnAudioBusForTesting(*audio_bus2); |
+ for (int i = 0; i < kRatioOpusToMediaStreamTrackBuffers; ++i) |
+ OnAudioBusForTesting(*audio_bus2); |
run_loop.Run(); |
} |