OLD | NEW |
---|---|
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: |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
135 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash); | 135 DEMUXER_ERROR_COULD_NOT_OPEN, kNullHash, kNullHash); |
136 FFMPEG_TEST_CASE(Cr123481, "security/123481.ogv", PIPELINE_OK, | 136 FFMPEG_TEST_CASE(Cr123481, "security/123481.ogv", PIPELINE_OK, |
137 PIPELINE_OK, "e6dd853fcbd746c8bb2ab2b8fc376fc7", | 137 PIPELINE_OK, "e6dd853fcbd746c8bb2ab2b8fc376fc7", |
138 "da909399f17e8f8ad7f1fcb3c4ccc33a"); | 138 "da909399f17e8f8ad7f1fcb3c4ccc33a"); |
139 FFMPEG_TEST_CASE(Cr132779, "security/132779.webm", | 139 FFMPEG_TEST_CASE(Cr132779, "security/132779.webm", |
140 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, | 140 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, |
141 kNullHash, kNullHash); | 141 kNullHash, kNullHash); |
142 | 142 |
143 // General MKV test cases. | 143 // General MKV test cases. |
144 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK, | 144 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK, |
145 PIPELINE_OK, kNullHash, "29b9dd707e75eb0a8cf29ec6213fd8c8"); | 145 PIPELINE_ERROR_DECODE, kNullHash, |
146 "abc9702fc46f49d6f26da5c62d118cf7"); | |
scherkus (not reviewing)
2012/07/28 21:31:58
what's going on with these two?
DaleCurtis
2012/07/28 22:02:21
My guess is upstream tightened decoder compliance.
| |
146 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK, | 147 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK, |
147 PIPELINE_OK, kNullHash, "117643fcab3ef06461c769686d05ccfb"); | 148 PIPELINE_ERROR_DECODE, kNullHash, |
149 "414669ce405e681bda578f90c6c08951"); | |
148 | 150 |
149 // General MP4 test cases. | 151 // General MP4 test cases. |
150 FFMPEG_TEST_CASE(MP4_0, "security/aac.10419.mp4", PIPELINE_OK, PIPELINE_OK, | 152 FFMPEG_TEST_CASE(MP4_0, "security/aac.10419.mp4", PIPELINE_OK, PIPELINE_OK, |
151 kNullHash, kNullHash); | 153 kNullHash, kNullHash); |
152 FFMPEG_TEST_CASE(MP4_1, "security/clockh264aac_200021889.mp4", | 154 FFMPEG_TEST_CASE(MP4_1, "security/clockh264aac_200021889.mp4", |
153 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, | 155 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, |
154 kNullHash, kNullHash); | 156 kNullHash, kNullHash); |
155 FFMPEG_TEST_CASE(MP4_2, "security/clockh264aac_200701257.mp4", PIPELINE_OK, | 157 FFMPEG_TEST_CASE(MP4_2, "security/clockh264aac_200701257.mp4", PIPELINE_OK, |
156 PIPELINE_OK, kNullHash, "d8bee104916f9f10db767d13400296b6"); | 158 PIPELINE_OK, kNullHash, "d8bee104916f9f10db767d13400296b6"); |
157 FFMPEG_TEST_CASE(MP4_5, "security/clockh264aac_3022500.mp4", | 159 FFMPEG_TEST_CASE(MP4_5, "security/clockh264aac_3022500.mp4", |
158 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, | 160 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, |
159 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash); | 161 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, kNullHash, kNullHash); |
160 FFMPEG_TEST_CASE(MP4_6, "security/clockh264aac_344289.mp4", PIPELINE_OK, | 162 FFMPEG_TEST_CASE(MP4_6, "security/clockh264aac_344289.mp4", PIPELINE_OK, |
161 PIPELINE_OK, kNullHash, kNullHash); | 163 PIPELINE_OK, kNullHash, kNullHash); |
162 FFMPEG_TEST_CASE(MP4_7, "security/clockh264mp3_187697.mp4", | 164 FFMPEG_TEST_CASE(MP4_7, "security/clockh264mp3_187697.mp4", |
163 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, | 165 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, |
164 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, | 166 DEMUXER_ERROR_NO_SUPPORTED_STREAMS, |
165 kNullHash, kNullHash); | 167 kNullHash, kNullHash); |
166 FFMPEG_TEST_CASE(MP4_8, "security/h264.705767.mp4", | 168 FFMPEG_TEST_CASE(MP4_8, "security/h264.705767.mp4", |
167 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, | 169 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, |
168 kNullHash, kNullHash); | 170 kNullHash, kNullHash); |
169 FFMPEG_TEST_CASE(MP4_9, "security/smclockmp4aac_1_0.mp4", | 171 FFMPEG_TEST_CASE(MP4_9, "security/smclockmp4aac_1_0.mp4", |
170 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, | 172 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, |
171 kNullHash, kNullHash); | 173 kNullHash, kNullHash); |
172 FFMPEG_TEST_CASE(MP4_10, "security/null1.m4a", PIPELINE_OK, PIPELINE_OK, | |
173 kNullHash, "287b6f06b6b45ac9e2839f4f397036af"); | |
174 FFMPEG_TEST_CASE(MP4_11, "security/null1.mp4", PIPELINE_OK, PIPELINE_OK, | 174 FFMPEG_TEST_CASE(MP4_11, "security/null1.mp4", PIPELINE_OK, PIPELINE_OK, |
175 kNullHash, "f20676c5de9b3c7c174c141762afb957"); | 175 kNullHash, "f20676c5de9b3c7c174c141762afb957"); |
176 FFMPEG_TEST_CASE(MP4_16, "security/looping2.mov", | 176 FFMPEG_TEST_CASE(MP4_16, "security/looping2.mov", |
177 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, | 177 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, |
178 kNullHash, kNullHash); | 178 kNullHash, kNullHash); |
179 | 179 |
180 // General OGV test cases. | 180 // General OGV test cases. |
181 FFMPEG_TEST_CASE(OGV_1, "security/out.163.ogv", DECODER_ERROR_NOT_SUPPORTED, | 181 FFMPEG_TEST_CASE(OGV_1, "security/out.163.ogv", DECODER_ERROR_NOT_SUPPORTED, |
182 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); | 182 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); |
183 FFMPEG_TEST_CASE(OGV_2, "security/out.391.ogv", DECODER_ERROR_NOT_SUPPORTED, | 183 FFMPEG_TEST_CASE(OGV_2, "security/out.391.ogv", DECODER_ERROR_NOT_SUPPORTED, |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
285 // Allocate gigabytes of memory, likely can't be run on 32bit machines. | 285 // Allocate gigabytes of memory, likely can't be run on 32bit machines. |
286 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov", | 286 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov", |
287 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, | 287 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, |
288 kNullHash, kNullHash); | 288 kNullHash, kNullHash); |
289 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov", | 289 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov", |
290 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, | 290 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, |
291 kNullHash, kNullHash); | 291 kNullHash, kNullHash); |
292 FFMPEG_TEST_CASE(BIG_MEM_5, "security/looping5.mov", | 292 FFMPEG_TEST_CASE(BIG_MEM_5, "security/looping5.mov", |
293 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, | 293 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, |
294 kNullHash, kNullHash); | 294 kNullHash, kNullHash); |
295 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_3, "security/looping3.mov"); | |
296 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_4, "security/looping4.mov"); | |
295 | 297 |
296 // Flaky under threading or for other reasons. Per rbultje, most of these will | 298 // Flaky under threading or for other reasons. Per rbultje, most of these will |
297 // never be reliable since FFmpeg does not guarantee consistency in error cases. | 299 // never be reliable since FFmpeg does not guarantee consistency in error cases. |
298 // We only really care that these don't cause crashes or errors under tooling. | 300 // We only really care that these don't cause crashes or errors under tooling. |
299 FLAKY_FFMPEG_TEST_CASE(Cr99652, "security/99652.webm"); | 301 FLAKY_FFMPEG_TEST_CASE(Cr99652, "security/99652.webm"); |
300 FLAKY_FFMPEG_TEST_CASE(Cr100464, "security/100464.webm"); | 302 FLAKY_FFMPEG_TEST_CASE(Cr100464, "security/100464.webm"); |
301 FLAKY_FFMPEG_TEST_CASE(Cr111342, "security/111342.ogm"); | 303 FLAKY_FFMPEG_TEST_CASE(Cr111342, "security/111342.ogm"); |
302 FLAKY_FFMPEG_TEST_CASE(OGV_0, "security/big_dims.ogv"); | 304 FLAKY_FFMPEG_TEST_CASE(OGV_0, "security/big_dims.ogv"); |
303 FLAKY_FFMPEG_TEST_CASE(OGV_3, "security/smclock_1_0.ogv"); | 305 FLAKY_FFMPEG_TEST_CASE(OGV_3, "security/smclock_1_0.ogv"); |
304 FLAKY_FFMPEG_TEST_CASE(OGV_4, "security/smclock.ogv.1.0.ogv"); | 306 FLAKY_FFMPEG_TEST_CASE(OGV_4, "security/smclock.ogv.1.0.ogv"); |
305 FLAKY_FFMPEG_TEST_CASE(OGV_6, "security/smclocktheora_1_10000.ogv"); | 307 FLAKY_FFMPEG_TEST_CASE(OGV_6, "security/smclocktheora_1_10000.ogv"); |
306 FLAKY_FFMPEG_TEST_CASE(OGV_13, "security/smclocktheora_1_790.ogv"); | 308 FLAKY_FFMPEG_TEST_CASE(OGV_13, "security/smclocktheora_1_790.ogv"); |
307 FLAKY_FFMPEG_TEST_CASE(MP4_3, "security/clockh264aac_300413969.mp4"); | 309 FLAKY_FFMPEG_TEST_CASE(MP4_3, "security/clockh264aac_300413969.mp4"); |
308 FLAKY_FFMPEG_TEST_CASE(MP4_4, "security/clockh264aac_301350139.mp4"); | 310 FLAKY_FFMPEG_TEST_CASE(MP4_4, "security/clockh264aac_301350139.mp4"); |
309 FLAKY_FFMPEG_TEST_CASE(MP4_12, "security/assert1.mov"); | 311 FLAKY_FFMPEG_TEST_CASE(MP4_12, "security/assert1.mov"); |
310 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_3, "security/looping3.mov"); | 312 // Not really flaky, but can't pass the seek test. |
311 FLAKY_FFMPEG_TEST_CASE(BIG_MEM_4, "security/looping4.mov"); | 313 FLAKY_FFMPEG_TEST_CASE(MP4_10, "security/null1.m4a"); |
scherkus (not reviewing)
2012/07/28 21:31:58
do we know why?
DaleCurtis
2012/07/28 22:02:21
The test fails because after seek to zero we get a
| |
312 | 314 |
313 // Videos with massive gaps between frame timestamps that result in long hangs | 315 // Videos with massive gaps between frame timestamps that result in long hangs |
314 // with our pipeline. Should be uncommented when we support clockless playback. | 316 // with our pipeline. Should be uncommented when we support clockless playback. |
315 // FFMPEG_TEST_CASE(WEBM_0, "security/memcpy.webm", PIPELINE_OK, PIPELINE_OK, | 317 // FFMPEG_TEST_CASE(WEBM_0, "security/memcpy.webm", PIPELINE_OK, PIPELINE_OK, |
316 // kNullHash, kNullHash); | 318 // kNullHash, kNullHash); |
317 // FFMPEG_TEST_CASE(MP4_17, "security/assert2.mov", PIPELINE_OK, PIPELINE_OK, | 319 // FFMPEG_TEST_CASE(MP4_17, "security/assert2.mov", PIPELINE_OK, PIPELINE_OK, |
318 // kNullHash, kNullHash); | 320 // kNullHash, kNullHash); |
319 // FFMPEG_TEST_CASE(OGV_23, "security/assert2.ogv", PIPELINE_OK, PIPELINE_OK, | 321 // FFMPEG_TEST_CASE(OGV_23, "security/assert2.ogv", PIPELINE_OK, PIPELINE_OK, |
320 // kNullHash, kNullHash); | 322 // kNullHash, kNullHash); |
321 | 323 |
(...skipping 22 matching lines...) Expand all Loading... | |
344 } | 346 } |
345 | 347 |
346 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) { | 348 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) { |
347 if (Start(GetTestDataURL(GetParam().filename))) { | 349 if (Start(GetTestDataURL(GetParam().filename))) { |
348 Play(); | 350 Play(); |
349 WaitUntilEndedOrError(); | 351 WaitUntilEndedOrError(); |
350 } | 352 } |
351 } | 353 } |
352 | 354 |
353 } // namespace media | 355 } // namespace media |
OLD | NEW |