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

Side by Side Diff: media/ffmpeg/ffmpeg_regression_tests.cc

Issue 11414076: Roll FFMpeg DEPS to pick up security fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « DEPS ('k') | media/filters/pipeline_integration_test_base.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Regression tests for FFmpeg. Security test files can be found in the 5 // Regression tests for FFmpeg. Security test files can be found in the
6 // internal media test data directory: 6 // internal media test data directory:
7 // 7 //
8 // svn://svn.chromium.org/chrome-internal/trunk/data/media/security/ 8 // svn://svn.chromium.org/chrome-internal/trunk/data/media/security/
9 // 9 //
10 // Simply add the custom_dep below to your gclient and sync: 10 // Simply add the custom_dep below to your gclient and sync:
11 // 11 //
12 // "src/media/test/data/security": 12 // "src/media/test/data/security":
13 // "svn://chrome-svn/chrome-internal/trunk/data/media/security" 13 // "svn://chrome-svn/chrome-internal/trunk/data/media/security"
14 // 14 //
15 // Many of the files here do not cause issues outside of tooling, so you'll need 15 // Many of the files here do not cause issues outside of tooling, so you'll need
16 // to run this test under ASAN, TSAN, and Valgrind to ensure that all issues are 16 // to run this test under ASAN, TSAN, and Valgrind to ensure that all issues are
17 // caught. 17 // caught.
18 // 18 //
19 // Test cases labeled FLAKY may not always pass, but they should never crash or 19 // Test cases labeled FLAKY may not always pass, but they should never crash or
20 // cause any kind of warnings or errors under tooling. 20 // cause any kind of warnings or errors under tooling.
21 // 21 //
22 // Frame hashes must be generated with --video-threads=1 for correctness. 22 // Frame hashes must be generated with --video-threads=1 for correctness.
23 // 23 //
24 // Known issues: 24 // Known issues:
25 // Cr47325 will generate an UninitValue error under Valgrind inside of the 25 // Cr47325 will generate an UninitValue error under Valgrind inside of the
26 // MD5 hashing code. The error occurs due to some problematic error 26 // MD5 hashing code. The error occurs due to some problematic error
27 // resilence code for H264 inside of FFmpeg. See http://crbug.com/119020 27 // resilence code for H264 inside of FFmpeg. See http://crbug.com/119020
28 // 28 //
29 // FLAKY_OGV_0 may run out of memory under ASAN on IA32 Linux/Mac.
30 //
31 // Some OGG files leak ~30 bytes of memory, upstream tracking bug: 29 // Some OGG files leak ~30 bytes of memory, upstream tracking bug:
32 // https://ffmpeg.org/trac/ffmpeg/ticket/1244 30 // https://ffmpeg.org/trac/ffmpeg/ticket/1244
33 // 31 //
32 // Some OGG files leak hundreds of kilobytes of memory, upstream bug:
33 // https://ffmpeg.org/trac/ffmpeg/ticket/1931
34 34
35 #include "media/filters/pipeline_integration_test_base.h" 35 #include "media/filters/pipeline_integration_test_base.h"
36 36
37 #include "base/bind.h" 37 #include "base/bind.h"
38 #include "media/base/test_data_util.h" 38 #include "media/base/test_data_util.h"
39 39
40 namespace media { 40 namespace media {
41 41
42 struct RegressionTestData { 42 struct RegressionTestData {
43 RegressionTestData(const char* filename, PipelineStatus init_status, 43 RegressionTestData(const char* filename, PipelineStatus init_status,
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 92
93 // Test cases from issues. 93 // Test cases from issues.
94 FFMPEG_TEST_CASE(Cr47325, "security/47325.mp4", PIPELINE_OK, PIPELINE_OK, 94 FFMPEG_TEST_CASE(Cr47325, "security/47325.mp4", PIPELINE_OK, PIPELINE_OK,
95 "2a7a938c6b5979621cec998f02d9bbb6", 95 "2a7a938c6b5979621cec998f02d9bbb6",
96 "efbc63a850c9f8f51942f6a6029eb00f"); 96 "efbc63a850c9f8f51942f6a6029eb00f");
97 FFMPEG_TEST_CASE(Cr47761, "content/crbug47761.ogg", PIPELINE_OK, PIPELINE_OK, 97 FFMPEG_TEST_CASE(Cr47761, "content/crbug47761.ogg", PIPELINE_OK, PIPELINE_OK,
98 kNullHash, 98 kNullHash,
99 "f45b9d7556f39dd811700ec72cb71483"); 99 "f45b9d7556f39dd811700ec72cb71483");
100 FFMPEG_TEST_CASE(Cr50045, "content/crbug50045.mp4", PIPELINE_OK, PIPELINE_OK, 100 FFMPEG_TEST_CASE(Cr50045, "content/crbug50045.mp4", PIPELINE_OK, PIPELINE_OK,
101 "c345e9ef9ebfc6bfbcbe3f0ddc3125ba", 101 "c345e9ef9ebfc6bfbcbe3f0ddc3125ba",
102 "39cc70f744944eb01da947b8cf6fcd58"); 102 "73d65d9cc6ce25060b7510bd74678c26");
103 FFMPEG_TEST_CASE(Cr62127, "content/crbug62127.webm", 103 FFMPEG_TEST_CASE(Cr62127, "content/crbug62127.webm", PIPELINE_ERROR_DECODE,
104 PIPELINE_OK, PIPELINE_OK, 104 PIPELINE_ERROR_DECODE, "d41d8cd98f00b204e9800998ecf8427e",
105 "a064b2776fc5aef3e9cba47967a75db9", kNullHash); 105 kNullHash);
106 FFMPEG_TEST_CASE(Cr93620, "security/93620.ogg", PIPELINE_OK, PIPELINE_OK, 106 FFMPEG_TEST_CASE(Cr93620, "security/93620.ogg", PIPELINE_OK, PIPELINE_OK,
107 kNullHash, 107 kNullHash,
108 "0cff252cd46867d26c42a96e6a2e2376"); 108 "0cff252cd46867d26c42a96e6a2e2376");
109 FFMPEG_TEST_CASE(Cr100492, "security/100492.webm", DECODER_ERROR_NOT_SUPPORTED, 109 FFMPEG_TEST_CASE(Cr100492, "security/100492.webm", DECODER_ERROR_NOT_SUPPORTED,
110 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); 110 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash);
111 FFMPEG_TEST_CASE(Cr100543, "security/100543.webm", PIPELINE_OK, PIPELINE_OK, 111 FFMPEG_TEST_CASE(Cr100543, "security/100543.webm", PIPELINE_OK, PIPELINE_OK,
112 "c16691cc9178db3adbf7e562cadcd6e6", 112 "c16691cc9178db3adbf7e562cadcd6e6",
113 "816d9a772a449bc29f65f58244ee04c9"); 113 "816d9a772a449bc29f65f58244ee04c9");
114 FFMPEG_TEST_CASE(Cr101458, "security/101458.webm", DECODER_ERROR_NOT_SUPPORTED, 114 FFMPEG_TEST_CASE(Cr101458, "security/101458.webm", DECODER_ERROR_NOT_SUPPORTED,
115 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); 115 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash);
116 FFMPEG_TEST_CASE(Cr108416, "security/108416.webm", PIPELINE_OK, PIPELINE_OK, 116 FFMPEG_TEST_CASE(Cr108416, "security/108416.webm", PIPELINE_OK, PIPELINE_OK,
117 "5cb3a934795cd552753dec7687928291", 117 "5cb3a934795cd552753dec7687928291",
118 "3e576c21f83f3c00719dbe62998d71cb"); 118 "3e576c21f83f3c00719dbe62998d71cb");
119 FFMPEG_TEST_CASE(Cr110849, "security/110849.mkv", 119 FFMPEG_TEST_CASE(Cr110849, "security/110849.mkv",
120 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, 120 DEMUXER_ERROR_NO_SUPPORTED_STREAMS,
121 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash); 121 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash);
122 FFMPEG_TEST_CASE(Cr112384, "security/112384.webm", 122 FFMPEG_TEST_CASE(Cr112384, "security/112384.webm",
123 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, 123 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE,
124 kNullHash, kNullHash); 124 kNullHash, kNullHash);
125 FFMPEG_TEST_CASE(Cr112670, "security/112670.mp4", PIPELINE_ERROR_DECODE, 125 FFMPEG_TEST_CASE(Cr112670, "security/112670.mp4", PIPELINE_ERROR_DECODE,
126 PIPELINE_ERROR_DECODE, kNullHash, 126 PIPELINE_ERROR_DECODE, kNullHash,
127 "59adb24ef3cdbe0297f05b395827453f"); 127 "59adb24ef3cdbe0297f05b395827453f");
128 FFMPEG_TEST_CASE(Cr112976, "security/112976.ogg", PIPELINE_OK, 128 FFMPEG_TEST_CASE(Cr112976, "security/112976.ogg", PIPELINE_OK,
129 PIPELINE_ERROR_DECODE, kNullHash, 129 PIPELINE_ERROR_DECODE, kNullHash,
130 "ef79f7c5805561908805eb0bb7097bb4"); 130 "ef79f7c5805561908805eb0bb7097bb4");
131 FFMPEG_TEST_CASE(Cr116927, "security/116927.ogv", PIPELINE_ERROR_DECODE, 131 FFMPEG_TEST_CASE(Cr116927, "security/116927.ogv", DEMUXER_ERROR_COULD_NOT_OPEN,
132 PIPELINE_ERROR_DECODE, kNullHash, kNullHash); 132 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash);
133 FFMPEG_TEST_CASE(Cr117912, "security/117912.webm", DEMUXER_ERROR_COULD_NOT_OPEN, 133 FFMPEG_TEST_CASE(Cr117912, "security/117912.webm", DEMUXER_ERROR_COULD_NOT_OPEN,
134 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash); 134 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash);
135 FFMPEG_TEST_CASE(Cr123481, "security/123481.ogv", PIPELINE_OK, 135 FFMPEG_TEST_CASE(Cr123481, "security/123481.ogv", PIPELINE_OK,
136 PIPELINE_OK, "e6dd853fcbd746c8bb2ab2b8fc376fc7", 136 PIPELINE_OK, "e6dd853fcbd746c8bb2ab2b8fc376fc7",
137 "c96a166a09061ca94202903d7824cf04"); 137 "c96a166a09061ca94202903d7824cf04");
138 FFMPEG_TEST_CASE(Cr132779, "security/132779.webm", 138 FFMPEG_TEST_CASE(Cr132779, "security/132779.webm",
139 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, 139 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE,
140 kNullHash, kNullHash); 140 kNullHash, kNullHash);
141 FFMPEG_TEST_CASE(Cr140165, "security/140165.ogg", PIPELINE_ERROR_DECODE, 141 FFMPEG_TEST_CASE(Cr140165, "security/140165.ogg", PIPELINE_ERROR_DECODE,
142 PIPELINE_ERROR_DECODE, kNullHash, 142 PIPELINE_ERROR_DECODE, kNullHash,
143 "bd42757e42bdada18cb9441ee4ef8313"); 143 "bd42757e42bdada18cb9441ee4ef8313");
144 FFMPEG_TEST_CASE(Cr140647, "security/140647.ogv", 144 FFMPEG_TEST_CASE(Cr140647, "security/140647.ogv", DEMUXER_ERROR_COULD_NOT_OPEN,
145 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED, 145 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash);
146 kNullHash, kNullHash);
147 FFMPEG_TEST_CASE(Cr142738, "content/crbug142738.ogg", PIPELINE_OK, PIPELINE_OK, 146 FFMPEG_TEST_CASE(Cr142738, "content/crbug142738.ogg", PIPELINE_OK, PIPELINE_OK,
148 kNullHash, 147 kNullHash,
149 "03a9591e5b596eb848feeafd7693f371"); 148 "03a9591e5b596eb848feeafd7693f371");
150 FFMPEG_TEST_CASE(Cr152691, "security/152691.mp3", PIPELINE_ERROR_DECODE, 149 FFMPEG_TEST_CASE(Cr152691, "security/152691.mp3", PIPELINE_ERROR_DECODE,
151 PIPELINE_ERROR_DECODE, kNullHash, 150 PIPELINE_ERROR_DECODE, kNullHash,
152 "59adb24ef3cdbe0297f05b395827453f"); 151 "59adb24ef3cdbe0297f05b395827453f");
152 FFMPEG_TEST_CASE(Cr161639, "security/161639.m4a", PIPELINE_OK, PIPELINE_OK,
153 kNullHash, "97ae2fa2a2e9ff3c2cf17be96b08bbe8");
153 154
154 // General MKV test cases. 155 // General MKV test cases.
155 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK, 156 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK,
156 PIPELINE_ERROR_DECODE, kNullHash, 157 PIPELINE_ERROR_DECODE, kNullHash,
157 "7d1d74b9801002d983e7df3d52dd6db6"); 158 "3fc4e8ef212df08c61acce3db34b2d09");
158 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK, 159 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK,
159 PIPELINE_ERROR_DECODE, kNullHash, 160 PIPELINE_ERROR_DECODE, kNullHash,
160 "7d04ad131b4b07e04406159a17537a54"); 161 "2f5ad3e7dd25fa5c0e8f26879953ef0f");
161 162
162 // General MP4 test cases. 163 // General MP4 test cases.
163 FFMPEG_TEST_CASE(MP4_0, "security/aac.10419.mp4", PIPELINE_OK, PIPELINE_OK, 164 FFMPEG_TEST_CASE(MP4_0, "security/aac.10419.mp4", DEMUXER_ERROR_COULD_NOT_OPEN,
164 kNullHash, kNullHash); 165 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash);
165 FFMPEG_TEST_CASE(MP4_1, "security/clockh264aac_200021889.mp4", 166 FFMPEG_TEST_CASE(MP4_1, "security/clockh264aac_200021889.mp4",
166 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, 167 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
167 kNullHash, kNullHash); 168 kNullHash, kNullHash);
168 FFMPEG_TEST_CASE(MP4_2, "security/clockh264aac_200701257.mp4", PIPELINE_OK, 169 FFMPEG_TEST_CASE(MP4_2, "security/clockh264aac_200701257.mp4", PIPELINE_OK,
169 PIPELINE_OK, kNullHash, "d4fea8297ca1c5ad7bbcd858864f66d9"); 170 PIPELINE_OK, kNullHash, "d41d8cd98f00b204e9800998ecf8427e");
170 FFMPEG_TEST_CASE(MP4_5, "security/clockh264aac_3022500.mp4", 171 FFMPEG_TEST_CASE(MP4_5, "security/clockh264aac_3022500.mp4",
171 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, 172 DEMUXER_ERROR_NO_SUPPORTED_STREAMS,
172 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash); 173 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash);
173 FFMPEG_TEST_CASE(MP4_6, "security/clockh264aac_344289.mp4", PIPELINE_OK, 174 FFMPEG_TEST_CASE(MP4_6, "security/clockh264aac_344289.mp4", PIPELINE_OK,
174 PIPELINE_OK, kNullHash, kNullHash); 175 PIPELINE_OK, kNullHash, kNullHash);
175 FFMPEG_TEST_CASE(MP4_7, "security/clockh264mp3_187697.mp4", 176 FFMPEG_TEST_CASE(MP4_7, "security/clockh264mp3_187697.mp4",
176 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, 177 DEMUXER_ERROR_NO_SUPPORTED_STREAMS,
177 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, 178 DEMUXER_ERROR_NO_SUPPORTED_STREAMS,
178 kNullHash, kNullHash); 179 kNullHash, kNullHash);
179 FFMPEG_TEST_CASE(MP4_8, "security/h264.705767.mp4", 180 FFMPEG_TEST_CASE(MP4_8, "security/h264.705767.mp4",
180 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, 181 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE,
181 kNullHash, kNullHash); 182 kNullHash, kNullHash);
182 FFMPEG_TEST_CASE(MP4_9, "security/smclockmp4aac_1_0.mp4", 183 FFMPEG_TEST_CASE(MP4_9, "security/smclockmp4aac_1_0.mp4",
183 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, 184 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
184 kNullHash, kNullHash); 185 kNullHash, kNullHash);
185 FFMPEG_TEST_CASE(MP4_11, "security/null1.mp4", PIPELINE_OK, PIPELINE_OK, 186 FFMPEG_TEST_CASE(MP4_11, "security/null1.mp4", PIPELINE_OK, PIPELINE_OK,
186 kNullHash, "d30daffed220266a133b27e00b892558"); 187 kNullHash, "7397188f229211987268f39ef5a45b3c");
187 FFMPEG_TEST_CASE(MP4_16, "security/looping2.mov", 188 FFMPEG_TEST_CASE(MP4_16, "security/looping2.mov",
188 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, 189 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
189 kNullHash, kNullHash); 190 kNullHash, kNullHash);
190 191
191 // General OGV test cases. 192 // General OGV test cases.
192 FFMPEG_TEST_CASE(OGV_1, "security/out.163.ogv", DECODER_ERROR_NOT_SUPPORTED, 193 FFMPEG_TEST_CASE(OGV_1, "security/out.163.ogv", DECODER_ERROR_NOT_SUPPORTED,
193 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); 194 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash);
194 FFMPEG_TEST_CASE(OGV_2, "security/out.391.ogv", DECODER_ERROR_NOT_SUPPORTED, 195 FFMPEG_TEST_CASE(OGV_2, "security/out.391.ogv", DECODER_ERROR_NOT_SUPPORTED,
195 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); 196 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash);
196 FFMPEG_TEST_CASE(OGV_5, "security/smclocktheora_1_0.ogv", 197 FFMPEG_TEST_CASE(OGV_5, "security/smclocktheora_1_0.ogv",
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED, 247 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED,
247 kNullHash, kNullHash); 248 kNullHash, kNullHash);
248 FFMPEG_TEST_CASE(WEBM_4, "security/out.webm.68798.1929", 249 FFMPEG_TEST_CASE(WEBM_4, "security/out.webm.68798.1929",
249 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED, 250 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED,
250 kNullHash, kNullHash); 251 kNullHash, kNullHash);
251 FFMPEG_TEST_CASE(WEBM_5, "content/frame_size_change.webm", PIPELINE_OK, 252 FFMPEG_TEST_CASE(WEBM_5, "content/frame_size_change.webm", PIPELINE_OK,
252 PIPELINE_OK, "d8fcf2896b7400a2261bac9e9ea930f8", kNullHash); 253 PIPELINE_OK, "d8fcf2896b7400a2261bac9e9ea930f8", kNullHash);
253 254
254 // Audio Functional Tests 255 // Audio Functional Tests
255 FFMPEG_TEST_CASE(AUDIO_GAMING_0, "content/gaming/a_220_00.mp3", PIPELINE_OK, 256 FFMPEG_TEST_CASE(AUDIO_GAMING_0, "content/gaming/a_220_00.mp3", PIPELINE_OK,
256 PIPELINE_OK, kNullHash, "1693d9a1e498b13c2a7fb8e7e62db880"); 257 PIPELINE_OK, kNullHash, "3c2e03569e2af83415a8f32065425f8c");
257 FFMPEG_TEST_CASE(AUDIO_GAMING_1, "content/gaming/a_220_00_v2.ogg", PIPELINE_OK, 258 FFMPEG_TEST_CASE(AUDIO_GAMING_1, "content/gaming/a_220_00_v2.ogg", PIPELINE_OK,
258 PIPELINE_OK, kNullHash, "2fa0e9fca48759a7de1c22418fba7ea0"); 259 PIPELINE_OK, kNullHash, "2fa0e9fca48759a7de1c22418fba7ea0");
259 FFMPEG_TEST_CASE(AUDIO_GAMING_2, "content/gaming/ai_laser1.ogg", PIPELINE_OK, 260 FFMPEG_TEST_CASE(AUDIO_GAMING_2, "content/gaming/ai_laser1.ogg", PIPELINE_OK,
260 PIPELINE_OK, kNullHash, "d4f331b0f7f04e94cd70f037a1091c2b"); 261 PIPELINE_OK, kNullHash, "d4f331b0f7f04e94cd70f037a1091c2b");
261 FFMPEG_TEST_CASE(AUDIO_GAMING_3, "content/gaming/ai_laser2.ogg", PIPELINE_OK, 262 FFMPEG_TEST_CASE(AUDIO_GAMING_3, "content/gaming/ai_laser2.ogg", PIPELINE_OK,
262 PIPELINE_OK, kNullHash, "7b0eccb651e5572711f9c8826cc14c3c"); 263 PIPELINE_OK, kNullHash, "7b0eccb651e5572711f9c8826cc14c3c");
263 FFMPEG_TEST_CASE(AUDIO_GAMING_4, "content/gaming/ai_laser3.ogg", PIPELINE_OK, 264 FFMPEG_TEST_CASE(AUDIO_GAMING_4, "content/gaming/ai_laser3.ogg", PIPELINE_OK,
264 PIPELINE_OK, kNullHash, "cd977a2dd4fa570f1a7392fc9948f184"); 265 PIPELINE_OK, kNullHash, "cd977a2dd4fa570f1a7392fc9948f184");
265 FFMPEG_TEST_CASE(AUDIO_GAMING_5, "content/gaming/ai_laser4.ogg", PIPELINE_OK, 266 FFMPEG_TEST_CASE(AUDIO_GAMING_5, "content/gaming/ai_laser4.ogg", PIPELINE_OK,
266 PIPELINE_OK, kNullHash, "155caa85c878abae43428f424cdc8848"); 267 PIPELINE_OK, kNullHash, "155caa85c878abae43428f424cdc8848");
(...skipping 17 matching lines...) Expand all
284 PIPELINE_OK, kNullHash, "313344cc2c02db5b23e336a9523b0c4a"); 285 PIPELINE_OK, kNullHash, "313344cc2c02db5b23e336a9523b0c4a");
285 FFMPEG_TEST_CASE(AUDIO_GAMING_15, "content/gaming/leg3.ogg", PIPELINE_OK, 286 FFMPEG_TEST_CASE(AUDIO_GAMING_15, "content/gaming/leg3.ogg", PIPELINE_OK,
286 PIPELINE_OK, kNullHash, "25730f36ed51ba07eacca9c2b6235e6c"); 287 PIPELINE_OK, kNullHash, "25730f36ed51ba07eacca9c2b6235e6c");
287 FFMPEG_TEST_CASE(AUDIO_GAMING_16, "content/gaming/lock_on.ogg", PIPELINE_OK, 288 FFMPEG_TEST_CASE(AUDIO_GAMING_16, "content/gaming/lock_on.ogg", PIPELINE_OK,
288 PIPELINE_OK, kNullHash, "92a3af2fc3597e7aaf5b06748daf5d6a"); 289 PIPELINE_OK, kNullHash, "92a3af2fc3597e7aaf5b06748daf5d6a");
289 FFMPEG_TEST_CASE(AUDIO_GAMING_17, "content/gaming/enemy_lock_on.ogg", 290 FFMPEG_TEST_CASE(AUDIO_GAMING_17, "content/gaming/enemy_lock_on.ogg",
290 PIPELINE_OK, PIPELINE_OK, kNullHash, 291 PIPELINE_OK, PIPELINE_OK, kNullHash,
291 "9670d8f5a668cf85f8ae8d6f8e0fdcdc"); 292 "9670d8f5a668cf85f8ae8d6f8e0fdcdc");
292 FFMPEG_TEST_CASE(AUDIO_GAMING_18, "content/gaming/rocket_launcher.mp3", 293 FFMPEG_TEST_CASE(AUDIO_GAMING_18, "content/gaming/rocket_launcher.mp3",
293 PIPELINE_OK, PIPELINE_OK, kNullHash, 294 PIPELINE_OK, PIPELINE_OK, kNullHash,
294 "bd8b70f6452360db7cca5c34b6e72844"); 295 "91354320606584f4404514d914d01ee0");
295 296
296 // Allocate gigabytes of memory, likely can't be run on 32bit machines. 297 // Allocate gigabytes of memory, likely can't be run on 32bit machines.
297 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov", 298 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov",
298 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, 299 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
299 kNullHash, kNullHash); 300 kNullHash, kNullHash);
300 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov", 301 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov",
301 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, 302 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
302 kNullHash, kNullHash); 303 kNullHash, kNullHash);
303 FFMPEG_TEST_CASE(BIG_MEM_5, "security/looping5.mov", 304 FFMPEG_TEST_CASE(BIG_MEM_5, "security/looping5.mov",
304 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, 305 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN,
305 kNullHash, kNullHash); 306 kNullHash, kNullHash);
306 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_3, "security/looping3.mov"); 307 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_3, "security/looping3.mov");
307 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_4, "security/looping4.mov"); 308 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_4, "security/looping4.mov");
308 309
309 // Flaky under threading or for other reasons. Per rbultje, most of these will 310 // Flaky under threading or for other reasons. Per rbultje, most of these will
310 // never be reliable since FFmpeg does not guarantee consistency in error cases. 311 // never be reliable since FFmpeg does not guarantee consistency in error cases.
311 // We only really care that these don't cause crashes or errors under tooling. 312 // We only really care that these don't cause crashes or errors under tooling.
312 FLAKY_FFMPEG_TEST_CASE(Cr99652, "security/99652.webm"); 313 FLAKY_FFMPEG_TEST_CASE(Cr99652, "security/99652.webm");
313 FLAKY_FFMPEG_TEST_CASE(Cr100464, "security/100464.webm"); 314 FLAKY_FFMPEG_TEST_CASE(Cr100464, "security/100464.webm");
314 FLAKY_FFMPEG_TEST_CASE(Cr111342, "security/111342.ogm"); 315 FLAKY_FFMPEG_TEST_CASE(Cr111342, "security/111342.ogm");
(...skipping 16 matching lines...) Expand all
331 // kNullHash, kNullHash); 332 // kNullHash, kNullHash);
332 // FFMPEG_TEST_CASE(OGV_23, "security/assert2.ogv", PIPELINE_OK, PIPELINE_OK, 333 // FFMPEG_TEST_CASE(OGV_23, "security/assert2.ogv", PIPELINE_OK, PIPELINE_OK,
333 // kNullHash, kNullHash); 334 // kNullHash, kNullHash);
334 335
335 TEST_P(FFmpegRegressionTest, BasicPlayback) { 336 TEST_P(FFmpegRegressionTest, BasicPlayback) {
336 if (GetParam().init_status == PIPELINE_OK) { 337 if (GetParam().init_status == PIPELINE_OK) {
337 ASSERT_TRUE(Start(GetTestDataFilePath(GetParam().filename), 338 ASSERT_TRUE(Start(GetTestDataFilePath(GetParam().filename),
338 GetParam().init_status, true)); 339 GetParam().init_status, true));
339 Play(); 340 Play();
340 ASSERT_EQ(WaitUntilEndedOrError(), GetParam().end_status); 341 ASSERT_EQ(WaitUntilEndedOrError(), GetParam().end_status);
341 EXPECT_EQ(GetVideoHash(), GetParam().video_md5); 342 EXPECT_EQ(GetParam().video_md5, GetVideoHash());
342 EXPECT_EQ(GetAudioHash(), GetParam().audio_md5); 343 EXPECT_EQ(GetParam().audio_md5, GetAudioHash());
343 344
344 // Check for ended if the pipeline is expected to finish okay. 345 // Check for ended if the pipeline is expected to finish okay.
345 if (GetParam().end_status == PIPELINE_OK) { 346 if (GetParam().end_status == PIPELINE_OK) {
346 ASSERT_TRUE(ended_); 347 ASSERT_TRUE(ended_);
347 348
348 // Tack a seek on the end to catch any seeking issues. 349 // Tack a seek on the end to catch any seeking issues.
349 Seek(base::TimeDelta::FromMilliseconds(0)); 350 Seek(base::TimeDelta::FromMilliseconds(0));
350 } 351 }
351 } else { 352 } else {
352 ASSERT_FALSE(Start(GetTestDataFilePath(GetParam().filename), 353 ASSERT_FALSE(Start(GetTestDataFilePath(GetParam().filename),
353 GetParam().init_status, true)); 354 GetParam().init_status, true));
354 EXPECT_EQ(GetVideoHash(), GetParam().video_md5); 355 EXPECT_EQ(GetParam().video_md5, GetVideoHash());
355 EXPECT_EQ(GetAudioHash(), GetParam().audio_md5); 356 EXPECT_EQ(GetParam().audio_md5, GetAudioHash());
356 } 357 }
357 } 358 }
358 359
359 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) { 360 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) {
360 if (Start(GetTestDataFilePath(GetParam().filename))) { 361 if (Start(GetTestDataFilePath(GetParam().filename))) {
361 Play(); 362 Play();
362 WaitUntilEndedOrError(); 363 WaitUntilEndedOrError();
363 } 364 }
364 } 365 }
365 366
366 } // namespace media 367 } // namespace media
OLDNEW
« no previous file with comments | « DEPS ('k') | media/filters/pipeline_integration_test_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698