| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <deque> | 8 #include <deque> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 EXPECT_EQ(sample_info.duration, buffer->duration().InMicroseconds()); | 270 EXPECT_EQ(sample_info.duration, buffer->duration().InMicroseconds()); |
| 271 EXPECT_FALSE(buffer->end_of_stream()); | 271 EXPECT_FALSE(buffer->end_of_stream()); |
| 272 | 272 |
| 273 scoped_ptr<AudioBus> output = | 273 scoped_ptr<AudioBus> output = |
| 274 AudioBus::Create(buffer->channel_count(), buffer->frame_count()); | 274 AudioBus::Create(buffer->channel_count(), buffer->frame_count()); |
| 275 buffer->ReadFrames(buffer->frame_count(), 0, 0, output.get()); | 275 buffer->ReadFrames(buffer->frame_count(), 0, 0, output.get()); |
| 276 | 276 |
| 277 // Generate a lossy hash of the audio used for comparison across platforms. | 277 // Generate a lossy hash of the audio used for comparison across platforms. |
| 278 AudioHash audio_hash; | 278 AudioHash audio_hash; |
| 279 audio_hash.Update(output.get(), output->frames()); | 279 audio_hash.Update(output.get(), output->frames()); |
| 280 EXPECT_EQ(sample_info.hash, audio_hash.ToString()); | 280 EXPECT_TRUE(audio_hash.IsEquivalent(sample_info.hash, 0.02)) |
| 281 << "Audio hashes differ. Expected: " << sample_info.hash |
| 282 << " Actual: " << audio_hash.ToString(); |
| 281 | 283 |
| 282 if (!exact_hash.empty()) { | 284 if (!exact_hash.empty()) { |
| 283 EXPECT_EQ(exact_hash, GetDecodedAudioMD5(i)); | 285 EXPECT_EQ(exact_hash, GetDecodedAudioMD5(i)); |
| 284 | 286 |
| 285 // Verify different hashes are being generated. None of our test data | 287 // Verify different hashes are being generated. None of our test data |
| 286 // files have audio that hashes out exactly the same. | 288 // files have audio that hashes out exactly the same. |
| 287 if (i > 0) | 289 if (i > 0) |
| 288 EXPECT_NE(exact_hash, GetDecodedAudioMD5(i - 1)); | 290 EXPECT_NE(exact_hash, GetDecodedAudioMD5(i - 1)); |
| 289 } | 291 } |
| 290 } | 292 } |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 446 {OPUS, kUnknownAudioCodec, "", NULL, 0, 0, CHANNEL_LAYOUT_NONE}, | 448 {OPUS, kUnknownAudioCodec, "", NULL, 0, 0, CHANNEL_LAYOUT_NONE}, |
| 447 }; | 449 }; |
| 448 | 450 |
| 449 INSTANTIATE_TEST_CASE_P(OpusAudioDecoderTest, | 451 INSTANTIATE_TEST_CASE_P(OpusAudioDecoderTest, |
| 450 AudioDecoderTest, | 452 AudioDecoderTest, |
| 451 testing::ValuesIn(kOpusTests)); | 453 testing::ValuesIn(kOpusTests)); |
| 452 INSTANTIATE_TEST_CASE_P(OpusAudioDecoderBehavioralTest, | 454 INSTANTIATE_TEST_CASE_P(OpusAudioDecoderBehavioralTest, |
| 453 OpusAudioDecoderBehavioralTest, | 455 OpusAudioDecoderBehavioralTest, |
| 454 testing::ValuesIn(kOpusBehavioralTest)); | 456 testing::ValuesIn(kOpusBehavioralTest)); |
| 455 | 457 |
| 458 // Disable all FFmpeg decoder tests on Android. http://crbug.com/570762. |
| 459 #if !defined(OS_ANDROID) |
| 460 |
| 456 #if defined(USE_PROPRIETARY_CODECS) | 461 #if defined(USE_PROPRIETARY_CODECS) |
| 457 const DecodedBufferExpectations kSfxMp3Expectations[] = { | 462 const DecodedBufferExpectations kSfxMp3Expectations[] = { |
| 458 {0, 1065, "2.81,3.99,4.53,4.10,3.08,2.46,"}, | 463 {0, 1065, "2.81,3.99,4.53,4.10,3.08,2.46,"}, |
| 459 {1065, 26122, "-3.81,-4.14,-3.90,-3.36,-3.03,-3.23,"}, | 464 {1065, 26122, "-3.81,-4.14,-3.90,-3.36,-3.03,-3.23,"}, |
| 460 {27188, 26122, "4.24,3.95,4.22,4.78,5.13,4.93,"}, | 465 {27188, 26122, "4.24,3.95,4.22,4.78,5.13,4.93,"}, |
| 461 }; | 466 }; |
| 462 | 467 |
| 463 const DecodedBufferExpectations kSfxAdtsExpectations[] = { | 468 const DecodedBufferExpectations kSfxAdtsExpectations[] = { |
| 464 {0, 23219, "-1.90,-1.53,-0.15,1.28,1.23,-0.33,"}, | 469 {0, 23219, "-1.90,-1.53,-0.15,1.28,1.23,-0.33,"}, |
| 465 {23219, 23219, "0.54,0.88,2.19,3.54,3.24,1.63,"}, | 470 {23219, 23219, "0.54,0.88,2.19,3.54,3.24,1.63,"}, |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 {FFMPEG, kUnknownAudioCodec, "", NULL, 0, 0, CHANNEL_LAYOUT_NONE}, | 532 {FFMPEG, kUnknownAudioCodec, "", NULL, 0, 0, CHANNEL_LAYOUT_NONE}, |
| 528 }; | 533 }; |
| 529 | 534 |
| 530 INSTANTIATE_TEST_CASE_P(FFmpegAudioDecoderTest, | 535 INSTANTIATE_TEST_CASE_P(FFmpegAudioDecoderTest, |
| 531 AudioDecoderTest, | 536 AudioDecoderTest, |
| 532 testing::ValuesIn(kFFmpegTests)); | 537 testing::ValuesIn(kFFmpegTests)); |
| 533 INSTANTIATE_TEST_CASE_P(FFmpegAudioDecoderBehavioralTest, | 538 INSTANTIATE_TEST_CASE_P(FFmpegAudioDecoderBehavioralTest, |
| 534 FFmpegAudioDecoderBehavioralTest, | 539 FFmpegAudioDecoderBehavioralTest, |
| 535 testing::ValuesIn(kFFmpegBehavioralTest)); | 540 testing::ValuesIn(kFFmpegBehavioralTest)); |
| 536 | 541 |
| 542 #endif // !defined(OS_ANDROID) |
| 543 |
| 537 } // namespace media | 544 } // namespace media |
| OLD | NEW |