# 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 = (os == "win" && processor == "aarch64") # aarch64 due to 1536604
prefs =
  gfx.core-animation.low-power-telemetry-frames=60 # only for test_video_low_power_telemetry.html
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
  ambisonics.mp4
  ambisonics.mp4^headers^
  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^
  av1.mp4
  av1.mp4^headers^
  background_video.js
  badtags.ogg
  badtags.ogg^headers^
  bear-640x360-v_frag-cenc-key_rotation.mp4
  bear-640x360-a_frag-cenc-key_rotation.mp4
  beta-phrasebook.ogg
  beta-phrasebook.ogg^headers^
  big.wav
  big.wav^headers^
  big-buck-bunny-cenc-avc3-1.m4s
  big-buck-bunny-cenc-avc3-1.m4s^headers^
  big-buck-bunny-cenc-avc3-init.mp4
  big-buck-bunny-cenc-avc3-init.mp4^headers^
  big-short.wav
  big-short.wav^headers^
  bipbop.mp4
  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-cenc-video-10s.mp4
  bipbop-cenc-video-10s.mp4^headers^
  bipbop-clearkey-keyrotation-clear-lead-audio.mp4
  bipbop-clearkey-keyrotation-clear-lead-audio.mp4^headers^
  bipbop-clearkey-keyrotation-clear-lead-video.mp4
  bipbop-clearkey-keyrotation-clear-lead-video.mp4^headers^
  bipbop_225w_175kbps.mp4
  bipbop_225w_175kbps.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_audio_aac_8k.mp4
  bipbop_audio_aac_8k.mp4^headers^
  bipbop_audio_aac_22.05k.mp4
  bipbop_audio_aac_22.05k.mp4^headers^
  bipbop_audio_aac_44.1k.mp4
  bipbop_audio_aac_44.1k.mp4^headers^
  bipbop_audio_aac_48k.mp4
  bipbop_audio_aac_48k.mp4^headers^
  bipbop_audio_aac_88.2k.mp4
  bipbop_audio_aac_88.2k.mp4^headers^
  bipbop_audio_aac_96k.mp4
  bipbop_audio_aac_96k.mp4^headers^
  bipbop_cbcs_1_9_audio_1.m4s
  bipbop_cbcs_1_9_audio_1.m4s^headers^
  bipbop_cbcs_1_9_audio_init.mp4
  bipbop_cbcs_1_9_audio_init.mp4^headers^
  bipbop_cbcs_1_9_video_1.m4s
  bipbop_cbcs_1_9_video_1.m4s^headers^
  bipbop_cbcs_1_9_video_init.mp4
  bipbop_cbcs_1_9_video_init.mp4^headers^
  bipbop_cbcs_5_5_audio_1.m4s
  bipbop_cbcs_5_5_audio_1.m4s^headers^
  bipbop_cbcs_5_5_audio_init.mp4
  bipbop_cbcs_5_5_audio_init.mp4^headers^
  bipbop_cbcs_5_5_video_1.m4s
  bipbop_cbcs_5_5_video_1.m4s^headers^
  bipbop_cbcs_5_5_video_init.mp4
  bipbop_cbcs_5_5_video_init.mp4^headers^
  bipbop_cbcs_7_7_audio_1.m4s
  bipbop_cbcs_7_7_audio_1.m4s^headers^
  bipbop_cbcs_7_7_audio_init.mp4
  bipbop_cbcs_7_7_audio_init.mp4^headers^
  bipbop_cbcs_7_7_video_1.m4s
  bipbop_cbcs_7_7_video_1.m4s^headers^
  bipbop_cbcs_7_7_video_init.mp4
  bipbop_cbcs_7_7_video_init.mp4^headers^
  bipbop_cbcs_9_8_audio_1.m4s
  bipbop_cbcs_9_8_audio_1.m4s^headers^
  bipbop_cbcs_9_8_audio_init.mp4
  bipbop_cbcs_9_8_audio_init.mp4^headers^
  bipbop_cbcs_9_8_video_1.m4s
  bipbop_cbcs_9_8_video_1.m4s^headers^
  bipbop_cbcs_9_8_video_init.mp4
  bipbop_cbcs_9_8_video_init.mp4^headers^
  bipbop_cbcs_10_0_audio_1.m4s
  bipbop_cbcs_10_0_audio_1.m4s^headers^
  bipbop_cbcs_10_0_audio_init.mp4
  bipbop_cbcs_10_0_audio_init.mp4^headers^
  bipbop_cbcs_10_0_video_1.m4s
  bipbop_cbcs_10_0_video_1.m4s^headers^
  bipbop_cbcs_10_0_video_init.mp4
  bipbop_cbcs_10_0_video_init.mp4^headers^
  bipbop_short_pixel_metadata_bigger_than_in_stream_vp8.webm
  bipbop_short_pixel_metadata_bigger_than_in_stream_vp8.webm^headers^
  bipbop_short_pixel_metadata_narrower_than_in_stream_vp8.webm
  bipbop_short_pixel_metadata_narrower_than_in_stream_vp8.webm^headers^
  bipbop_short_pixel_metadata_smaller_than_in_stream_vp8.webm^headers^
  bipbop_short_pixel_metadata_smaller_than_in_stream_vp8.webm
  bipbop_short_vp8.webm
  bipbop_short_vp8.webm^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^
  bug603918.webm
  bug603918.webm^headers^
  bug604067.webm
  bug604067.webm^headers^
  bug1066943.webm
  bug1066943.webm^headers^
  bug1301226.wav
  bug1301226.wav^headers^
  bug1301226-odd.wav
  bug1301226-odd.wav^headers^
  bug1377278.webm
  bug1377278.webm^headers^
  bug1535980.webm
  bug1535980.webm^headers^
  bunny.webm
  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^
  chromeHelper.js
  cloneElementVisually_helpers.js
  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_resource.sjs
  eme_standalone.js
  eme.js
  empty_size.mp3
  file_access_controls.html
  file_eme_createMediaKeys.html
  flac-s24.flac
  flac-s24.flac^headers^
  flac-noheader-s16.flac
  flac-noheader-s16.flac^headers^
  flac-sample.mp4
  flac-sample.mp4^headers^
  flac-sample-cenc.mp4
  flac-sample-cenc.mp4^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^
  gUM_support.js
  gzipped_mp4.sjs
  huge-id3.mp3
  huge-id3.mp3^headers^
  id3tags.mp3
  id3tags.mp3^headers^
  id3v1afterlongid3v2.mp3
  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^
  manifest.js
  midflight-redirect.sjs
  multiple-bos.ogg
  multiple-bos.ogg^headers^
  multiple-bos-more-header-fileds.ogg
  multiple-bos-more-header-fileds.ogg^headers^
  multi_id3v2.mp3
  no-container-codec-delay.webm
  no-cues.webm
  no-cues.webm^headers^
  notags.mp3
  notags.mp3^headers^
  opus-mapping2.mp4
  opus-mapping2.mp4^headers^
  opus-mapping2.webm
  opus-mapping2.webm^headers^
  opus-sample.mp4
  opus-sample.mp4^headers^
  opus-sample-cenc.mp4
  opus-sample-cenc.mp4^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^
  pixel_aspect_ratio.mp4
  play_promise.js
  poster-test.jpg
  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
  resolution-change.webm
  resolution-change.webm^headers^
  sample.3gp
  sample.3g2
  sample-encrypted-sgpdstbl-sbgptraf.mp4
  sample-encrypted-sgpdstbl-sbgptraf.mp4^headers^
  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_support.js
  seekLies.sjs
  seek_with_sound.ogg^headers^
  short-aac-encrypted-audio.mp4
  short-aac-encrypted-audio.mp4^headers^
  short-audio-fragmented-cenc-without-pssh.mp4
  short-audio-fragmented-cenc-without-pssh.mp4^headers^
  short-cenc.mp4
  short-video.ogv
  short.mp4
  short.mp4.gz
  short.mp4^headers^
  # source file generated with:
  # > sox -V -r 44100 -n -b 16 -c 1 sin-441-1s-44100.wav synth 1 sin 441 vol -5dB
  # then encoded:
  # ffmpeg -i sin-441-1s-44100.wav sin-441-1s-44100-libfdk_aac.mp4
  sin-441-1s-44100-fdk_aac.mp4
  # afconvert -s 3 -f mp4f -d aac sin-4411-1s-441100.wav
  sin-441-1s-44100-afconvert.mp4
  # ffmpeg -i sin-441-1s-44100.wav sin-441-1s-44100-libfdk_lame.mp3
  sin-441-1s-44100-lame.mp3
  # ffmpeg -i sin-441-1s-44100.wav sin-441-1s-44100.ogg
  sin-441-1s-44100.ogg
  # ffmpeg -i sin-441-1s-44100.wav sin-441-1s-44100.opus
  sin-441-1s-44100.opus
  # ffmpeg -i sin-441-1s-44100.wav sin-441-1s-44100.flac
  sin-441-1s-44100.flac
  sine.webm
  sine.webm^headers^
  sintel-short-clearkey-subsample-encrypted-audio.webm
  sintel-short-clearkey-subsample-encrypted-audio.webm^headers^
  sintel-short-clearkey-subsample-encrypted-video.webm
  sintel-short-clearkey-subsample-encrypted-video.webm^headers^
  short-video.ogv^headers^
  short-vp9-encrypted-video.mp4
  short-vp9-encrypted-video.mp4^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^
  test-stereo-phase-inversion-180.opus
  test-stereo-phase-inversion-180.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^
  very-short.mp3
  video-overhang.ogg
  video-overhang.ogg^headers^
  vp9-superframes.webm
  vp9-superframes.webm^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^
  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_float.wav
  wavedata_float.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^
  white-short.webm
  !/dom/canvas/test/captureStream_common.js
  !/dom/html/test/reflect.js
  !/dom/media/webrtc/tests/mochitests/head.js
  hls/bipbop_16x9_single.m3u8
  hls/bipbop_4x3_single.m3u8
  hls/bipbop_4x3_variant.m3u8
  hls/400x300_prog_index.m3u8
  hls/400x300_prog_index_5s.m3u8
  hls/416x243_prog_index_5s.m3u8
  hls/640x480_prog_index.m3u8
  hls/960x720_prog_index.m3u8
  hls/400x300_seg0.ts
  hls/400x300_seg0_5s.ts
  hls/400x300_seg1.ts
  hls/416x243_seg0_5s.ts
  hls/640x480_seg0.ts
  hls/640x480_seg1.ts
  hls/960x720_seg0.ts
  hls/960x720_seg1.ts
  sync.webm
  two-xing-header-no-content-length.mp3
  two-xing-header-no-content-length.mp3^headers^
  single-xing-header-no-content-length.mp3
  single-xing-header-no-content-length.mp3^headers^
  padding-spanning-multiple-packets.mp3

