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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
90 #define FLAKY_FFMPEG_TEST_CASE(name, fn) \ | 90 #define FLAKY_FFMPEG_TEST_CASE(name, fn) \ |
91 INSTANTIATE_TEST_CASE_P(FLAKY_##name, FlakyFFmpegRegressionTest, \ | 91 INSTANTIATE_TEST_CASE_P(FLAKY_##name, FlakyFFmpegRegressionTest, \ |
92 testing::Values(FlakyRegressionTestData(fn))); | 92 testing::Values(FlakyRegressionTestData(fn))); |
93 | 93 |
94 // Test cases from issues. | 94 // Test cases from issues. |
95 FFMPEG_TEST_CASE(Cr47325, "security/47325.mp4", PIPELINE_OK, PIPELINE_OK, | 95 FFMPEG_TEST_CASE(Cr47325, "security/47325.mp4", PIPELINE_OK, PIPELINE_OK, |
96 "2a7a938c6b5979621cec998f02d9bbb6", | 96 "2a7a938c6b5979621cec998f02d9bbb6", |
97 "511bbbfd42f5bedc1a11670a5b3299c7"); | 97 "511bbbfd42f5bedc1a11670a5b3299c7"); |
98 FFMPEG_TEST_CASE(Cr47761, "content/crbug47761.ogg", PIPELINE_OK, PIPELINE_OK, | 98 FFMPEG_TEST_CASE(Cr47761, "content/crbug47761.ogg", PIPELINE_OK, PIPELINE_OK, |
99 kNullHash, | 99 kNullHash, |
100 "f281adf4c7531d1664e92eb05bf10aa8"); | 100 "7790097fe63d2e95bcc8d4f1ac92168d"); |
101 FFMPEG_TEST_CASE(Cr50045, "content/crbug50045.mp4", PIPELINE_OK, PIPELINE_OK, | 101 FFMPEG_TEST_CASE(Cr50045, "content/crbug50045.mp4", PIPELINE_OK, PIPELINE_OK, |
102 "c345e9ef9ebfc6bfbcbe3f0ddc3125ba", | 102 "c345e9ef9ebfc6bfbcbe3f0ddc3125ba", |
103 "d429bc20b7f1eafd0d8179fd128a94ed"); | 103 "d429bc20b7f1eafd0d8179fd128a94ed"); |
104 FFMPEG_TEST_CASE(Cr62127, "content/crbug62127.webm", | 104 FFMPEG_TEST_CASE(Cr62127, "content/crbug62127.webm", |
105 PIPELINE_OK, PIPELINE_OK, | 105 PIPELINE_OK, PIPELINE_OK, |
106 "a064b2776fc5aef3e9cba47967a75db9", kNullHash); | 106 "a064b2776fc5aef3e9cba47967a75db9", kNullHash); |
107 FFMPEG_TEST_CASE(Cr93620, "security/93620.ogg", PIPELINE_OK, PIPELINE_OK, | 107 FFMPEG_TEST_CASE(Cr93620, "security/93620.ogg", PIPELINE_OK, PIPELINE_OK, |
108 kNullHash, | 108 kNullHash, |
109 "a12b7a96d02f3ab68532995464275682"); | 109 "a9a6d483666f3dc029a58a0fd1544002"); |
110 FFMPEG_TEST_CASE(Cr100492, "security/100492.webm", DECODER_ERROR_NOT_SUPPORTED, | 110 FFMPEG_TEST_CASE(Cr100492, "security/100492.webm", DECODER_ERROR_NOT_SUPPORTED, |
111 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); | 111 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); |
112 FFMPEG_TEST_CASE(Cr100543, "security/100543.webm", PIPELINE_OK, PIPELINE_OK, | 112 FFMPEG_TEST_CASE(Cr100543, "security/100543.webm", PIPELINE_OK, PIPELINE_OK, |
113 "c16691cc9178db3adbf7e562cadcd6e6", | 113 "c16691cc9178db3adbf7e562cadcd6e6", |
114 "51347b4b4ce86562a833df3ff6af0fff"); | 114 "51347b4b4ce86562a833df3ff6af0fff"); |
115 FFMPEG_TEST_CASE(Cr101458, "security/101458.webm", DECODER_ERROR_NOT_SUPPORTED, | 115 FFMPEG_TEST_CASE(Cr101458, "security/101458.webm", DECODER_ERROR_NOT_SUPPORTED, |
116 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); | 116 DECODER_ERROR_NOT_SUPPORTED, kNullHash, kNullHash); |
117 FFMPEG_TEST_CASE(Cr108416, "security/108416.webm", PIPELINE_OK, PIPELINE_OK, | 117 FFMPEG_TEST_CASE(Cr108416, "security/108416.webm", PIPELINE_OK, PIPELINE_OK, |
118 "5cb3a934795cd552753dec7687928291", | 118 "5cb3a934795cd552753dec7687928291", |
119 "5ad0c25fb915022824dc65e4fe15bffc"); | 119 "5ad0c25fb915022824dc65e4fe15bffc"); |
(...skipping 12 matching lines...) Expand all Loading... |
132 FFMPEG_TEST_CASE(Cr116927, "security/116927.ogv", PIPELINE_ERROR_DECODE, | 132 FFMPEG_TEST_CASE(Cr116927, "security/116927.ogv", PIPELINE_ERROR_DECODE, |
133 PIPELINE_ERROR_DECODE, kNullHash, kNullHash); | 133 PIPELINE_ERROR_DECODE, kNullHash, kNullHash); |
134 FFMPEG_TEST_CASE(Cr117912, "security/117912.webm", DEMUXER_ERROR_COULD_NOT_OPEN, | 134 FFMPEG_TEST_CASE(Cr117912, "security/117912.webm", DEMUXER_ERROR_COULD_NOT_OPEN, |
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 FFMPEG_TEST_CASE(Cr140165, "security/140165.ogg", PIPELINE_ERROR_DECODE, |
| 143 PIPELINE_ERROR_DECODE, kNullHash, |
| 144 "bd42757e42bdada18cb9441ee4ef8313"); |
| 145 FFMPEG_TEST_CASE(Cr140647, "security/140647.ogv", |
| 146 DECODER_ERROR_NOT_SUPPORTED, DECODER_ERROR_NOT_SUPPORTED, |
| 147 kNullHash, kNullHash); |
142 | 148 |
143 // General MKV test cases. | 149 // General MKV test cases. |
144 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK, | 150 FFMPEG_TEST_CASE(MKV_0, "security/nested_tags_lang.mka.627.628", PIPELINE_OK, |
145 PIPELINE_ERROR_DECODE, kNullHash, | 151 PIPELINE_ERROR_DECODE, kNullHash, |
146 "abc9702fc46f49d6f26da5c62d118cf7"); | 152 "abc9702fc46f49d6f26da5c62d118cf7"); |
147 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK, | 153 FFMPEG_TEST_CASE(MKV_1, "security/nested_tags_lang.mka.667.628", PIPELINE_OK, |
148 PIPELINE_ERROR_DECODE, kNullHash, | 154 PIPELINE_ERROR_DECODE, kNullHash, |
149 "414669ce405e681bda578f90c6c08951"); | 155 "414669ce405e681bda578f90c6c08951"); |
150 | 156 |
151 // General MP4 test cases. | 157 // General MP4 test cases. |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 kNullHash, kNullHash); | 245 kNullHash, kNullHash); |
240 FFMPEG_TEST_CASE(WEBM_5, "content/frame_size_change.webm", PIPELINE_OK, | 246 FFMPEG_TEST_CASE(WEBM_5, "content/frame_size_change.webm", PIPELINE_OK, |
241 PIPELINE_OK, "d8fcf2896b7400a2261bac9e9ea930f8", kNullHash); | 247 PIPELINE_OK, "d8fcf2896b7400a2261bac9e9ea930f8", kNullHash); |
242 | 248 |
243 // Audio Functional Tests | 249 // Audio Functional Tests |
244 FFMPEG_TEST_CASE(AUDIO_GAMING_0, "content/gaming/a_220_00.mp3", PIPELINE_OK, | 250 FFMPEG_TEST_CASE(AUDIO_GAMING_0, "content/gaming/a_220_00.mp3", PIPELINE_OK, |
245 PIPELINE_OK, kNullHash, "5e60018ab1b30a82d53dccb759ab25b2"); | 251 PIPELINE_OK, kNullHash, "5e60018ab1b30a82d53dccb759ab25b2"); |
246 FFMPEG_TEST_CASE(AUDIO_GAMING_1, "content/gaming/a_220_00_v2.ogg", PIPELINE_OK, | 252 FFMPEG_TEST_CASE(AUDIO_GAMING_1, "content/gaming/a_220_00_v2.ogg", PIPELINE_OK, |
247 PIPELINE_OK, kNullHash, "6a79b3c593609f3bdfbea3727c658c73"); | 253 PIPELINE_OK, kNullHash, "6a79b3c593609f3bdfbea3727c658c73"); |
248 FFMPEG_TEST_CASE(AUDIO_GAMING_2, "content/gaming/ai_laser1.ogg", PIPELINE_OK, | 254 FFMPEG_TEST_CASE(AUDIO_GAMING_2, "content/gaming/ai_laser1.ogg", PIPELINE_OK, |
249 PIPELINE_OK, kNullHash, "0d1e07b4374f54e3ae18dc15d7497183"); | 255 PIPELINE_OK, kNullHash, "f587bfce23072efaec3d78316a5f2af1"); |
250 FFMPEG_TEST_CASE(AUDIO_GAMING_3, "content/gaming/ai_laser2.ogg", PIPELINE_OK, | 256 FFMPEG_TEST_CASE(AUDIO_GAMING_3, "content/gaming/ai_laser2.ogg", PIPELINE_OK, |
251 PIPELINE_OK, kNullHash, "46dfe271f7e7b72225e754dd7ab8ad1c"); | 257 PIPELINE_OK, kNullHash, "5dc6dab55a2f80cb17be519d62bd2781"); |
252 FFMPEG_TEST_CASE(AUDIO_GAMING_4, "content/gaming/ai_laser3.ogg", PIPELINE_OK, | 258 FFMPEG_TEST_CASE(AUDIO_GAMING_4, "content/gaming/ai_laser3.ogg", PIPELINE_OK, |
253 PIPELINE_OK, kNullHash, "ef018d911c9941b778e13e1af5bec449"); | 259 PIPELINE_OK, kNullHash, "5f913060d01365e9999f81f550f4823f"); |
254 FFMPEG_TEST_CASE(AUDIO_GAMING_5, "content/gaming/ai_laser4.ogg", PIPELINE_OK, | 260 FFMPEG_TEST_CASE(AUDIO_GAMING_5, "content/gaming/ai_laser4.ogg", PIPELINE_OK, |
255 PIPELINE_OK, kNullHash, "14ff475a7355826077ffad191cc09665"); | 261 PIPELINE_OK, kNullHash, "43be1bdfaa73d0f2cfecca0f4664fe1d"); |
256 FFMPEG_TEST_CASE(AUDIO_GAMING_6, "content/gaming/ai_laser5.ogg", PIPELINE_OK, | 262 FFMPEG_TEST_CASE(AUDIO_GAMING_6, "content/gaming/ai_laser5.ogg", PIPELINE_OK, |
257 PIPELINE_OK, kNullHash, "351cd543f0a001b2eb5ca5fad6e384b9"); | 263 PIPELINE_OK, kNullHash, "786af83e7ad2de3c1c31270e7d401a58"); |
258 FFMPEG_TEST_CASE(AUDIO_GAMING_7, "content/gaming/footstep1.ogg", PIPELINE_OK, | 264 FFMPEG_TEST_CASE(AUDIO_GAMING_7, "content/gaming/footstep1.ogg", PIPELINE_OK, |
259 PIPELINE_OK, kNullHash, "6edde5a895c900cf7dcd68e56abf0b0b"); | 265 PIPELINE_OK, kNullHash, "2a4a41794b2e0330eb89ac2dce39db41"); |
260 FFMPEG_TEST_CASE(AUDIO_GAMING_8, "content/gaming/footstep3.ogg", PIPELINE_OK, | 266 FFMPEG_TEST_CASE(AUDIO_GAMING_8, "content/gaming/footstep3.ogg", PIPELINE_OK, |
261 PIPELINE_OK, kNullHash, "59c29eb093a3a6b4bbe5b269837914b9"); | 267 PIPELINE_OK, kNullHash, "294d37789cd48c2c043362742f67efd3"); |
262 FFMPEG_TEST_CASE(AUDIO_GAMING_9, "content/gaming/footstep4.ogg", PIPELINE_OK, | 268 FFMPEG_TEST_CASE(AUDIO_GAMING_9, "content/gaming/footstep4.ogg", PIPELINE_OK, |
263 PIPELINE_OK, kNullHash, "3bd5c2b4618f189bc49f7cfd5dae91a9"); | 269 PIPELINE_OK, kNullHash, "45cbcc62aff633ef3b5b504db8a6f57c"); |
264 FFMPEG_TEST_CASE(AUDIO_GAMING_10, "content/gaming/laser1.ogg", PIPELINE_OK, | 270 FFMPEG_TEST_CASE(AUDIO_GAMING_10, "content/gaming/laser1.ogg", PIPELINE_OK, |
265 PIPELINE_OK, kNullHash, "199f2ccd92c278c4203665dba752b6ef"); | 271 PIPELINE_OK, kNullHash, "7c85c120e78c1b4688517191d368123f"); |
266 FFMPEG_TEST_CASE(AUDIO_GAMING_11, "content/gaming/laser2.ogg", PIPELINE_OK, | 272 FFMPEG_TEST_CASE(AUDIO_GAMING_11, "content/gaming/laser2.ogg", PIPELINE_OK, |
267 PIPELINE_OK, kNullHash, "a1cdedcda4edabded9c4197a374b53dd"); | 273 PIPELINE_OK, kNullHash, "a2a5af1fd64b4451a2a8ae50d94466c2"); |
268 FFMPEG_TEST_CASE(AUDIO_GAMING_12, "content/gaming/laser3.ogg", PIPELINE_OK, | 274 FFMPEG_TEST_CASE(AUDIO_GAMING_12, "content/gaming/laser3.ogg", PIPELINE_OK, |
269 PIPELINE_OK, kNullHash, "6ce272b185e3e6309b9878b543d1b83b"); | 275 PIPELINE_OK, kNullHash, "7d268f3271670e274b0bed923af4de58"); |
270 FFMPEG_TEST_CASE(AUDIO_GAMING_13, "content/gaming/leg1.ogg", PIPELINE_OK, | 276 FFMPEG_TEST_CASE(AUDIO_GAMING_13, "content/gaming/leg1.ogg", PIPELINE_OK, |
271 PIPELINE_OK, kNullHash, "7a426c86203cf6073e8c08b23f5ee57d"); | 277 PIPELINE_OK, kNullHash, "c2b9710bc58eb0d3d48558bbf60cecce"); |
272 FFMPEG_TEST_CASE(AUDIO_GAMING_14, "content/gaming/leg2.ogg", PIPELINE_OK, | 278 FFMPEG_TEST_CASE(AUDIO_GAMING_14, "content/gaming/leg2.ogg", PIPELINE_OK, |
273 PIPELINE_OK, kNullHash, "d2f81558cea012adbc4cc8aafdbbfa55"); | 279 PIPELINE_OK, kNullHash, "d9e28366eec434b6198acd4b6ab8854e"); |
274 FFMPEG_TEST_CASE(AUDIO_GAMING_15, "content/gaming/leg3.ogg", PIPELINE_OK, | 280 FFMPEG_TEST_CASE(AUDIO_GAMING_15, "content/gaming/leg3.ogg", PIPELINE_OK, |
275 PIPELINE_OK, kNullHash, "9665107f7be378111b9e1928f6ac6dce"); | 281 PIPELINE_OK, kNullHash, "80e5314b9bda1a3d83d09cc1d89127b1"); |
276 FFMPEG_TEST_CASE(AUDIO_GAMING_16, "content/gaming/lock_on.ogg", PIPELINE_OK, | 282 FFMPEG_TEST_CASE(AUDIO_GAMING_16, "content/gaming/lock_on.ogg", PIPELINE_OK, |
277 PIPELINE_OK, kNullHash, "2193dc2c9c811f96950a8615f7bf47e9"); | 283 PIPELINE_OK, kNullHash, "1d64e8b2642c5e39c40c3a40f7f28dcc"); |
278 FFMPEG_TEST_CASE(AUDIO_GAMING_17, "content/gaming/enemy_lock_on.ogg", | 284 FFMPEG_TEST_CASE(AUDIO_GAMING_17, "content/gaming/enemy_lock_on.ogg", |
279 PIPELINE_OK, PIPELINE_OK, kNullHash, | 285 PIPELINE_OK, PIPELINE_OK, kNullHash, |
280 "d9d2d8b26335efc8e5589c5c44d2a979"); | 286 "937fd55ea90cfecea945b3b44ca314bf"); |
281 FFMPEG_TEST_CASE(AUDIO_GAMING_18, "content/gaming/rocket_launcher.mp3", | 287 FFMPEG_TEST_CASE(AUDIO_GAMING_18, "content/gaming/rocket_launcher.mp3", |
282 PIPELINE_OK, PIPELINE_OK, kNullHash, | 288 PIPELINE_OK, PIPELINE_OK, kNullHash, |
283 "05289a50acd15fa1357fe6234f82c3fe"); | 289 "05289a50acd15fa1357fe6234f82c3fe"); |
284 | 290 |
285 // Allocate gigabytes of memory, likely can't be run on 32bit machines. | 291 // Allocate gigabytes of memory, likely can't be run on 32bit machines. |
286 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov", | 292 FFMPEG_TEST_CASE(BIG_MEM_1, "security/bigmem1.mov", |
287 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, | 293 DEMUXER_ERROR_COULD_NOT_OPEN, DEMUXER_ERROR_COULD_NOT_OPEN, |
288 kNullHash, kNullHash); | 294 kNullHash, kNullHash); |
289 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov", | 295 FFMPEG_TEST_CASE(BIG_MEM_2, "security/looping1.mov", |
290 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, | 296 DEMUXER_ERROR_COULD_NOT_PARSE, DEMUXER_ERROR_COULD_NOT_PARSE, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 } | 352 } |
347 | 353 |
348 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) { | 354 TEST_P(FlakyFFmpegRegressionTest, BasicPlayback) { |
349 if (Start(GetTestDataURL(GetParam().filename))) { | 355 if (Start(GetTestDataURL(GetParam().filename))) { |
350 Play(); | 356 Play(); |
351 WaitUntilEndedOrError(); | 357 WaitUntilEndedOrError(); |
352 } | 358 } |
353 } | 359 } |
354 | 360 |
355 } // namespace media | 361 } // namespace media |
OLD | NEW |