# Media tests should be backend independent, i.e., not conditioned on ogg,
# wave etc. (The only exception is the can_play_type tests, which
# necessarily depend on the backend(s) configured.) As far as possible, each
# test should work with any resource type. This makes it easy to add new
# backends and reduces the amount of test duplication.

# For each supported backend, resources that can be played by that backend
# should be added to the lists in manifest.js. Media tests that aren't
# testing for a bug in handling a specific resource type should pick one of
# the lists in manifest.js and run the test for each resource in the list
# that is supported in the current build (the canPlayType API is useful for
# this).

# To test whether a valid resource can simply be played through correctly,
# and optionally that its metadata is read correctly, just add it to
# gPlayTests in manifest.js. To test whether an invalid resource correctly
# throws an error (and does not cause a crash or hang), just add it to
# gErrorTests in manifest.js.

# To test for a specific bug in handling a specific resource type, make the
# test first check canPlayType for the type, and if it's not supported, just
# do ok(true, "Type not supported") and stop the test.

[DEFAULT]
subsuite = media
skip-if = android_version == '18' # Run on real devices via autophone
support-files =
  16bit_wave_extrametadata.wav
  16bit_wave_extrametadata.wav^headers^
  320x240.ogv
  320x240.ogv^headers^
  448636.ogv
  448636.ogv^headers^
  A4.ogv
  A4.ogv^headers^
  VID_0001.ogg
  VID_0001.ogg^headers^
  allowed.sjs
  audio-gaps.ogg
  audio-gaps.ogg^headers^
  audio-gaps-short.ogg
  audio-gaps-short.ogg^headers^
  audio-overhang.ogg
  audio-overhang.ogg^headers^
  audio.wav
  audio.wav^headers^
  background_video.js
  badtags.ogg
  badtags.ogg^headers^
  basic.vtt
  bad-signature.vtt
  beta-phrasebook.ogg
  beta-phrasebook.ogg^headers^
  big.wav
  big.wav^headers^
  big-short.wav
  big-short.wav^headers^
  bipbop-cenc-audio1.m4s
  bipbop-cenc-audio1.m4s^headers^
  bipbop-cenc-audio2.m4s
  bipbop-cenc-audio2.m4s^headers^
  bipbop-cenc-audio3.m4s
  bipbop-cenc-audio3.m4s^headers^
  bipbop-cenc-audioinit.mp4
  bipbop-cenc-audioinit.mp4^headers^
  bipbop-cenc-video1.m4s
  bipbop-cenc-video1.m4s^headers^
  bipbop-cenc-video2.m4s
  bipbop-cenc-video2.m4s^headers^
  bipbop-cenc-videoinit.mp4
  bipbop-cenc-videoinit.mp4^headers^
  bipbop_225w_175kbps-cenc-audio-key1-1.m4s
  bipbop_225w_175kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key1-2.m4s
  bipbop_225w_175kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key1-3.m4s
  bipbop_225w_175kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key1-4.m4s
  bipbop_225w_175kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key1-init.mp4
  bipbop_225w_175kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_225w_175kbps-cenc-audio-key2-1.m4s
  bipbop_225w_175kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key2-2.m4s
  bipbop_225w_175kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key2-3.m4s
  bipbop_225w_175kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key2-4.m4s
  bipbop_225w_175kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_225w_175kbps-cenc-audio-key2-init.mp4
  bipbop_225w_175kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_225w_175kbps-cenc-video-key1-1.m4s
  bipbop_225w_175kbps-cenc-video-key1-1.m4s^headers^
  bipbop_225w_175kbps-cenc-video-key1-init.mp4
  bipbop_225w_175kbps-cenc-video-key1-init.mp4^headers^
  bipbop_225w_175kbps-cenc-video-key2-1.m4s
  bipbop_225w_175kbps-cenc-video-key2-1.m4s^headers^
  bipbop_225w_175kbps-cenc-video-key2-init.mp4
  bipbop_225w_175kbps-cenc-video-key2-init.mp4^headers^
  bipbop_300_215kbps-cenc-audio-key1-1.m4s
  bipbop_300_215kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key1-2.m4s
  bipbop_300_215kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key1-3.m4s
  bipbop_300_215kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key1-4.m4s
  bipbop_300_215kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key1-init.mp4
  bipbop_300_215kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_300_215kbps-cenc-audio-key2-1.m4s
  bipbop_300_215kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key2-2.m4s
  bipbop_300_215kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key2-3.m4s
  bipbop_300_215kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key2-4.m4s
  bipbop_300_215kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_300_215kbps-cenc-audio-key2-init.mp4
  bipbop_300_215kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_300_215kbps-cenc-video-key1-1.m4s
  bipbop_300_215kbps-cenc-video-key1-1.m4s^headers^
  bipbop_300_215kbps-cenc-video-key1-2.m4s
  bipbop_300_215kbps-cenc-video-key1-2.m4s^headers^
  bipbop_300_215kbps-cenc-video-key1-init.mp4
  bipbop_300_215kbps-cenc-video-key1-init.mp4^headers^
  bipbop_300_215kbps-cenc-video-key2-1.m4s
  bipbop_300_215kbps-cenc-video-key2-1.m4s^headers^
  bipbop_300_215kbps-cenc-video-key2-2.m4s
  bipbop_300_215kbps-cenc-video-key2-2.m4s^headers^
  bipbop_300_215kbps-cenc-video-key2-init.mp4
  bipbop_300_215kbps-cenc-video-key2-init.mp4^headers^
  bipbop_300wp_227kbps-cenc-audio-key1-1.m4s
  bipbop_300wp_227kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key1-2.m4s
  bipbop_300wp_227kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key1-3.m4s
  bipbop_300wp_227kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key1-4.m4s
  bipbop_300wp_227kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key1-init.mp4
  bipbop_300wp_227kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_300wp_227kbps-cenc-audio-key2-1.m4s
  bipbop_300wp_227kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key2-2.m4s
  bipbop_300wp_227kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key2-3.m4s
  bipbop_300wp_227kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key2-4.m4s
  bipbop_300wp_227kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_300wp_227kbps-cenc-audio-key2-init.mp4
  bipbop_300wp_227kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_300wp_227kbps-cenc-video-key1-1.m4s
  bipbop_300wp_227kbps-cenc-video-key1-1.m4s^headers^
  bipbop_300wp_227kbps-cenc-video-key1-2.m4s
  bipbop_300wp_227kbps-cenc-video-key1-2.m4s^headers^
  bipbop_300wp_227kbps-cenc-video-key1-init.mp4
  bipbop_300wp_227kbps-cenc-video-key1-init.mp4^headers^
  bipbop_300wp_227kbps-cenc-video-key2-1.m4s
  bipbop_300wp_227kbps-cenc-video-key2-1.m4s^headers^
  bipbop_300wp_227kbps-cenc-video-key2-2.m4s
  bipbop_300wp_227kbps-cenc-video-key2-2.m4s^headers^
  bipbop_300wp_227kbps-cenc-video-key2-init.mp4
  bipbop_300wp_227kbps-cenc-video-key2-init.mp4^headers^
  bipbop_360w_253kbps-cenc-audio-key1-1.m4s
  bipbop_360w_253kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key1-2.m4s
  bipbop_360w_253kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key1-3.m4s
  bipbop_360w_253kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key1-4.m4s
  bipbop_360w_253kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key1-init.mp4
  bipbop_360w_253kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_360w_253kbps-cenc-audio-key2-1.m4s
  bipbop_360w_253kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key2-2.m4s
  bipbop_360w_253kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key2-3.m4s
  bipbop_360w_253kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key2-4.m4s
  bipbop_360w_253kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_360w_253kbps-cenc-audio-key2-init.mp4
  bipbop_360w_253kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_360w_253kbps-cenc-video-key1-1.m4s
  bipbop_360w_253kbps-cenc-video-key1-1.m4s^headers^
  bipbop_360w_253kbps-cenc-video-key1-init.mp4
  bipbop_360w_253kbps-cenc-video-key1-init.mp4^headers^
  bipbop_360w_253kbps-cenc-video-key2-1.m4s
  bipbop_360w_253kbps-cenc-video-key2-1.m4s^headers^
  bipbop_360w_253kbps-cenc-video-key2-init.mp4
  bipbop_360w_253kbps-cenc-video-key2-init.mp4^headers^
  bipbop_360w_253kbps-clearkey-audio.webm
  bipbop_360w_253kbps-clearkey-audio.webm^headers^
  bipbop_360w_253kbps-clearkey-video-vp8.webm
  bipbop_360w_253kbps-clearkey-video-vp8.webm^headers^
  bipbop_360w_253kbps-clearkey-video-vp9.webm
  bipbop_360w_253kbps-clearkey-video-vp9.webm^headers^
  bipbop_480_624kbps-cenc-audio-key1-1.m4s
  bipbop_480_624kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key1-2.m4s
  bipbop_480_624kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key1-3.m4s
  bipbop_480_624kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key1-4.m4s
  bipbop_480_624kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key1-init.mp4
  bipbop_480_624kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_480_624kbps-cenc-audio-key2-1.m4s
  bipbop_480_624kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key2-2.m4s
  bipbop_480_624kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key2-3.m4s
  bipbop_480_624kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key2-4.m4s
  bipbop_480_624kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_480_624kbps-cenc-audio-key2-init.mp4
  bipbop_480_624kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_480_624kbps-cenc-video-key1-1.m4s
  bipbop_480_624kbps-cenc-video-key1-1.m4s^headers^
  bipbop_480_624kbps-cenc-video-key1-2.m4s
  bipbop_480_624kbps-cenc-video-key1-2.m4s^headers^
  bipbop_480_624kbps-cenc-video-key1-init.mp4
  bipbop_480_624kbps-cenc-video-key1-init.mp4^headers^
  bipbop_480_624kbps-cenc-video-key2-1.m4s
  bipbop_480_624kbps-cenc-video-key2-1.m4s^headers^
  bipbop_480_624kbps-cenc-video-key2-2.m4s
  bipbop_480_624kbps-cenc-video-key2-2.m4s^headers^
  bipbop_480_624kbps-cenc-video-key2-init.mp4
  bipbop_480_624kbps-cenc-video-key2-init.mp4^headers^
  bipbop_480_959kbps-cenc-audio-key1-1.m4s
  bipbop_480_959kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key1-2.m4s
  bipbop_480_959kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key1-3.m4s
  bipbop_480_959kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key1-4.m4s
  bipbop_480_959kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key1-init.mp4
  bipbop_480_959kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_480_959kbps-cenc-audio-key2-1.m4s
  bipbop_480_959kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key2-2.m4s
  bipbop_480_959kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key2-3.m4s
  bipbop_480_959kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key2-4.m4s
  bipbop_480_959kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_480_959kbps-cenc-audio-key2-init.mp4
  bipbop_480_959kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_480_959kbps-cenc-video-key1-1.m4s
  bipbop_480_959kbps-cenc-video-key1-1.m4s^headers^
  bipbop_480_959kbps-cenc-video-key1-2.m4s
  bipbop_480_959kbps-cenc-video-key1-2.m4s^headers^
  bipbop_480_959kbps-cenc-video-key1-init.mp4
  bipbop_480_959kbps-cenc-video-key1-init.mp4^headers^
  bipbop_480_959kbps-cenc-video-key2-1.m4s
  bipbop_480_959kbps-cenc-video-key2-1.m4s^headers^
  bipbop_480_959kbps-cenc-video-key2-2.m4s
  bipbop_480_959kbps-cenc-video-key2-2.m4s^headers^
  bipbop_480_959kbps-cenc-video-key2-init.mp4
  bipbop_480_959kbps-cenc-video-key2-init.mp4^headers^
  bipbop_480wp_663kbps-cenc-audio-key1-1.m4s
  bipbop_480wp_663kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key1-2.m4s
  bipbop_480wp_663kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key1-3.m4s
  bipbop_480wp_663kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key1-4.m4s
  bipbop_480wp_663kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key1-init.mp4
  bipbop_480wp_663kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_480wp_663kbps-cenc-audio-key2-1.m4s
  bipbop_480wp_663kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key2-2.m4s
  bipbop_480wp_663kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key2-3.m4s
  bipbop_480wp_663kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key2-4.m4s
  bipbop_480wp_663kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_480wp_663kbps-cenc-audio-key2-init.mp4
  bipbop_480wp_663kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_480wp_663kbps-cenc-video-key1-1.m4s
  bipbop_480wp_663kbps-cenc-video-key1-1.m4s^headers^
  bipbop_480wp_663kbps-cenc-video-key1-2.m4s
  bipbop_480wp_663kbps-cenc-video-key1-2.m4s^headers^
  bipbop_480wp_663kbps-cenc-video-key1-init.mp4
  bipbop_480wp_663kbps-cenc-video-key1-init.mp4^headers^
  bipbop_480wp_663kbps-cenc-video-key2-1.m4s
  bipbop_480wp_663kbps-cenc-video-key2-1.m4s^headers^
  bipbop_480wp_663kbps-cenc-video-key2-2.m4s
  bipbop_480wp_663kbps-cenc-video-key2-2.m4s^headers^
  bipbop_480wp_663kbps-cenc-video-key2-init.mp4
  bipbop_480wp_663kbps-cenc-video-key2-init.mp4^headers^
  bipbop_480wp_1001kbps-cenc-audio-key1-1.m4s
  bipbop_480wp_1001kbps-cenc-audio-key1-1.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key1-2.m4s
  bipbop_480wp_1001kbps-cenc-audio-key1-2.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key1-3.m4s
  bipbop_480wp_1001kbps-cenc-audio-key1-3.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key1-4.m4s
  bipbop_480wp_1001kbps-cenc-audio-key1-4.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key1-init.mp4
  bipbop_480wp_1001kbps-cenc-audio-key1-init.mp4^headers^
  bipbop_480wp_1001kbps-cenc-audio-key2-1.m4s
  bipbop_480wp_1001kbps-cenc-audio-key2-1.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key2-2.m4s
  bipbop_480wp_1001kbps-cenc-audio-key2-2.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key2-3.m4s
  bipbop_480wp_1001kbps-cenc-audio-key2-3.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key2-4.m4s
  bipbop_480wp_1001kbps-cenc-audio-key2-4.m4s^headers^
  bipbop_480wp_1001kbps-cenc-audio-key2-init.mp4
  bipbop_480wp_1001kbps-cenc-audio-key2-init.mp4^headers^
  bipbop_480wp_1001kbps-cenc-video-key1-1.m4s
  bipbop_480wp_1001kbps-cenc-video-key1-1.m4s^headers^
  bipbop_480wp_1001kbps-cenc-video-key1-2.m4s
  bipbop_480wp_1001kbps-cenc-video-key1-2.m4s^headers^
  bipbop_480wp_1001kbps-cenc-video-key1-init.mp4
  bipbop_480wp_1001kbps-cenc-video-key1-init.mp4^headers^
  bipbop_480wp_1001kbps-cenc-video-key2-1.m4s
  bipbop_480wp_1001kbps-cenc-video-key2-1.m4s^headers^
  bipbop_480wp_1001kbps-cenc-video-key2-2.m4s
  bipbop_480wp_1001kbps-cenc-video-key2-2.m4s^headers^
  bipbop_480wp_1001kbps-cenc-video-key2-init.mp4
  bipbop_480wp_1001kbps-cenc-video-key2-init.mp4^headers^
  bipbop-lateaudio.mp4
  bipbop-lateaudio.mp4^headers^
  black100x100-aspect3to2.ogv
  black100x100-aspect3to2.ogv^headers^
  bogus.duh
  bogus.ogv
  bogus.ogv^headers^
  bogus.wav
  bogus.wav^headers^
  bug461281.ogg
  bug461281.ogg^headers^
  bug482461-theora.ogv
  bug482461-theora.ogv^headers^
  bug482461.ogv
  bug482461.ogv^headers^
  bug495129.ogv
  bug495129.ogv^headers^
  bug495794.ogg
  bug495794.ogg^headers^
  bug498380.ogv
  bug498380.ogv^headers^
  bug498855-1.ogv
  bug498855-1.ogv^headers^
  bug498855-2.ogv
  bug498855-2.ogv^headers^
  bug498855-3.ogv
  bug498855-3.ogv^headers^
  bug499519.ogv
  bug499519.ogv^headers^
  bug500311.ogv
  bug500311.ogv^headers^
  bug501279.ogg
  bug501279.ogg^headers^
  bug504613.ogv
  bug504613.ogv^headers^
  bug504644.ogv
  bug504644.ogv^headers^
  bug504843.ogv
  bug504843.ogv^headers^
  bug506094.ogv
  bug506094.ogv^headers^
  bug516323.indexed.ogv
  bug516323.indexed.ogv^headers^
  bug516323.ogv
  bug516323.ogv^headers^
  bug520493.ogg
  bug520493.ogg^headers^
  bug520500.ogg
  bug520500.ogg^headers^
  bug520908.ogv
  bug520908.ogv^headers^
  bug523816.ogv
  bug523816.ogv^headers^
  bug533822.ogg
  bug533822.ogg^headers^
  bug556821.ogv
  bug556821.ogv^headers^
  bug557094.ogv
  bug557094.ogv^headers^
  bug580982.webm
  bug580982.webm^headers^
  bug603918.webm
  bug603918.webm^headers^
  bug604067.webm
  bug604067.webm^headers^
  bug883173.vtt
  bug1066943.webm
  bug1066943.webm^headers^
  bug1301226.wav
  bug1301226.wav^headers^
  bug1301226-odd.wav
  bug1301226-odd.wav^headers^
  can_play_type_dash.js
  can_play_type_ogg.js
  can_play_type_wave.js
  can_play_type_webm.js
  cancellable_request.sjs
  chain.ogg
  chain.ogg^headers^
  chain.ogv
  chain.ogv^headers^
  chain.opus
  chain.opus^headers^
  chained-audio-video.ogg
  chained-audio-video.ogg^headers^
  chained-video.ogv
  chained-video.ogv^headers^
  contentType.sjs
  detodos.opus
  detodos.opus^headers^
  detodos.webm
  detodos.webm^headers^
  detodos-short.webm
  detodos-short.webm^headers^
  detodos-recorder-test.opus
  detodos-recorder-test.opus^headers^
  detodos-short.opus
  detodos-short.opus^headers^
  dirac.ogg
  dirac.ogg^headers^
  dynamic_redirect.sjs
  dynamic_resource.sjs
  eme.js
  file_access_controls.html
  flac-s24.flac
  flac-s24.flac^headers^
  flac-noheader-s16.flac
  flac-noheader-s16.flac^headers^
  fragment_noplay.js
  fragment_play.js
  gizmo.mp4
  gizmo.mp4^headers^
  gizmo-noaudio.mp4
  gizmo-noaudio.mp4^headers^
  gizmo-short.mp4
  gizmo-short.mp4^headers^
  gizmo.webm
  gizmo.webm^headers^
  gizmo-noaudio.webm
  gizmo-noaudio.webm^headers^
  huge-id3.mp3
  huge-id3.mp3^headers^
  id3tags.mp3
  id3tags.mp3^headers^
  invalid-cmap-s0c0.opus
  invalid-cmap-s0c0.opus^headers^
  invalid-cmap-s0c2.opus
  invalid-cmap-s0c2.opus^headers^
  invalid-cmap-s1c2.opus
  invalid-cmap-s1c2.opus^headers^
  invalid-cmap-short.opus
  invalid-cmap-short.opus^headers^
  invalid-discard_on_multi_blocks.webm
  invalid-discard_on_multi_blocks.webm^headers^
  invalid-excess_discard.webm
  invalid-excess_discard.webm^headers^
  invalid-excess_neg_discard.webm
  invalid-excess_neg_discard.webm^headers^
  invalid-m0c0.opus
  invalid-m0c0.opus^headers^
  invalid-m0c3.opus
  invalid-m0c3.opus^headers^
  invalid-m1c0.opus
  invalid-m1c0.opus^headers^
  invalid-m1c9.opus
  invalid-m1c9.opus^headers^
  invalid-m2c0.opus
  invalid-m2c0.opus^headers^
  invalid-m2c1.opus
  invalid-m2c1.opus^headers^
  invalid-neg_discard.webm
  invalid-neg_discard.webm^headers^
  invalid-preskip.webm
  invalid-preskip.webm^headers^
  long.vtt
  manifest.js
  multiple-bos.ogg
  multiple-bos.ogg^headers^
  multiple-bos-more-header-fileds.ogg
  multiple-bos-more-header-fileds.ogg^headers^
  no-cues.webm
  no-cues.webm^headers^
  notags.mp3
  notags.mp3^headers^
  owl-funnier-id3.mp3
  owl-funnier-id3.mp3^headers^
  owl-funny-id3.mp3
  owl-funny-id3.mp3^headers^
  owl.mp3
  owl.mp3^headers^
  owl-short.mp3
  owl-short.mp3^headers^
  parser.vtt
  pixel_aspect_ratio.mp4
  r11025_msadpcm_c1.wav
  r11025_msadpcm_c1.wav^headers^
  r11025_s16_c1.wav
  r11025_s16_c1.wav^headers^
  r11025_s16_c1_trailing.wav
  r11025_s16_c1_trailing.wav^headers^
  r11025_s16_c1-short.wav
  r11025_s16_c1-short.wav^headers^
  r11025_u8_c1.wav
  r11025_u8_c1.wav^headers^
  r11025_u8_c1_trunc.wav
  r11025_u8_c1_trunc.wav^headers^
  r16000_u8_c1_list.wav
  r16000_u8_c1_list.wav^headers^
  reactivate_helper.html
  red-46x48.mp4
  red-46x48.mp4^headers^
  red-48x46.mp4
  red-48x46.mp4^headers^
  redirect.sjs
  referer.sjs
  region.vtt
  resolution-change.webm
  resolution-change.webm^headers^
  sample.3gp
  sample.3g2
  sample-fisbone-skeleton4.ogv
  sample-fisbone-skeleton4.ogv^headers^
  sample-fisbone-wrong-header.ogv
  sample-fisbone-wrong-header.ogv^headers^
  seek.ogv
  seek.ogv^headers^
  seek-short.ogv
  seek-short.ogv^headers^
  seek.webm
  seek.webm^headers^
  seek-short.webm
  seek-short.webm^headers^
  seek.yuv
  seek_support.js
  seekLies.sjs
  seek_with_sound.ogg^headers^
  sequential.vtt
  short-cenc.mp4
  sine.webm
  sine.webm^headers^
  short.mp4
  short.mp4^headers^
  short-audio-fragmented-cenc-without-pssh.mp4
  short-audio-fragmented-cenc-without-pssh.mp4^headers^
  short-video.ogv
  short-video.ogv^headers^
  small-shot-mp3.mp4
  small-shot-mp3.mp4^headers^
  small-shot.m4a
  small-shot.mp3
  small-shot.mp3^headers^
  small-shot.ogg
  small-shot.ogg^headers^
  small-shot.flac
  sound.ogg
  sound.ogg^headers^
  spacestorm-1000Hz-100ms.ogg
  spacestorm-1000Hz-100ms.ogg^headers^
  split.webm
  split.webm^headers^
  street.mp4
  street.mp4^headers^
  test-1-mono.opus
  test-1-mono.opus^headers^
  test-2-stereo.opus
  test-2-stereo.opus^headers^
  test-3-LCR.opus
  test-3-LCR.opus^headers^
  test-4-quad.opus
  test-4-quad.opus^headers^
  test-5-5.0.opus
  test-5-5.0.opus^headers^
  test-6-5.1.opus
  test-6-5.1.opus^headers^
  test-7-6.1.opus
  test-7-6.1.opus^headers^
  test-8-7.1.opus
  test-8-7.1.opus^headers^
  variable-channel.ogg
  variable-channel.ogg^headers^
  variable-channel.opus
  variable-channel.opus^headers^
  variable-preskip.opus
  variable-preskip.opus^headers^
  variable-samplerate.ogg
  variable-samplerate.ogg^headers^
  variable-samplerate.opus
  variable-samplerate.opus^headers^
  vbr-head.mp3
  vbr-head.mp3^headers^
  vbr.mp3
  vbr.mp3^headers^
  video-overhang.ogg
  video-overhang.ogg^headers^
  vp9.webm
  vp9.webm^headers^
  vp9-short.webm
  vp9-short.webm^headers^
  vp9cake.webm
  vp9cake.webm^headers^
  vp9cake-short.webm
  vp9cake-short.webm^headers^
  vttPositionAlign.vtt
  wave_metadata.wav
  wave_metadata.wav^headers^
  wave_metadata_bad_len.wav
  wave_metadata_bad_len.wav^headers^
  wave_metadata_bad_no_null.wav
  wave_metadata_bad_no_null.wav^headers^
  wave_metadata_bad_utf8.wav
  wave_metadata_bad_utf8.wav^headers^
  wave_metadata_unknown_tag.wav
  wave_metadata_unknown_tag.wav^headers^
  wave_metadata_utf8.wav
  wave_metadata_utf8.wav^headers^
  wavedata_alaw.wav
  wavedata_alaw.wav^headers^
  wavedata_s24.wav
  wavedata_s24.wav^headers^
  wavedata_s16.wav
  wavedata_s16.wav^headers^
  wavedata_u8.wav
  wavedata_u8.wav^headers^
  wavedata_ulaw.wav
  wavedata_ulaw.wav^headers^
  !/dom/canvas/test/captureStream_common.js
  !/dom/html/test/reflect.js