[test_capture_stream_av_sync.html]
skip-if =
    toolkit == 'android' # 1712598 (canvas error)
    (os == 'mac') # 1517199 (timeout-on-osx)
    (os == "linux") # 1713397, 1719881 (high intermittent failure on linux tsan), 1776937
    apple_silicon # Disabled due to bleedover with other tests when run in regular suites; passes in "failures" jobs
[test_chaining.html]
[test_clone_media_element.html]
skip-if = toolkit == 'android' # bug 1108558, android(bug 1232305)
[test_fastSeek.html]
[test_fastSeek-forwards.html]
[test_imagecapture.html]
scheme=https
[test_invalid_reject_play.html]
[test_media_selection.html]
[test_media_sniffer.html]
[test_mediastream_as_eventarget.html]
[test_mediatrack_consuming_mediastream.html]
scheme=https
tags=mtg
[test_mediatrack_replay_from_end.html]
[test_midflight_redirect_blocked.html]
[test_mixed_principals.html]
skip-if =
  toolkit == 'android' # bug 1309814, android(bug 1232305)
  apple_silicon # bug 1707737
[test_multiple_mediastreamtracks.html]
scheme=https
[test_play_events_2.html]
[test_playback.html]
skip-if = toolkit == 'android' # bug 1316177
[test_playback_and_bfcache.html]
support-files = file_playback_and_bfcache.html
[test_playback_rate.html]
[test_played.html]
skip-if =
  toolkit == 'android' && is_emulator # Times out on android-em, Bug 1613946
