From 532f5ce2dad3f5b49166ec0a21a7f9d875605bdb Mon Sep 17 00:00:00 2001
From: "dalecurtis@google.com"
 <dalecurtis@google.com@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 1 Jun 2012 23:22:14 +0000
Subject: Fix audio hashing.  Split hash tests out of normal test.

The previous hashing code didn't work for a few reasons:
- Underflow situations (valgrind, etc) would result in different
  hashes due to silence we output during underflow.
- Hashing was endian specific, so tests would fail on ARM.
- Each FillBufferTask hashed all the audio data for all channels
  each time, which breaks when frames_recieved varies under load.

The above have been fixed:
- Hash tests are split out into new BasicPlaybackHashed test.
- Underflow is now disabled for audio hash testing.
- Hashes are computed in little-endian byte order.
- A separate hash context is maintained for each channel and only
  reduced to a single hash at the end.

BUG=129284
TEST=media_unittests under valgrind/tsan.

Review URL: https://chromiumcodereview.appspot.com/10444120

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140123 0039d316-1c4b-4281-b951-d872f2087c98
---
 tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt | 3 ++-
 tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt        | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

(limited to 'tools')

diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt
index 81c5581..24955ee 100644
--- a/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt
@@ -1,4 +1,5 @@
 # Win TSan disturbs ffmpeg's output, causing hash comparison assertion to fail.
 # http://crbug.com/120396
-PipelineIntegrationTest.BasicPlayback
+# Also still hitting DCHECK(time <= max_time) http://crbug.com/126183
+PipelineIntegrationTest.BasicPlaybackHashed
 PipelineIntegrationTest.EncryptedPlayback
diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt
index 4dfad21..d5acae6 100644
--- a/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt
@@ -1,3 +1,4 @@
 # Still hitting DCHECK(time <= max_time) http://crbug.com/126183
 PipelineIntegrationTest.BasicPlayback
+PipelineIntegrationTest.BasicPlaybackHashed
 PipelineIntegrationTest.EncryptedPlayback
-- 
cgit v1.1