[test_access_control.html]
[test_aspectratio_mp4.html]
[test_audio1.html]
[test_audio2.html]
[test_audioDocumentTitle.html]
skip-if = true # bug 475110 - disabled since we don't play Wave files standalone
[test_autoplay.html]
[test_autoplay_contentEditable.html]
[test_buffered.html]
[test_bug448534.html]
[test_bug463162.xhtml]
[test_bug465498.html]
[test_bug495145.html]
skip-if = (os == 'mac' && os_version == '10.6') # bug 1021174
[test_bug495300.html]
[test_bug654550.html]
[test_bug686942.html]
[test_bug726904.html]
[test_bug874897.html]
[test_bug879717.html]
tags=capturestream
[test_bug883173.html]
[test_bug895091.html]
tags=webvtt
[test_bug895305.html]
[test_bug919265.html]
[test_bug957847.html]
[test_bug1018933.html]
[test_bug1113600.html]
tags=capturestream
[test_bug1242338.html]
[test_bug1242594.html]
[test_bug1248229.html]
tags=capturestream
[test_can_play_type.html]
[test_can_play_type_mpeg.html]
[test_can_play_type_no_ogg.html]
[test_can_play_type_ogg.html]
[test_chaining.html]
[test_clone_media_element.html]
[test_closing_connections.html]
[test_constants.html]
[test_controls.html]
[test_cueless_webm_seek-1.html]
[test_cueless_webm_seek-2.html]
[test_cueless_webm_seek-3.html]
[test_currentTime.html]
[test_decode_error.html]
[test_decoder_disable.html]
[test_defaultMuted.html]
[test_delay_load.html]
[test_eme_session_callable_value.html]
[test_eme_canvas_blocked.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_detach_media_keys.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_initDataTypes.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_missing_pssh.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_non_mse_fails.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_request_notifications.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_playback.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_requestKeySystemAccess.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_setMediaKeys_before_attach_MediaSource.html]
skip-if = toolkit == 'android' # bug 1149374
[test_eme_stream_capture_blocked_case1.html]
tags=msg capturestream
skip-if = toolkit == 'android' # bug 1149374
[test_eme_stream_capture_blocked_case2.html]
tags=msg capturestream
skip-if = toolkit == 'android' # bug 1149374
[test_eme_stream_capture_blocked_case3.html]
tags=msg capturestream
skip-if = toolkit == 'android' # bug 1149374
[test_eme_waitingforkey.html]
skip-if = toolkit == 'android' # bug 1149374
[test_empty_resource.html]
[test_error_in_video_document.html]
[test_error_on_404.html]
[test_fastSeek.html]
[test_fastSeek-forwards.html]
[test_gmp_playback.html]
skip-if = (os != 'win' || os_version == '5.1') # Only gmp-clearkey on Windows Vista and later decodes
[test_imagecapture.html]
[test_info_leak.html]
[test_invalid_reject.html]
[test_invalid_reject_play.html]
[test_invalid_seek.html]
[test_load.html]
[test_load_candidates.html]
[test_load_same_resource.html]
[test_load_source.html]
[test_loop.html]
[test_media_selection.html]
[test_media_sniffer.html]
[test_mediarecorder_avoid_recursion.html]
skip-if = os == 'win' && !debug # bug 1228605
tags=msg
[test_mediarecorder_bitrate.html]
tags=msg
[test_mediarecorder_creation.html]
tags=msg capturestream
[test_mediarecorder_creation_fail.html]
tags=msg
[test_mediarecorder_getencodeddata.html]
tags=msg
[test_mediarecorder_principals.html]
skip-if = (os == 'linux' && bits == 64) # See bug 1266345
tags=msg
[test_mediarecorder_record_4ch_audiocontext.html]
tags=msg
[test_mediarecorder_record_audiocontext.html]
tags=msg
[test_mediarecorder_record_audiocontext_mlk.html]
tags=msg
[test_mediarecorder_record_audionode.html]
tags=msg
[test_mediarecorder_record_canvas_captureStream.html]
tags=msg
[test_mediarecorder_record_changing_video_resolution.html]
tags=msg
[test_mediarecorder_record_gum_video_timeslice.html]
tags=msg
[test_mediarecorder_record_immediate_stop.html]
tags=msg capturestream
[test_mediarecorder_record_no_timeslice.html]
tags=msg capturestream
[test_mediarecorder_record_session.html]
tags=msg capturestream
[test_mediarecorder_record_startstopstart.html]
tags=msg
[test_mediarecorder_record_stopms.html]
tags=msg
[test_mediarecorder_record_timeslice.html]
tags=msg capturestream
[test_mediarecorder_reload_crash.html]
tags=msg capturestream
[test_mediarecorder_unsupported_src.html]
tags=msg
[test_mediarecorder_webm_support.html]
skip-if = os == 'android' || arch == 'arm' || arch == 'arm64'
tags=msg
[test_mediarecorder_record_getdata_afterstart.html]
tags=msg capturestream
[test_mediatrack_consuming_mediaresource.html]
[test_mediatrack_consuming_mediastream.html]
tags=msg
[test_mediatrack_events.html]
[test_mediatrack_parsing_ogg.html]
[test_mediatrack_replay_from_end.html]
[test_metadata.html]
[test_mixed_principals.html]
[test_mozHasAudio.html]
[test_multiple_mediastreamtracks.html]
[test_networkState.html]
[test_new_audio.html]
[test_no_load_event.html]
[test_paused.html]
[test_paused_after_ended.html]
[test_play_events.html]
[test_play_events_2.html]
[test_play_twice.html]
# Seamonkey: Bug 598252
skip-if = appname == "seamonkey"
[test_playback.html]
[test_playback_errors.html]
[test_playback_rate.html]
[test_playback_rate_playpause.html]
[test_playback_reactivate.html]
[test_played.html]
[test_preload_actions.html]
[test_preload_attribute.html]
[test_preload_suspend.html]
[test_preserve_playbackrate_after_ui_play.html]
[test_progress.html]
[test_reactivate.html]
[test_readyState.html]
[test_referer.html]
[test_replay_metadata.html]
[test_reset_events_async.html]
[test_reset_src.html]
[test_video_dimensions.html]
[test_resolution_change.html]
tags=capturestream
[test_resume.html]
skip-if = true # bug 1021673
[test_seek_negative.html]
[test_seek_nosrc.html]
[test_seek_out_of_range.html]
[test_seek-1.html]
[test_seek-2.html]
[test_seek-3.html]
[test_seek-4.html]
[test_seek-5.html]
[test_seek-6.html]
[test_seek-7.html]
[test_seek-8.html]
[test_seek-9.html]
[test_seek-10.html]
[test_seek-11.html]
[test_seek-12.html]
[test_seek-13.html]
[test_seekable1.html]
[test_seekLies.html]
[test_seekToNextFrame.html]
tags=seektonextframe
[test_source.html]
[test_source_media.html]
[test_source_null.html]
[test_source_write.html]
[test_standalone.html]
[test_streams_autoplay.html]
tags=msg capturestream
[test_streams_capture_origin.html]
tags=msg capturestream
[test_streams_element_capture.html]
tags=msg capturestream
[test_streams_element_capture_createObjectURL.html]
tags=msg capturestream
[test_streams_element_capture_playback.html]
tags=msg capturestream
[test_streams_element_capture_reset.html]
tags=msg capturestream
[test_streams_gc.html]
tags=msg capturestream
[test_streams_individual_pause.html]
tags=msg
[test_streams_srcObject.html]
tags=msg capturestream
[test_streams_tracks.html]
tags=msg capturestream
[test_texttrack.html]
tags = webvtt
[test_texttrackcue.html]
tags = webvtt
[test_texttrackcue_moz.html]
tags = webvtt
[test_texttrackevents_video.html]
tags = webvtt
[test_texttracklist.html]
tags = webvtt
[test_texttracklist_moz.html]
tags = webvtt
[test_texttrackregion.html]
tags = webvtt
[test_texttrack_moz.html]
tags = webvtt
[test_timeupdate_small_files.html]
[test_trackelementevent.html]
tags = webvtt
[test_trackelementsrc.html]
tags = webvtt
[test_trackevent.html]
tags = webvtt
[test_unseekable.html]
[test_video_to_canvas.html]
[test_video_in_audio_element.html]
[test_videoDocumentTitle.html]
[test_VideoPlaybackQuality.html]
[test_VideoPlaybackQuality_disabled.html]
[test_volume.html]
[test_vttparser.html]
tags = webvtt
[test_webvtt_empty_displaystate.html]
tags = webvtt
[test_webvtt_positionalign.html]
tags = webvtt

# The tests below contain backend-specific tests. Write backend independent
# tests rather than adding to this list.
[test_can_play_type_webm.html]
[test_can_play_type_wave.html]
[test_fragment_noplay.html]
[test_fragment_play.html]

[test_background_video_suspend.html]
tags = suspend
[test_background_video_suspend_ends.html]
tags = suspend
[test_background_video_no_suspend_short_vid.html]
tags = suspend
[test_background_video_no_suspend_disabled.html]
tags = suspend
[test_temporary_file_blob_video_plays.html]