[test_replay_metadata.html]
[test_reset_events_async.html]
[test_video_dimensions.html]
[test_resolution_change.html]
tags=capturestream
[test_resume.html]
skip-if = true # bug 1021673
[test_seamless_looping.html]
[test_seamless_looping_duration.html]
[test_seamless_looping_cancel_looping_future_frames.html]
[test_seamless_looping_media_element_state.html]
[test_seamless_looping_resume_video_decoding.html]
[test_seamless_looping_seek_current_time.html]
[test_seamless_looping_video.html]
skip-if = toolkit == 'android' # Android has black frames issue.
[test_video_to_canvas.html]
skip-if = toolkit == 'android' # android(bug 1232305), bugs 1320418,1347953,1347954,1348140,1348386
[test_video_low_power_telemetry.html]
skip-if = (os != 'mac') # This telemetry is macOS-specific.
[test_vp9_superframes.html]
[test_temporary_file_blob_video_plays.html]
skip-if = toolkit == 'android'
  (os == 'win' && processor == 'aarch64') # bug 1533534 # android(bug 1232305)
[test_videoPlaybackQuality_totalFrames.html]
skip-if = os == 'win'
  (os == 'mac' && os_version == '10.14') # bug 1374189, mac due to bug 1544938

[test_playback_hls.html]
# HLS is only supported on Fennec with API level >= 16
# TODO: This test is similar to test_playback.html, will remove the
# redundant code once test_playback.html is enabled on Fennec.
skip-if = toolkit != 'android'
tags = hls

[test_hls_player_independency.html]
# There's a limit for creating decoder when API lever < 18(Bug 1278574)
# We could skip the test in that case as we cannot play 2 video at a time.
skip-if = toolkit != 'android'
  android_version < '18'
tags = hls

[test_cloneElementVisually_paused.html]
tags = cloneelementvisually
[test_cloneElementVisually_mediastream.html]
skip-if = (os == 'win' && os_version == '6.1') # Frequent failures on Win7
tags = cloneelementvisually
[test_cloneElementVisually_mediastream_multitrack.html]
tags = cloneelementvisually
[test_cloneElementVisually_resource_change.html]
skip-if =
  os == "linux" && !(debug || asan || tsan) # Bug 1559308 - lower frequency intermittent
tags = cloneelementvisually
[test_cloneElementVisually_no_suspend.html]
tags = cloneelementvisually
[test_cloneElementVisually_poster.html]
tags = cloneelementvisually
[test_cloneElementVisually_ended_video.html]
tags = cloneelementvisually
[test_mp3_broadcast.html]
