Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / tools / perf / page_sets / tough_video_cases.py
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
3 # found in the LICENSE file.
4 from telemetry.page import page as page_module
5 from telemetry.page import page_set as page_set_module
6
7
8 class ToughVideoCasesPage(page_module.Page):
9
10   def __init__(self, url, page_set):
11     super(ToughVideoCasesPage, self).__init__(url=url, page_set=page_set)
12
13   def LoopMixedAudio(self, action_runner):
14     action_runner.PlayMedia(selector='#background_audio',
15                             playing_event_timeout_in_seconds=60)
16     action_runner.LoopMedia(loop_count=50, selector='#mixed_audio')
17
18   def LoopSingleAudio(self, action_runner):
19     action_runner.LoopMedia(loop_count=50, selector='#single_audio')
20
21   def PlayAction(self, action_runner):
22     action_runner.PlayMedia(playing_event_timeout_in_seconds=60,
23                             ended_event_timeout_in_seconds=60)
24
25   def SeekBeforeAndAfterPlayhead(self, action_runner):
26     action_runner.PlayMedia(playing_event_timeout_in_seconds=60,
27                             ended_event_timeout_in_seconds=60)
28     # Wait for 1 second so that we know the play-head is at ~1s.
29     action_runner.Wait(1)
30     # Seek to before the play-head location.
31     action_runner.SeekMedia(seconds=0.5, timeout_in_seconds=60,
32                             label='seek_warm')
33     # Seek to after the play-head location.
34     action_runner.SeekMedia(seconds=9, timeout_in_seconds=60,
35                             label='seek_cold')
36
37
38 class Page1(ToughVideoCasesPage):
39
40   def __init__(self, page_set):
41     super(Page1, self).__init__(
42       url='file://tough_video_cases/video.html?src=crowd.wav&type=audio',
43       page_set=page_set)
44
45     self.add_browser_metrics = True
46
47   def RunMediaMetrics(self, action_runner):
48     self.PlayAction(action_runner)
49
50
51 class Page2(ToughVideoCasesPage):
52
53   def __init__(self, page_set):
54     super(Page2, self).__init__(
55       url='file://tough_video_cases/video.html?src=crowd.ogg&type=audio',
56       page_set=page_set)
57
58     self.add_browser_metrics = True
59
60   def RunMediaMetrics(self, action_runner):
61     self.PlayAction(action_runner)
62
63
64 class Page3(ToughVideoCasesPage):
65
66   def __init__(self, page_set):
67     super(Page3, self).__init__(
68       url='file://tough_video_cases/video.html?src=crowd1080.ogv',
69       page_set=page_set)
70
71     self.add_browser_metrics = True
72     self.is_50fps = True
73
74   def RunMediaMetrics(self, action_runner):
75     self.PlayAction(action_runner)
76
77
78 class Page4(ToughVideoCasesPage):
79
80   def __init__(self, page_set):
81     super(Page4, self).__init__(
82       url='file://tough_video_cases/video.html?src=crowd1080.webm',
83       page_set=page_set)
84
85     self.add_browser_metrics = True
86     self.is_50fps = True
87
88   def RunMediaMetrics(self, action_runner):
89     self.PlayAction(action_runner)
90
91
92 class Page5(ToughVideoCasesPage):
93
94   def __init__(self, page_set):
95     super(Page5, self).__init__(
96       url='file://tough_video_cases/video.html?src=crowd2160.ogv',
97       page_set=page_set)
98
99     self.add_browser_metrics = True
100     self.is_4k = True
101     self.is_50fps = True
102
103   def RunMediaMetrics(self, action_runner):
104     self.PlayAction(action_runner)
105
106
107 class Page6(ToughVideoCasesPage):
108
109   def __init__(self, page_set):
110     super(Page6, self).__init__(
111       url='file://tough_video_cases/video.html?src=crowd2160.webm',
112       page_set=page_set)
113
114     self.add_browser_metrics = True
115     self.is_4k = True
116     self.is_50fps = True
117
118   def RunMediaMetrics(self, action_runner):
119     self.PlayAction(action_runner)
120
121
122 class Page7(ToughVideoCasesPage):
123
124   def __init__(self, page_set):
125     super(Page7, self).__init__(
126       url='file://tough_video_cases/video.html?src=tulip2.ogg&type=audio',
127       page_set=page_set)
128
129     self.add_browser_metrics = True
130
131   def RunMediaMetrics(self, action_runner):
132     self.PlayAction(action_runner)
133
134
135 class Page8(ToughVideoCasesPage):
136
137   def __init__(self, page_set):
138     super(Page8, self).__init__(
139       url='file://tough_video_cases/video.html?src=tulip2.wav&type=audio',
140       page_set=page_set)
141
142     self.add_browser_metrics = True
143
144   def RunMediaMetrics(self, action_runner):
145     self.PlayAction(action_runner)
146
147
148 class Page9(ToughVideoCasesPage):
149
150   def __init__(self, page_set):
151     super(Page9, self).__init__(
152       url='file://tough_video_cases/video.html?src=tulip2.ogv',
153       page_set=page_set)
154
155     self.add_browser_metrics = True
156
157   def RunMediaMetrics(self, action_runner):
158     self.PlayAction(action_runner)
159
160
161 class Page10(ToughVideoCasesPage):
162
163   def __init__(self, page_set):
164     super(Page10, self).__init__(
165       url='file://tough_video_cases/video.html?src=tulip2.webm',
166       page_set=page_set)
167
168     self.add_browser_metrics = True
169
170   def RunMediaMetrics(self, action_runner):
171     self.PlayAction(action_runner)
172
173
174 class Page11(ToughVideoCasesPage):
175
176   def __init__(self, page_set):
177     super(Page11, self).__init__(
178       url='file://tough_video_cases/video.html?src=crowd1080.mp4',
179       page_set=page_set)
180
181     self.add_browser_metrics = True
182     self.is_50fps = True
183
184   def RunMediaMetrics(self, action_runner):
185     self.PlayAction(action_runner)
186
187
188 class Page12(ToughVideoCasesPage):
189
190   def __init__(self, page_set):
191     super(Page12, self).__init__(
192       url='file://tough_video_cases/video.html?src=crowd2160.mp4',
193       page_set=page_set)
194
195     self.add_browser_metrics = True
196     self.is_4k = True
197     self.is_50fps = True
198
199   def RunMediaMetrics(self, action_runner):
200     self.PlayAction(action_runner)
201
202
203 class Page13(ToughVideoCasesPage):
204
205   def __init__(self, page_set):
206     super(Page13, self).__init__(
207       url='file://tough_video_cases/video.html?src=tulip2.mp3&type=audio',
208       page_set=page_set)
209
210     self.add_browser_metrics = True
211
212   def RunMediaMetrics(self, action_runner):
213     self.PlayAction(action_runner)
214
215
216 class Page14(ToughVideoCasesPage):
217
218   def __init__(self, page_set):
219     super(Page14, self).__init__(
220       url='file://tough_video_cases/video.html?src=tulip2.mp4',
221       page_set=page_set)
222
223     self.add_browser_metrics = True
224
225   def RunMediaMetrics(self, action_runner):
226     self.PlayAction(action_runner)
227
228
229 class Page15(ToughVideoCasesPage):
230
231   def __init__(self, page_set):
232     super(Page15, self).__init__(
233       url='file://tough_video_cases/video.html?src=tulip2.m4a&type=audio',
234       page_set=page_set)
235
236     self.add_browser_metrics = True
237
238   def RunMediaMetrics(self, action_runner):
239     self.PlayAction(action_runner)
240
241
242 class Page16(ToughVideoCasesPage):
243
244   def __init__(self, page_set):
245     super(Page16, self).__init__(
246       url='file://tough_video_cases/video.html?src=garden2_10s.webm',
247       page_set=page_set)
248
249     self.is_4k = True
250     self.add_browser_metrics = True
251
252   def RunMediaMetrics(self, action_runner):
253     self.PlayAction(action_runner)
254
255
256 class Page17(ToughVideoCasesPage):
257
258   def __init__(self, page_set):
259     super(Page17, self).__init__(
260       url='file://tough_video_cases/video.html?src=garden2_10s.mp4',
261       page_set=page_set)
262
263     self.is_4k = True
264     self.add_browser_metrics = True
265
266   def RunMediaMetrics(self, action_runner):
267     self.PlayAction(action_runner)
268
269
270 class Page18(ToughVideoCasesPage):
271
272   def __init__(self, page_set):
273     super(Page18, self).__init__(
274       url='file://tough_video_cases/video.html?src=garden2_10s.ogv',
275       page_set=page_set)
276
277     self.is_4k = True
278     self.add_browser_metrics = True
279
280   def RunMediaMetrics(self, action_runner):
281     self.PlayAction(action_runner)
282
283
284 class Page19(ToughVideoCasesPage):
285
286   def __init__(self, page_set):
287     super(Page19, self).__init__(
288       url='file://tough_video_cases/video.html?src=tulip2.ogg&type=audio',
289       page_set=page_set)
290
291     self.skip_basic_metrics = True
292
293   def RunMediaMetrics(self, action_runner):
294     self.SeekBeforeAndAfterPlayhead(action_runner)
295
296
297 class Page20(ToughVideoCasesPage):
298
299   def __init__(self, page_set):
300     super(Page20, self).__init__(
301       url='file://tough_video_cases/video.html?src=tulip2.wav&type=audio',
302       page_set=page_set)
303
304     self.skip_basic_metrics = True
305
306   def RunMediaMetrics(self, action_runner):
307     self.SeekBeforeAndAfterPlayhead(action_runner)
308
309
310 class Page21(ToughVideoCasesPage):
311
312   def __init__(self, page_set):
313     super(Page21, self).__init__(
314       url='file://tough_video_cases/video.html?src=tulip2.ogv',
315       page_set=page_set)
316
317     self.skip_basic_metrics = True
318
319   def RunMediaMetrics(self, action_runner):
320     self.SeekBeforeAndAfterPlayhead(action_runner)
321
322
323 class Page22(ToughVideoCasesPage):
324
325   def __init__(self, page_set):
326     super(Page22, self).__init__(
327       url='file://tough_video_cases/video.html?src=tulip2.webm',
328       page_set=page_set)
329
330     self.skip_basic_metrics = True
331
332   def RunMediaMetrics(self, action_runner):
333     self.SeekBeforeAndAfterPlayhead(action_runner)
334
335
336 class Page23(ToughVideoCasesPage):
337
338   def __init__(self, page_set):
339     super(Page23, self).__init__(
340       url='file://tough_video_cases/video.html?src=tulip2.mp3&type=audio',
341       page_set=page_set)
342
343     self.skip_basic_metrics = True
344
345   def RunMediaMetrics(self, action_runner):
346     self.SeekBeforeAndAfterPlayhead(action_runner)
347
348
349 class Page24(ToughVideoCasesPage):
350
351   def __init__(self, page_set):
352     super(Page24, self).__init__(
353       url='file://tough_video_cases/video.html?src=tulip2.mp4',
354       page_set=page_set)
355
356     self.skip_basic_metrics = True
357
358   def RunMediaMetrics(self, action_runner):
359     self.SeekBeforeAndAfterPlayhead(action_runner)
360
361
362 class Page25(ToughVideoCasesPage):
363
364   def __init__(self, page_set):
365     super(Page25, self).__init__(
366       url='file://tough_video_cases/video.html?src=garden2_10s.webm',
367       page_set=page_set)
368
369     self.skip_basic_metrics = True
370     self.is_4k = True
371
372   def RunMediaMetrics(self, action_runner):
373     self.SeekBeforeAndAfterPlayhead(action_runner)
374
375
376 class Page26(ToughVideoCasesPage):
377
378   def __init__(self, page_set):
379     super(Page26, self).__init__(
380       url='file://tough_video_cases/video.html?src=garden2_10s.mp4',
381       page_set=page_set)
382
383     self.skip_basic_metrics = True
384     self.is_4k = True
385
386   def RunMediaMetrics(self, action_runner):
387     self.SeekBeforeAndAfterPlayhead(action_runner)
388
389
390 class Page27(ToughVideoCasesPage):
391
392   def __init__(self, page_set):
393     super(Page27, self).__init__(
394       url='file://tough_video_cases/video.html?src=garden2_10s.ogv',
395       page_set=page_set)
396
397     self.skip_basic_metrics = True
398     self.is_4k = True
399
400   def RunMediaMetrics(self, action_runner):
401     self.SeekBeforeAndAfterPlayhead(action_runner)
402
403
404 class Page28(ToughVideoCasesPage):
405
406   def __init__(self, page_set):
407     super(Page28, self).__init__(
408       url='file://tough_video_cases/audio_playback.html?id=single_audio',
409       page_set=page_set)
410
411     self.skip_basic_metrics = True
412
413   def RunMediaMetrics(self, action_runner):
414     self.LoopSingleAudio(action_runner)
415
416
417 class Page29(ToughVideoCasesPage):
418
419   def __init__(self, page_set):
420     super(Page29, self).__init__(
421       url='file://tough_video_cases/audio_playback.html?id=mixed_audio',
422       page_set=page_set)
423
424     self.skip_basic_metrics = True
425
426   def RunMediaMetrics(self, action_runner):
427     self.LoopMixedAudio(action_runner)
428
429 class Page30(ToughVideoCasesPage):
430
431   def __init__(self, page_set):
432     super(Page30, self).__init__(
433       url='file://tough_video_cases/video.html?src=tulip2.vp9.webm',
434       page_set=page_set)
435
436     self.add_browser_metrics = True
437
438   def RunMediaMetrics(self, action_runner):
439     self.PlayAction(action_runner)
440
441 class Page31(ToughVideoCasesPage):
442
443   def __init__(self, page_set):
444     super(Page31, self).__init__(
445       url='file://tough_video_cases/video.html?src=tulip2.vp9.webm',
446       page_set=page_set)
447
448     self.skip_basic_metrics = True
449
450   def RunMediaMetrics(self, action_runner):
451     self.SeekBeforeAndAfterPlayhead(action_runner)
452
453 class Page32(ToughVideoCasesPage):
454
455   def __init__(self, page_set):
456     super(Page32, self).__init__(
457       url='file://tough_video_cases/video.html?src=crowd1080_vp9.webm',
458       page_set=page_set)
459
460     self.add_browser_metrics = True
461
462   def RunMediaMetrics(self, action_runner):
463     self.PlayAction(action_runner)
464
465 class Page33(ToughVideoCasesPage):
466
467   def __init__(self, page_set):
468     super(Page33, self).__init__(
469       url='file://tough_video_cases/video.html?src=crowd1080_vp9.webm',
470       page_set=page_set)
471
472     self.skip_basic_metrics = True
473
474   def RunMediaMetrics(self, action_runner):
475     self.SeekBeforeAndAfterPlayhead(action_runner)
476
477 class Page34(ToughVideoCasesPage):
478
479   def __init__(self, page_set):
480     super(Page34, self).__init__(
481       url='file://tough_video_cases/video.html?src=crowd720_vp9.webm',
482       page_set=page_set)
483
484     self.add_browser_metrics = True
485
486   def RunMediaMetrics(self, action_runner):
487     self.PlayAction(action_runner)
488
489 class Page35(ToughVideoCasesPage):
490
491   def __init__(self, page_set):
492     super(Page35, self).__init__(
493       url='file://tough_video_cases/video.html?src=crowd720_vp9.webm',
494       page_set=page_set)
495
496     self.skip_basic_metrics = True
497
498   def RunMediaMetrics(self, action_runner):
499     self.SeekBeforeAndAfterPlayhead(action_runner)
500
501 class ToughVideoCasesPageSet(page_set_module.PageSet):
502
503   """
504   Description: Video Stack Perf benchmark
505   """
506   def __init__(self):
507     super(ToughVideoCasesPageSet, self).__init__(
508             bucket=page_set_module.INTERNAL_BUCKET)
509
510     self.AddPage(Page1(self))
511     self.AddPage(Page2(self))
512     self.AddPage(Page3(self))
513     self.AddPage(Page4(self))
514     self.AddPage(Page5(self))
515     self.AddPage(Page6(self))
516     self.AddPage(Page7(self))
517     self.AddPage(Page8(self))
518     self.AddPage(Page9(self))
519     self.AddPage(Page10(self))
520     self.AddPage(Page11(self))
521     self.AddPage(Page12(self))
522     self.AddPage(Page13(self))
523     self.AddPage(Page14(self))
524     self.AddPage(Page15(self))
525     self.AddPage(Page16(self))
526     self.AddPage(Page17(self))
527     self.AddPage(Page18(self))
528     self.AddPage(Page19(self))
529     self.AddPage(Page20(self))
530     self.AddPage(Page21(self))
531     self.AddPage(Page22(self))
532     self.AddPage(Page23(self))
533     self.AddPage(Page24(self))
534     self.AddPage(Page25(self))
535     self.AddPage(Page26(self))
536     self.AddPage(Page27(self))
537     self.AddPage(Page28(self))
538     self.AddPage(Page29(self))
539     self.AddPage(Page30(self))
540     self.AddPage(Page31(self))
541     self.AddPage(Page32(self))
542     self.AddPage(Page33(self))
543     self.AddPage(Page34(self))
544     self.AddPage(Page35(self))