aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Robinson <mrobinson@igalia.com>2024-01-05 09:01:58 +0100
committerGitHub <noreply@github.com>2024-01-05 08:01:58 +0000
commit7fa4ea9740edccc93672d8cc428f6e9d4575a036 (patch)
treec45393c502ba740128e94991bf923dfc7cc95432
parentc219204084b8f8a747ebd37ec75472c1b7e97411 (diff)
downloadservo-7fa4ea9740edccc93672d8cc428f6e9d4575a036.tar.gz
servo-7fa4ea9740edccc93672d8cc428f6e9d4575a036.zip
Upgrade media / GStreamer / GLib (#30750)
- Upgrade the version of GStreamer for Windows This upgrades the Windows build to use the most recent version of GStreamer. This is necessary to upgrade our GStreamer dependency. - Stop shipping GStreamer binaries on Linux The binary bundle of GStreamer that we package is not used to compile -- only to run layout tests. It's too old for the APIs that we are using (as evidenced by needed 1.18 for WebRTC) and nowadays Linux distributions carry a new version so it's unecessary for our build machines. No longer using this binary bundle will allow us to upgrade our GStreamer dependency -- which now has stricter checks that we are using at least version 1.18. - Upgrade media to use newer versions of GStreamer / GLib dependencies
-rw-r--r--.github/workflows/linux-wpt.yml18
-rw-r--r--.github/workflows/linux.yml4
-rw-r--r--Cargo.lock572
-rw-r--r--Cargo.toml8
-rw-r--r--components/script/dom/rtcdatachannel.rs6
-rw-r--r--components/script/dom/rtcpeerconnection.rs58
-rw-r--r--components/servo/Cargo.toml2
-rw-r--r--ports/libsimpleservo/jniapi/Cargo.toml2
-rw-r--r--python/servo/build_commands.py25
-rw-r--r--python/servo/gstreamer.py7
-rw-r--r--python/servo/platform/base.py4
-rw-r--r--python/servo/platform/linux.py33
-rw-r--r--python/servo/platform/windows.py10
-rw-r--r--servo-tidy.toml10
-rw-r--r--tests/wpt/meta-legacy-layout/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini4
-rw-r--r--tests/wpt/meta-legacy-layout/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini12
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini4
-rw-r--r--tests/wpt/meta/html/semantics/embedded-content/the-video-element/resize-during-playback.html.ini3
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini4
-rw-r--r--tests/wpt/webgl/meta-legacy-layout/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini3
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini4
-rw-r--r--tests/wpt/webgl/meta/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini4
36 files changed, 516 insertions, 337 deletions
diff --git a/.github/workflows/linux-wpt.yml b/.github/workflows/linux-wpt.yml
index e7664a2ec4e..8a83166a561 100644
--- a/.github/workflows/linux-wpt.yml
+++ b/.github/workflows/linux-wpt.yml
@@ -21,6 +21,7 @@ env:
RUST_BACKTRACE: 1
SHELL: /bin/bash
WPT_COMMAND_LINE_ARG: "${{ inputs.wpt-layout == 'layout-2013' && '--legacy-layout' || '' }}"
+ GST_PLUGIN_FEATURE_RANK: pulsesink:NONE,alsasink:NONE,jacksink:NONE,fakesink:MAX
jobs:
linux-wpt:
@@ -48,25 +49,14 @@ jobs:
with:
name: release-binary
path: release-binary
- - name: Cache libffi
- id: cache
- uses: actions/cache@v3
- with:
- path: ./libffi6_3.2.1-8_amd64.deb
- key: cache-libffi
- - name: Download libffi
- if: steps.cache.outputs.cache-hit != 'true'
- run: |
- wget http://mirrors.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb
- name: unPackage binary
run: tar -xzf release-binary/target.tar.gz
- - name: Prep test environment
+ - name: Bootstrap dependencies
run: |
python3 -m pip install --upgrade pip
sudo apt update
- sudo apt install -qy --no-install-recommends libgl1 libssl1.1 libdbus-1-3 libxcb-xfixes0-dev libxcb-shape0-dev libunwind8 libgl1-mesa-dri mesa-vulkan-drivers libegl1-mesa
- sudo apt install ./libffi6_3.2.1-8_amd64.deb
- python3 ./mach bootstrap-gstreamer
+ sudo apt install -qy --no-install-recommends mesa-vulkan-drivers
+ python3 ./mach bootstrap
- name: Sync from upstream WPT
if: ${{ inputs.wpt-sync-from-upstream }}
run: |
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index 0a3f412a049..c4b3ee32417 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -96,7 +96,9 @@ jobs:
- name: Bootstrap Python
run: python3 -m pip install --upgrade pip
- name: Bootstrap dependencies
- run: sudo apt update && python3 ./mach bootstrap
+ run: |
+ sudo apt update
+ python3 ./mach bootstrap
- name: Tidy
run: python3 ./mach test-tidy --no-progress --all
- name: Build (${{ inputs.profile }})
diff --git a/Cargo.lock b/Cargo.lock
index 152207189fa..789cbb893e1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -54,7 +54,7 @@ version = "0.8.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"once_cell",
"version_check",
"zerocopy",
@@ -189,12 +189,6 @@ dependencies = [
]
[[package]]
-name = "array-init"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f30bbe2f5e3d117f55bd8c7a1f9191e4a5deba9f15f595bbea4f670c59c765db"
-
-[[package]]
name = "arrayref"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -315,7 +309,7 @@ checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"miniz_oxide",
"object",
@@ -537,12 +531,6 @@ dependencies = [
]
[[package]]
-name = "boxfnonce"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5988cb1d626264ac94100be357308f29ff7cbdd3b36bda27f450a4ee3f713426"
-
-[[package]]
name = "brotli"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -707,7 +695,7 @@ dependencies = [
"serde_json",
"syn 1.0.103",
"tempfile",
- "toml",
+ "toml 0.5.9",
]
[[package]]
@@ -736,10 +724,14 @@ dependencies = [
]
[[package]]
-name = "cfg-if"
-version = "0.1.10"
+name = "cfg-expr"
+version = "0.15.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+checksum = "6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a"
+dependencies = [
+ "smallvec",
+ "target-lexicon",
+]
[[package]]
name = "cfg-if"
@@ -915,7 +907,7 @@ name = "compositing"
version = "0.0.1"
dependencies = [
"canvas",
- "cfg-if 1.0.0",
+ "cfg-if",
"compositing_traits",
"crossbeam-channel",
"embedder_traits",
@@ -940,7 +932,7 @@ dependencies = [
"servo_url",
"style_traits",
"time 0.1.45",
- "toml",
+ "toml 0.5.9",
"webrender",
"webrender_api",
"webrender_surfman",
@@ -1125,7 +1117,7 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -1134,7 +1126,7 @@ version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"crossbeam-utils",
]
@@ -1144,7 +1136,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"crossbeam-epoch",
"crossbeam-utils",
]
@@ -1156,7 +1148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
dependencies = [
"autocfg",
- "cfg-if 1.0.0",
+ "cfg-if",
"crossbeam-utils",
]
@@ -1166,7 +1158,7 @@ version = "0.8.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -1407,7 +1399,7 @@ version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"dirs-sys-next",
]
@@ -1560,7 +1552,7 @@ dependencies = [
name = "embedder_traits"
version = "0.0.1"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"crossbeam-channel",
"ipc-channel",
"keyboard-types",
@@ -1599,7 +1591,7 @@ version = "0.8.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
]
[[package]]
@@ -1736,7 +1728,7 @@ version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"redox_syscall 0.4.1",
"windows-sys 0.52.0",
@@ -2043,7 +2035,7 @@ version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
]
@@ -2118,6 +2110,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
+name = "gio-sys"
+version = "0.18.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2"
+dependencies = [
+ "glib-sys",
+ "gobject-sys",
+ "libc",
+ "system-deps",
+ "winapi",
+]
+
+[[package]]
name = "git2"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2152,30 +2157,49 @@ dependencies = [
[[package]]
name = "glib"
-version = "0.9.3"
+version = "0.18.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40fb573a09841b6386ddf15fd4bc6655b4f5b106ca962f57ecaecde32a0061c0"
+checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5"
dependencies = [
- "bitflags 1.3.2",
+ "bitflags 2.4.1",
"futures-channel",
"futures-core",
"futures-executor",
"futures-task",
"futures-util",
+ "gio-sys",
+ "glib-macros",
"glib-sys",
"gobject-sys",
- "lazy_static",
"libc",
+ "memchr",
+ "once_cell",
+ "smallvec",
+ "thiserror",
+]
+
+[[package]]
+name = "glib-macros"
+version = "0.18.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc"
+dependencies = [
+ "heck",
+ "proc-macro-crate 2.0.1",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn 2.0.46",
]
[[package]]
name = "glib-sys"
-version = "0.9.1"
+version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
+checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898"
dependencies = [
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
@@ -2207,13 +2231,13 @@ dependencies = [
[[package]]
name = "gobject-sys"
-version = "0.9.1"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
+checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44"
dependencies = [
"glib-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
@@ -2257,147 +2281,156 @@ dependencies = [
[[package]]
name = "gstreamer"
-version = "0.15.7"
+version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce8664a114cd6ec16bece783d5eee59496919915b1f6884400ba4a953274a163"
+checksum = "de95703f4c8e79f4f4e42279cf1ab0e5a46b7ece4a9dfcd16424164af7be9055"
dependencies = [
- "bitflags 1.3.2",
- "cfg-if 0.1.10",
+ "cfg-if",
"futures-channel",
"futures-core",
"futures-util",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer-sys",
- "lazy_static",
+ "itertools 0.12.0",
"libc",
"muldiv",
- "num-rational 0.2.4",
- "paste 0.1.18",
+ "num-integer",
+ "num-rational",
+ "option-operations",
+ "paste",
+ "pin-project-lite",
+ "pretty-hex",
+ "smallvec",
+ "thiserror",
]
[[package]]
name = "gstreamer-app"
-version = "0.15.6"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "789784e8d42f5add1e1e965cf9f7e2d09e21dd0756bae6148f971db9a761d6a9"
+checksum = "16bc8090a8806193237e7b6531ee429ff6e39686425f5c3eb06dfa75875390fb"
dependencies = [
- "bitflags 1.3.2",
"futures-core",
"futures-sink",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-app-sys",
"gstreamer-base",
- "gstreamer-sys",
- "lazy_static",
"libc",
]
[[package]]
name = "gstreamer-app-sys"
-version = "0.8.1"
+version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bf869ce152c23bca5d761ab62146b47f750d0b28d4d499731857532897d48167"
+checksum = "aea07f07a3f17278e6998390ecaea127e476f0af0360c2d83d96e6d3a97fb75e"
dependencies = [
"glib-sys",
"gstreamer-base-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-audio"
-version = "0.15.7"
+version = "0.21.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b0d857debf3abd07b85ec9ce59f0473009d8e3b00092ad9d3b9dafe44b10a01"
+checksum = "7a97c8a4e9c889b4a7b2feda4be70edc5c3e012ddbf97928cf0a020ca1e4212d"
dependencies = [
- "array-init",
- "bitflags 1.3.2",
+ "cfg-if",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-audio-sys",
"gstreamer-base",
- "gstreamer-base-sys",
- "gstreamer-sys",
"libc",
]
[[package]]
name = "gstreamer-audio-sys"
-version = "0.8.1"
+version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbc91f53eec49fc31d6e0aea7502c4c4b502a4164e351b97fe81677f8a0ebce7"
+checksum = "78bd94ae8b177377855b38c3d809c686526786cdb771e6d68510509634b955d1"
dependencies = [
"glib-sys",
"gobject-sys",
"gstreamer-base-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-base"
-version = "0.15.4"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "42552f75cc6c260b0be180d5c955f4cd74bd170289c622404c25f1210b521c12"
+checksum = "cb150b6904a49052237fede7cc2e6479df6ced5043d95e6af8134bc141a3167f"
dependencies = [
- "bitflags 1.3.2",
+ "atomic_refcell",
+ "cfg-if",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-base-sys",
- "gstreamer-sys",
"libc",
]
[[package]]
name = "gstreamer-base-sys"
-version = "0.8.1"
+version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba384f52174b3c586593fca32642680a9e67961fea9f4cd8419f678965023bed"
+checksum = "f4ca701f9078fe115b29b24c80910b577f9cb5b039182f050dbadf5933594b64"
dependencies = [
"glib-sys",
"gobject-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-gl"
-version = "0.15.0"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7af26f75082a835541e09a347df10bf433533302e454487e532011e3c96d1d52"
+checksum = "3ecfb91128263c160448a915a15e430cfdc69317b1b087316222e0693bb51b90"
dependencies = [
- "bitflags 1.3.2",
- "byteorder",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-base",
"gstreamer-gl-sys",
- "gstreamer-sys",
"gstreamer-video",
- "gstreamer-video-sys",
- "lazy_static",
"libc",
]
[[package]]
+name = "gstreamer-gl-egl"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a173ab223aa3c46d5f2be02b494c2086096fa3e932e2953d6392fcc07da5dc82"
+dependencies = [
+ "glib",
+ "gstreamer",
+ "gstreamer-gl",
+ "gstreamer-gl-egl-sys",
+ "libc",
+]
+
+[[package]]
+name = "gstreamer-gl-egl-sys"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ee3c88b6f01c8a5f9f7ba39f9805ac7026fd269fccb04d2a4b488bb928a8e954"
+dependencies = [
+ "glib-sys",
+ "gstreamer-gl-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
name = "gstreamer-gl-sys"
-version = "0.8.1"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d454ff57debf2573b0374b25aebb867d462298d3044cfb56caef64cde5baf68"
+checksum = "d580971b3c99a667c9739812d499e6c5cadbb92873f984cd0d1d0b4e7346f1cd"
dependencies = [
"glib-sys",
"gobject-sys",
@@ -2405,142 +2438,150 @@ dependencies = [
"gstreamer-sys",
"gstreamer-video-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
-name = "gstreamer-player"
-version = "0.15.5"
+name = "gstreamer-gl-x11"
+version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04b3497c644f0e4fa92195930801baabbae74ddb208a2a9f2127f36bf4d8f698"
+checksum = "d7021b9e32c9d2c2830898cfdb60f8b1e7fea560b7cd3e221b9fad01a32af67d"
dependencies = [
- "bitflags 1.3.2",
"glib",
+ "gstreamer",
+ "gstreamer-gl",
+ "gstreamer-gl-x11-sys",
+ "libc",
+]
+
+[[package]]
+name = "gstreamer-gl-x11-sys"
+version = "0.21.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c49aef03c7b9e159b5f4c557efe4a597437ea6e5e10f934ae8b214386c6ebcdc"
+dependencies = [
"glib-sys",
- "gobject-sys",
+ "gstreamer-gl-sys",
+ "libc",
+ "system-deps",
+]
+
+[[package]]
+name = "gstreamer-player"
+version = "0.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "276900527b2f8323c6ed97ab3ed42854bb169a993fb8cef946fb43d1e9097a66"
+dependencies = [
+ "glib",
"gstreamer",
"gstreamer-player-sys",
- "gstreamer-sys",
"gstreamer-video",
"libc",
]
[[package]]
name = "gstreamer-player-sys"
-version = "0.8.1"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9cc38a730aed3442cad1c8df589b4abe856d14671058df7099a5a030fd61413c"
+checksum = "f5ef4d00b43d0aa94e9a518e6ef4a4c504b4b855304a0a5f4ed1493d5e5ca66c"
dependencies = [
"glib-sys",
"gobject-sys",
"gstreamer-sys",
"gstreamer-video-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-sdp"
-version = "0.15.6"
+version = "0.21.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "547b3b0eb9e01e13ab5cc066c817e2ab758f83790145f80f62d3c8e43c2966af"
+checksum = "87946f9c6fabb44a73fb0b3b3d611c7d4468f741dd8e4f9a3d54e1ab2a6a8b36"
dependencies = [
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-sdp-sys",
- "gstreamer-sys",
]
[[package]]
name = "gstreamer-sdp-sys"
-version = "0.8.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e062aa557a851d8aac367df24ca80040ec45340033c0c6675fbdc7f26f71da48"
+checksum = "006e4bdf4618c70a2cb440ca4adf1a4140fc118b1b314684903a48f0ef5e1da1"
dependencies = [
"glib-sys",
- "gobject-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-sys"
-version = "0.8.1"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d18da01b97d0ab5896acd5151e4c155acefd0e6c03c3dd24dd133ba054053db"
+checksum = "564cda782b3e6eed1b81cb4798a06794db56440fb05b422505be689f34ce3bc4"
dependencies = [
"glib-sys",
"gobject-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-video"
-version = "0.15.7"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ad7e69a940246d41428c72072a376785716b3669da333cbee1156fd90574dc9"
+checksum = "e85b2a4d1d3b7a98ae03806c3ed5c2db89d6b37a5f138780b48de015d68715e5"
dependencies = [
- "bitflags 1.3.2",
+ "cfg-if",
"futures-channel",
- "futures-util",
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-base",
- "gstreamer-base-sys",
- "gstreamer-sys",
"gstreamer-video-sys",
- "lazy_static",
"libc",
+ "thiserror",
]
[[package]]
name = "gstreamer-video-sys"
-version = "0.8.1"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "615f4298f842f4b4581606e13cf52e1710e2130d989bb99161a5665aa3ccb7cc"
+checksum = "0302318d98e6b054501e485b6bb4ee20225823218f4a8660c182f115a33b16ee"
dependencies = [
"glib-sys",
"gobject-sys",
"gstreamer-base-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
name = "gstreamer-webrtc"
-version = "0.15.5"
+version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f433d1294266fb1d65e1dc2d4de365f7f4caf23cb72db3a3bd6904eeec88cf1"
+checksum = "7200f2eb49d609afcb3e064b1ba75cbd041012a1855ea921b222e772634ff370"
dependencies = [
"glib",
- "glib-sys",
- "gobject-sys",
"gstreamer",
"gstreamer-sdp",
- "gstreamer-sys",
"gstreamer-webrtc-sys",
"libc",
]
[[package]]
name = "gstreamer-webrtc-sys"
-version = "0.8.1"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f392bd821b42efecfc21016c8ef20da188b45a45bbb5ddf81758704f93aae615"
+checksum = "e32df9bf9d801e6f874de2476fd3dcf2a1ca9247e8979bd4de034a45fd399663"
dependencies = [
"glib-sys",
- "gobject-sys",
"gstreamer-sdp-sys",
"gstreamer-sys",
"libc",
- "pkg-config",
+ "system-deps",
]
[[package]]
@@ -2839,7 +2880,7 @@ dependencies = [
"exr",
"gif",
"jpeg-decoder",
- "num-rational 0.4.0",
+ "num-rational",
"num-traits",
"png",
"qoi",
@@ -2879,7 +2920,7 @@ version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"js-sys",
"wasm-bindgen",
"web-sys",
@@ -2926,6 +2967,15 @@ dependencies = [
]
[[package]]
+name = "itertools"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0"
+dependencies = [
+ "either",
+]
+
+[[package]]
name = "itoa"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3299,7 +3349,7 @@ version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"winapi",
]
@@ -3309,7 +3359,7 @@ version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d580318f95776505201b28cf98eb1fa5e4be3b689633ba6a3e6cd880ff22d8cb"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"windows-sys 0.48.0",
]
@@ -3593,7 +3643,7 @@ dependencies = [
"foreign-types 0.5.0",
"log",
"objc",
- "paste 1.0.14",
+ "paste",
]
[[package]]
@@ -3753,9 +3803,9 @@ dependencies = [
[[package]]
name = "muldiv"
-version = "0.2.1"
+version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0419348c027fa7be448d2ae7ea0e4e04c2334c31dc4e74ab29f00a2a7ca69204"
+checksum = "956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0"
[[package]]
name = "naga"
@@ -3913,7 +3963,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
dependencies = [
"bitflags 1.3.2",
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"memoffset",
]
@@ -3926,7 +3976,7 @@ checksum = "f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4"
dependencies = [
"autocfg",
"bitflags 1.3.2",
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"memoffset",
"pin-utils",
@@ -3987,17 +4037,6 @@ dependencies = [
[[package]]
name = "num-rational"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef"
-dependencies = [
- "autocfg",
- "num-integer",
- "num-traits",
-]
-
-[[package]]
-name = "num-rational"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
@@ -4042,7 +4081,7 @@ version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799"
dependencies = [
- "proc-macro-crate",
+ "proc-macro-crate 1.2.1",
"proc-macro2",
"quote",
"syn 1.0.103",
@@ -4138,6 +4177,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]]
+name = "option-operations"
+version = "0.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0"
+dependencies = [
+ "paste",
+]
+
+[[package]]
name = "orbclient"
version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4192,7 +4240,7 @@ version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"libc",
"redox_syscall 0.4.1",
"smallvec",
@@ -4201,30 +4249,11 @@ dependencies = [
[[package]]
name = "paste"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880"
-dependencies = [
- "paste-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "paste"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
-name = "paste-impl"
-version = "0.1.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6"
-dependencies = [
- "proc-macro-hack",
-]
-
-[[package]]
name = "pathfinder_geometry"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4424,6 +4453,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
[[package]]
+name = "pretty-hex"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbc83ee4a840062f368f9096d80077a9841ec117e17e7f700df81958f1451254"
+
+[[package]]
name = "prettyplease"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -4441,7 +4476,41 @@ checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9"
dependencies = [
"once_cell",
"thiserror",
- "toml",
+ "toml 0.5.9",
+]
+
+[[package]]
+name = "proc-macro-crate"
+version = "2.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a"
+dependencies = [
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn 1.0.103",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
]
[[package]]
@@ -4880,7 +4949,7 @@ dependencies = [
"image",
"indexmap 2.1.0",
"ipc-channel",
- "itertools",
+ "itertools 0.10.5",
"jstraceable_derive",
"keyboard-types",
"lazy_static",
@@ -5113,6 +5182,15 @@ dependencies = [
]
[[package]]
+name = "serde_spanned"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
+dependencies = [
+ "serde",
+]
+
+[[package]]
name = "serde_test"
version = "1.0.176"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5149,7 +5227,7 @@ dependencies = [
[[package]]
name = "servo-media"
version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"once_cell",
"servo-media-audio",
@@ -5162,9 +5240,8 @@ dependencies = [
[[package]]
name = "servo-media-audio"
version = "0.2.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
- "boxfnonce",
"byte-slice-cast",
"euclid",
"log",
@@ -5173,20 +5250,29 @@ dependencies = [
"petgraph",
"serde",
"serde_derive",
+ "servo-media-derive",
"servo-media-player",
"servo-media-streams",
"servo-media-traits",
- "servo_media_derive",
"smallvec",
"speexdsp-resampler",
]
[[package]]
+name = "servo-media-derive"
+version = "0.1.0"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn 1.0.103",
+]
+
+[[package]]
name = "servo-media-dummy"
version = "0.1.0"
-source = "git+https://github.com/servo/media#8ea11a849d5c2f0e469d1d1ccad93a74fbd81462"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
- "boxfnonce",
"ipc-channel",
"servo-media",
"servo-media-audio",
@@ -5199,9 +5285,8 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer"
version = "0.1.0"
-source = "git+https://github.com/servo/media#8ea11a849d5c2f0e469d1d1ccad93a74fbd81462"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
- "boxfnonce",
"byte-slice-cast",
"glib",
"glib-sys",
@@ -5218,6 +5303,7 @@ dependencies = [
"lazy_static",
"log",
"mime",
+ "once_cell",
"servo-media",
"servo-media-audio",
"servo-media-gstreamer-render",
@@ -5233,7 +5319,7 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer-render"
version = "0.1.0"
-source = "git+https://github.com/servo/media#8ea11a849d5c2f0e469d1d1ccad93a74fbd81462"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"gstreamer",
"gstreamer-video",
@@ -5243,11 +5329,12 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer-render-android"
version = "0.1.0"
-source = "git+https://github.com/servo/media#8ea11a849d5c2f0e469d1d1ccad93a74fbd81462"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"glib",
"gstreamer",
"gstreamer-gl",
+ "gstreamer-gl-egl",
"gstreamer-video",
"servo-media-gstreamer-render",
"servo-media-player",
@@ -5256,11 +5343,13 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer-render-unix"
version = "0.1.0"
-source = "git+https://github.com/servo/media#8ea11a849d5c2f0e469d1d1ccad93a74fbd81462"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"glib",
"gstreamer",
"gstreamer-gl",
+ "gstreamer-gl-egl",
+ "gstreamer-gl-x11",
"gstreamer-video",
"servo-media-gstreamer-render",
"servo-media-player",
@@ -5269,7 +5358,7 @@ dependencies = [
[[package]]
name = "servo-media-player"
version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"ipc-channel",
"serde",
@@ -5281,7 +5370,7 @@ dependencies = [
[[package]]
name = "servo-media-streams"
version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
"lazy_static",
"uuid",
@@ -5290,14 +5379,13 @@ dependencies = [
[[package]]
name = "servo-media-traits"
version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
[[package]]
name = "servo-media-webrtc"
version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
+source = "git+https://github.com/servo/media#a77995f1c8fe7d221ce3afef8bd8b92342e42321"
dependencies = [
- "boxfnonce",
"lazy_static",
"log",
"servo-media-streams",
@@ -5353,7 +5441,7 @@ dependencies = [
name = "servo_config_plugins"
version = "0.0.1"
dependencies = [
- "itertools",
+ "itertools 0.10.5",
"proc-macro2",
"quote",
"syn 2.0.46",
@@ -5371,16 +5459,6 @@ dependencies = [
]
[[package]]
-name = "servo_media_derive"
-version = "0.1.0"
-source = "git+https://github.com/servo/media#97515f64c551e37854c6e29eff93988c4d0ee152"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn 1.0.103",
-]
-
-[[package]]
name = "servo_rand"
version = "0.0.1"
dependencies = [
@@ -5420,7 +5498,7 @@ dependencies = [
"arboard",
"backtrace",
"cc",
- "cfg-if 1.0.0",
+ "cfg-if",
"egui",
"egui-winit",
"egui_glow",
@@ -5454,7 +5532,7 @@ version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"cpufeatures",
"digest",
]
@@ -5465,7 +5543,7 @@ version = "0.10.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"cpufeatures",
"digest",
]
@@ -5750,7 +5828,7 @@ dependencies = [
"fxhash",
"html5ever",
"indexmap 1.9.3",
- "itertools",
+ "itertools 0.10.5",
"itoa",
"lazy_static",
"log",
@@ -5784,7 +5862,7 @@ dependencies = [
"time 0.1.45",
"to_shmem",
"to_shmem_derive",
- "toml",
+ "toml 0.5.9",
"uluru",
"unicode-bidi",
"unicode-segmentation",
@@ -5942,12 +6020,31 @@ dependencies = [
]
[[package]]
+name = "system-deps"
+version = "6.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331"
+dependencies = [
+ "cfg-expr",
+ "heck",
+ "pkg-config",
+ "toml 0.8.2",
+ "version-compare",
+]
+
+[[package]]
name = "take_mut"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60"
[[package]]
+name = "target-lexicon"
+version = "0.12.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae"
+
+[[package]]
name = "task_info"
version = "0.0.1"
dependencies = [
@@ -5960,7 +6057,7 @@ version = "3.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"fastrand",
"redox_syscall 0.4.1",
"rustix",
@@ -6005,7 +6102,7 @@ version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89e8bf7e0eb2dd7b4228cc1b6821fc5114cd6841ae59f652a85488c016091e5f"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"getopts",
"libc",
"num_cpus",
@@ -6110,7 +6207,7 @@ dependencies = [
"arrayref",
"arrayvec",
"bytemuck",
- "cfg-if 1.0.0",
+ "cfg-if",
"png",
"tiny-skia-path",
]
@@ -6261,6 +6358,40 @@ dependencies = [
]
[[package]]
+name = "toml"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit",
+]
+
+[[package]]
+name = "toml_datetime"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "toml_edit"
+version = "0.20.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338"
+dependencies = [
+ "indexmap 2.1.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
+[[package]]
name = "tower-service"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6492,6 +6623,12 @@ dependencies = [
]
[[package]]
+name = "version-compare"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29"
+
+[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -6569,7 +6706,7 @@ version = "0.2.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e"
dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if",
"wasm-bindgen-macro",
]
@@ -7287,12 +7424,21 @@ dependencies = [
]
[[package]]
+name = "winnow"
+version = "0.5.31"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "97a4882e6b134d6c28953a387571f1acdd3496830d5e36c5e3a1075580ea641c"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
name = "winres"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c"
dependencies = [
- "toml",
+ "toml 0.5.9",
]
[[package]]
diff --git a/Cargo.toml b/Cargo.toml
index a1d6c49e437..a23d445a4ac 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -40,6 +40,14 @@ fxhash = "0.2"
getopts = "0.2.11"
gfx_traits = { path = "components/shared/gfx" }
gleam = "0.15"
+glib = "0.18"
+gstreamer = { version = "0.21", features = ["v1_18"] }
+gstreamer-base = "0.21"
+gstreamer-gl = "0.21"
+gstreamer-gl-sys = { version = "0.21" }
+gstreamer-gl-wayland = { version = "0.21" }
+gstreamer-sys = "0.21"
+gstreamer-video = "0.21"
headers = "0.3"
html5ever = "0.26"
http = "0.2"
diff --git a/components/script/dom/rtcdatachannel.rs b/components/script/dom/rtcdatachannel.rs
index 57fb1eba868..0126e144021 100644
--- a/components/script/dom/rtcdatachannel.rs
+++ b/components/script/dom/rtcdatachannel.rs
@@ -378,9 +378,9 @@ impl From<&RTCDataChannelInit> for DataChannelInit {
impl From<DataChannelState> for RTCDataChannelState {
fn from(state: DataChannelState) -> RTCDataChannelState {
match state {
- DataChannelState::New |
- DataChannelState::Connecting |
- DataChannelState::__Unknown(_) => RTCDataChannelState::Connecting,
+ DataChannelState::Connecting | DataChannelState::__Unknown(_) => {
+ RTCDataChannelState::Connecting
+ },
DataChannelState::Open => RTCDataChannelState::Open,
DataChannelState::Closing => RTCDataChannelState::Closing,
DataChannelState::Closed => RTCDataChannelState::Closed,
diff --git a/components/script/dom/rtcpeerconnection.rs b/components/script/dom/rtcpeerconnection.rs
index 86d11209369..8e61a421b97 100644
--- a/components/script/dom/rtcpeerconnection.rs
+++ b/components/script/dom/rtcpeerconnection.rs
@@ -458,8 +458,11 @@ impl RTCPeerConnection {
.task_manager()
.networking_task_source_with_canceller();
let this = Trusted::new(self);
- self.controller.borrow_mut().as_ref().unwrap().create_offer(
- (move |desc: SessionDescription| {
+ self.controller
+ .borrow_mut()
+ .as_ref()
+ .unwrap()
+ .create_offer(Box::new(move |desc: SessionDescription| {
let _ = task_source.queue_with_canceller(
task!(offer_created: move || {
let this = this.root();
@@ -476,9 +479,7 @@ impl RTCPeerConnection {
}),
&canceller,
);
- })
- .into(),
- );
+ }));
}
fn create_answer(&self) {
@@ -493,27 +494,24 @@ impl RTCPeerConnection {
.borrow_mut()
.as_ref()
.unwrap()
- .create_answer(
- (move |desc: SessionDescription| {
- let _ = task_source.queue_with_canceller(
- task!(answer_created: move || {
- let this = this.root();
- if this.offer_answer_generation.get() != generation {
- // the state has changed since we last created the offer,
- // create a fresh one
- this.create_answer();
- } else {
- let init: RTCSessionDescriptionInit = desc.into();
- for promise in this.answer_promises.borrow_mut().drain(..) {
- promise.resolve_native(&init);
- }
+ .create_answer(Box::new(move |desc: SessionDescription| {
+ let _ = task_source.queue_with_canceller(
+ task!(answer_created: move || {
+ let this = this.root();
+ if this.offer_answer_generation.get() != generation {
+ // the state has changed since we last created the offer,
+ // create a fresh one
+ this.create_answer();
+ } else {
+ let init: RTCSessionDescriptionInit = desc.into();
+ for promise in this.answer_promises.borrow_mut().drain(..) {
+ promise.resolve_native(&init);
}
- }),
- &canceller,
- );
- })
- .into(),
- );
+ }
+ }),
+ &canceller,
+ );
+ }));
}
}
@@ -642,7 +640,7 @@ impl RTCPeerConnectionMethods for RTCPeerConnection {
.unwrap()
.set_local_description(
desc.clone(),
- (move || {
+ Box::new(move || {
let _ = task_source.queue_with_canceller(
task!(local_description_set: move || {
// XXXManishearth spec actually asks for an intricate
@@ -659,8 +657,7 @@ impl RTCPeerConnectionMethods for RTCPeerConnection {
}),
&canceller,
);
- })
- .into(),
+ }),
);
p
}
@@ -683,7 +680,7 @@ impl RTCPeerConnectionMethods for RTCPeerConnection {
.unwrap()
.set_remote_description(
desc.clone(),
- (move || {
+ Box::new(move || {
let _ = task_source.queue_with_canceller(
task!(remote_description_set: move || {
// XXXManishearth spec actually asks for an intricate
@@ -700,8 +697,7 @@ impl RTCPeerConnectionMethods for RTCPeerConnection {
}),
&canceller,
);
- })
- .into(),
+ }),
);
p
}
diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml
index e7a6e786534..325c1897083 100644
--- a/components/servo/Cargo.toml
+++ b/components/servo/Cargo.toml
@@ -49,7 +49,7 @@ euclid = { workspace = true }
gfx = { path = "../gfx" }
gfx_traits = { workspace = true }
gleam = { workspace = true }
-gstreamer = { version = "0.15", features = ["v1_16"], optional = true }
+gstreamer = { workspace = true, optional = true }
ipc-channel = { workspace = true }
keyboard-types = { workspace = true }
layout_thread_2013 = { path = "../layout_thread" }
diff --git a/ports/libsimpleservo/jniapi/Cargo.toml b/ports/libsimpleservo/jniapi/Cargo.toml
index 3af02e5e1fb..020767c41be 100644
--- a/ports/libsimpleservo/jniapi/Cargo.toml
+++ b/ports/libsimpleservo/jniapi/Cargo.toml
@@ -16,7 +16,7 @@ bench = false
[dependencies]
android_injected_glue = "0.2"
android_logger = "0.10"
-gstreamer = "0.15"
+gstreamer = { workspace = true }
jni = "0.18.0"
libc = { workspace = true }
log = { workspace = true }
diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py
index fae27e25b9e..2ce671bf119 100644
--- a/python/servo/build_commands.py
+++ b/python/servo/build_commands.py
@@ -430,10 +430,10 @@ def package_gstreamer_dlls(env, servo_exe_dir, target):
# All the shared libraries required for starting up and loading plugins.
gst_dlls = [
- "avcodec-58.dll",
- "avfilter-7.dll",
- "avformat-58.dll",
- "avutil-56.dll",
+ "avcodec-59.dll",
+ "avfilter-8.dll",
+ "avformat-59.dll",
+ "avutil-57.dll",
"bz2.dll",
"ffi-7.dll",
"gio-2.0-0.dll",
@@ -443,26 +443,21 @@ def package_gstreamer_dlls(env, servo_exe_dir, target):
"graphene-1.0-0.dll",
"intl-8.dll",
"libcrypto-1_1-x64.dll",
- "libgmp-10.dll",
- "libgnutls-30.dll",
- "libhogweed-4.dll",
"libjpeg-8.dll",
- "libnettle-6.dll.",
"libogg-0.dll",
- "libopus-0.dll",
"libpng16-16.dll",
"libssl-1_1-x64.dll",
- "libtasn1-6.dll",
- "libtheora-0.dll",
- "libtheoradec-1.dll",
- "libtheoraenc-1.dll",
- "libusrsctp-1.dll",
"libvorbis-0.dll",
"libvorbisenc-2.dll",
"libwinpthread-1.dll",
"nice-10.dll",
+ "opus-0.dll",
"orc-0.4-0.dll",
- "swresample-3.dll",
+ "pcre2-8-0.dll",
+ "swresample-4.dll",
+ "theora-0.dll",
+ "theoradec-1.dll",
+ "theoraenc-1.dll",
"z-1.dll",
] + windows_dlls()
diff --git a/python/servo/gstreamer.py b/python/servo/gstreamer.py
index 637ad3700ca..8ce8aa13fe2 100644
--- a/python/servo/gstreamer.py
+++ b/python/servo/gstreamer.py
@@ -22,6 +22,7 @@ GSTREAMER_DYLIBS = [
"gstfft",
"gstgl",
"gstpbutils",
+ "gstplay",
"gstriff",
"gstrtp",
"gstrtsp",
@@ -33,6 +34,7 @@ GSTREAMER_DYLIBS = [
"gstcodecparsers",
"gstplayer",
"gstwebrtc",
+ "gstwebrtcnice",
]
@@ -84,12 +86,9 @@ def windows_dlls():
def windows_plugins():
- # FIXME: We should support newer gstreamer versions here that replace
- # gstvideoconvert and gstvideoscale with gstvideoconvertscale.
libs = [
*GSTREAMER_PLUGINS,
- "gstvideoconvert",
- "gstvideoscale",
+ "gstvideoconvertscale",
"gstwasapi"
]
return [f"{lib}.dll" for lib in libs]
diff --git a/python/servo/platform/base.py b/python/servo/platform/base.py
index 56b527131de..eee42428e56 100644
--- a/python/servo/platform/base.py
+++ b/python/servo/platform/base.py
@@ -56,7 +56,7 @@ class Base:
# the cross-compilation case, we might be picking it up from another directory.
if check_installation and not self.is_gstreamer_installed(cross_compilation_target):
raise FileNotFoundError(
- "GStreamer libraries not found (>= version 1.16)."
+ "GStreamer libraries not found (>= version 1.18)."
"Please see installation instructions in README.md"
)
@@ -83,7 +83,7 @@ class Base:
env, cross_compilation_target, check_installation=False)
return (
subprocess.call(
- ["pkg-config", "--atleast-version=1.16", "gstreamer-1.0"],
+ ["pkg-config", "--atleast-version=1.18", "gstreamer-1.0"],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env,
diff --git a/python/servo/platform/linux.py b/python/servo/platform/linux.py
index 8496bd7fe6a..975b93e0a8d 100644
--- a/python/servo/platform/linux.py
+++ b/python/servo/platform/linux.py
@@ -9,7 +9,6 @@
import os
import subprocess
-import tempfile
from typing import Optional, Tuple
import distro
@@ -28,8 +27,16 @@ from .base import Base
APT_PKGS = [
'build-essential', 'ccache', 'clang', 'cmake', 'curl', 'g++', 'git',
'gperf', 'libdbus-1-dev', 'libfreetype6-dev', 'libgl1-mesa-dri',
- 'libgles2-mesa-dev', 'libglib2.0-dev', 'libgstreamer-plugins-bad1.0-dev',
- 'libgstreamer-plugins-base1.0-dev', 'libgstreamer1.0-dev',
+ 'libgles2-mesa-dev', 'libglib2.0-dev',
+ 'libgstreamer-plugins-base1.0-dev',
+ 'gstreamer1.0-plugins-good', 'libgstreamer-plugins-good1.0-dev',
+ 'gstreamer1.0-plugins-bad', 'libgstreamer-plugins-bad1.0-dev',
+ 'gstreamer1.0-plugins-ugly',
+ "gstreamer1.0-plugins-base", 'libgstreamer-plugins-base1.0-dev',
+ 'gstreamer1.0-libav',
+ 'libgstrtspserver-1.0-dev',
+ 'gstreamer1.0-tools',
+ 'libges-1.0-dev',
'libharfbuzz-dev', 'liblzma-dev', 'libunwind-dev', 'libunwind-dev',
'libvulkan1', 'libx11-dev', 'libxcb-render0-dev', 'libxcb-shape0-dev',
'libxcb-xfixes0-dev', 'libxmu-dev', 'libxmu6', 'libegl1-mesa-dev',
@@ -156,7 +163,7 @@ class Linux(Base):
if self.distro in ['Ubuntu', 'Debian GNU/Linux', 'Raspbian GNU/Linux']:
command = ['apt-get', 'install']
pkgs = APT_PKGS
- if subprocess.call(['dpkg', '-s'] + pkgs,
+ if subprocess.call(['dpkg', '-s'] + pkgs, shell=True,
stdout=subprocess.PIPE, stderr=subprocess.PIPE) != 0:
install = True
elif self.distro in ['CentOS', 'CentOS Linux', 'Fedora', 'Fedora Linux']:
@@ -204,18 +211,6 @@ class Linux(Base):
if not force and self.is_gstreamer_installed(cross_compilation_target=None):
return False
- with tempfile.TemporaryDirectory() as temp_dir:
- file_name = os.path.join(temp_dir, GSTREAMER_URL.rsplit('/', maxsplit=1)[-1])
- util.download_file("Pre-packaged GStreamer binaries", GSTREAMER_URL, file_name)
-
- print(f"Installing GStreamer packages to {PREPACKAGED_GSTREAMER_ROOT}...")
- os.makedirs(PREPACKAGED_GSTREAMER_ROOT, exist_ok=True)
-
- # Extract, but strip one component from the output, because the package includes
- # a toplevel directory called "./gst/" and we'd like to have the same directory
- # structure on all platforms.
- subprocess.check_call(["tar", "xf", file_name, "-C", PREPACKAGED_GSTREAMER_ROOT,
- "--strip-components=2"])
-
- assert self.is_gstreamer_installed(cross_compilation_target=None)
- return True
+ raise EnvironmentError(
+ "Bootstrapping GStreamer on Linux is not supported. "
+ + "Please install it using your distribution package manager.")
diff --git a/python/servo/platform/windows.py b/python/servo/platform/windows.py
index 904e5a73067..028f4a167cc 100644
--- a/python/servo/platform/windows.py
+++ b/python/servo/platform/windows.py
@@ -23,8 +23,8 @@ DEPENDENCIES = {
}
URL_BASE = "https://github.com/servo/servo-build-deps/releases/download/msvc-deps/"
-GSTREAMER_URL = f"{URL_BASE}/gstreamer-1.0-msvc-x86_64-1.16.0.msi"
-GSTREAMER_DEVEL_URL = f"{URL_BASE}/gstreamer-1.0-devel-msvc-x86_64-1.16.0.msi"
+GSTREAMER_URL = f"{URL_BASE}/gstreamer-1.0-msvc-x86_64-1.22.8.msi"
+GSTREAMER_DEVEL_URL = f"{URL_BASE}/gstreamer-1.0-devel-msvc-x86_64-1.22.8.msi"
DEPENDENCIES_DIR = os.path.join(util.get_target_dir(), "dependencies")
@@ -118,19 +118,19 @@ class Windows(Base):
# The bootstraped version of GStreamer always takes precedance of the installed vesion.
prepackaged_root = os.path.join(
- DEPENDENCIES_DIR, "gstreamer", "1.0", gst_arch_name
+ DEPENDENCIES_DIR, "gstreamer", "1.0", f"msvc_{gst_arch_name}"
)
if os.path.exists(os.path.join(prepackaged_root, "bin", "ffi-7.dll")):
return prepackaged_root
# The installed version of GStreamer often sets an environment variable pointing to
# the install location.
- root_from_env = os.environ.get(f"GSTREAMER_1_0_ROOT_{gst_arch_name}")
+ root_from_env = os.environ.get(f"GSTREAMER_1_0_ROOT_MSVC_{gst_arch_name}")
if root_from_env and os.path.exists(os.path.join(root_from_env, "bin", "ffi-7.dll")):
return root_from_env
# If all else fails, look for an installation in the default install directory.
- default_root = os.path.join("C:\\gstreamer\\1.0", gst_arch_name)
+ default_root = os.path.join("C:\\gstreamer\\1.0", f"msvc_{gst_arch_name}")
if os.path.exists(os.path.join(default_root, "bin", "ffi-7.dll")):
return default_root
diff --git a/servo-tidy.toml b/servo-tidy.toml
index 898567bbdcf..6e295cac954 100644
--- a/servo-tidy.toml
+++ b/servo-tidy.toml
@@ -21,12 +21,10 @@ rand = [
# Ignored packages with duplicated versions
packages = [
"bitflags",
- "cfg-if",
"cookie",
"futures",
"libloading",
"nix",
- "num-rational",
"redox_syscall",
"syn",
"synstructure",
@@ -34,6 +32,11 @@ packages = [
"wasi",
"wayland-sys",
+ # New versions of these dependencies is pulled in by GStreamer / GLib.
+ "itertools",
+ "proc-macro-crate",
+ "toml",
+
# This dependency is for "hermit os" which Servo doesn't support.
# Theoretically, it's never fetched.
"hermit-abi",
@@ -53,12 +56,11 @@ packages = [
"foreign-types",
"foreign-types-shared",
"metal",
- "paste",
# Duplicated by indexmap.
"hashbrown",
- # Duplicated by style, cbindgen, clap.
+ # Duplicated by style, cbindgen, clap, and GStreamer.
"indexmap",
# style (0.64) vs. webxr (0.66) vs. mozjs_sys (0.68).
diff --git a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
index a326b111394..cb75f6c0dbe 100644
--- a/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
+++ b/tests/wpt/meta-legacy-layout/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
@@ -82,7 +82,3 @@
[video/webm; codecs="opus" (optional)]
expected: FAIL
-
- [video/webm; codecs="vorbis" (optional)]
- expected: FAIL
-
diff --git a/tests/wpt/meta-legacy-layout/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini b/tests/wpt/meta-legacy-layout/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
index b00949498c2..2dabc89a398 100644
--- a/tests/wpt/meta-legacy-layout/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
+++ b/tests/wpt/meta-legacy-layout/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching.html.ini
@@ -931,3 +931,15 @@
[X SNR (46.132795778267024 dB) is not greater than or equal to 65.737. Got 46.132795778267024.]
expected: FAIL
+
+ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[15073\]\t6.4777153693314271e+21\t6.4605611562728882e-1\t6.4777153693314271e+21\t1.0026552202887025e+22\t3.8985999999999999e-3\n\t[15074\]\t2.5936898589134216e-1\t5.9696805477142334e-1\t3.3759906888008118e-1\t5.6552283858697683e-1\t3.8985999999999999e-3\n\tMax AbsError of 6.4777153693314271e+21 at index of 15073.\n\tMax RelError of 1.0026552202887025e+22 at index of 15073.\n]
+ expected: FAIL
+
+ [X SNR (-392.7943512800274 dB) is not greater than or equal to 65.737. Got -392.7943512800274.]
+ expected: FAIL
+
+ [X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[15073\]\t3.5112564086914063e+2\t6.4605611562728882e-1\t3.5047958475351334e+2\t5.4249093271598372e+2\t3.8985999999999999e-3\n\t[15074\]\t2.5936898589134216e-1\t5.9696805477142334e-1\t3.3759906888008118e-1\t5.6552283858697683e-1\t3.8985999999999999e-3\n\tMax AbsError of 3.5047958475351334e+2 at index of 15073.\n\tMax RelError of 5.4249093271598372e+2 at index of 15073.\n]
+ expected: FAIL
+
+ [X SNR (-7.45917280407153 dB) is not greater than or equal to 65.737. Got -7.45917280407153.]
+ expected: FAIL
diff --git a/tests/wpt/meta/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini b/tests/wpt/meta/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
index a326b111394..cb75f6c0dbe 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/media-elements/mime-types/canPlayType.html.ini
@@ -82,7 +82,3 @@
[video/webm; codecs="opus" (optional)]
expected: FAIL
-
- [video/webm; codecs="vorbis" (optional)]
- expected: FAIL
-
diff --git a/tests/wpt/meta/html/semantics/embedded-content/the-video-element/resize-during-playback.html.ini b/tests/wpt/meta/html/semantics/embedded-content/the-video-element/resize-during-playback.html.ini
index f679145a802..b1efee1da4b 100644
--- a/tests/wpt/meta/html/semantics/embedded-content/the-video-element/resize-during-playback.html.ini
+++ b/tests/wpt/meta/html/semantics/embedded-content/the-video-element/resize-during-playback.html.ini
@@ -1,3 +1,6 @@
[resize-during-playback.html]
[webm video]
expected: FAIL
+
+ [mp4 video]
+ expected: PRECONDITION_FAILED
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
index 067ec2fe640..621e9800403 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-alpha-alpha-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
index 1b2cae1fcfd..1806d0e838c 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-luminance-luminance-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
index 689732c9947..f6abdbe9c1b 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
index 5f2e90ce804..6955ab9136a 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgb-rgb-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
index 7c0676fcc31..8919b3df35a 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgb-rgb-unsigned_short_5_6_5.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
index 21c42fc0501..c5fdc296b19 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
index dbc187f4376..dc7b31a735f 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
index 56c2a1f2e04..4c5ccc4cb84 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
index 9b47471145c..97dba78b782 100644
--- a/tests/wpt/webgl/meta-legacy-layout/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
+++ b/tests/wpt/webgl/meta-legacy-layout/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
@@ -1,8 +1,11 @@
[tex-video-using-tex-unit-non-zero.html]
bug: https://github.com/servo/servo/issues/21132
+ expected: TIMEOUT
[WebGL test #0: Unable to fetch WebGL rendering context for Canvas]
expected: FAIL
[WebGL test #1: context does not exist]
expected: FAIL
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
index 067ec2fe640..621e9800403 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-alpha-alpha-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-alpha-alpha-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
index 1b2cae1fcfd..1806d0e838c 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-luminance-luminance-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
index 689732c9947..f6abdbe9c1b 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
index 5f2e90ce804..6955ab9136a 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgb-rgb-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
index 7c0676fcc31..8919b3df35a 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgb-rgb-unsigned_short_5_6_5.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgb-rgb-unsigned_short_5_6_5.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
index 21c42fc0501..c5fdc296b19 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_byte.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_byte.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
index dbc187f4376..dc7b31a735f 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
index 56c2a1f2e04..4c5ccc4cb84 100644
--- a/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/image_bitmap_from_video/tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html.ini
@@ -1,2 +1,4 @@
[tex-2d-rgba-rgba-unsigned_short_5_5_5_1.html]
- expected: ERROR
+ expected: TIMEOUT
+ [Overall test]
+ expected: NOTRUN
diff --git a/tests/wpt/webgl/meta/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini b/tests/wpt/webgl/meta/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
index b9042a2f8a4..97dba78b782 100644
--- a/tests/wpt/webgl/meta/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
+++ b/tests/wpt/webgl/meta/conformance/textures/misc/tex-video-using-tex-unit-non-zero.html.ini
@@ -1,7 +1,11 @@
[tex-video-using-tex-unit-non-zero.html]
bug: https://github.com/servo/servo/issues/21132
+ expected: TIMEOUT
[WebGL test #0: Unable to fetch WebGL rendering context for Canvas]
expected: FAIL
[WebGL test #1: context does not exist]
expected: FAIL
+
+ [Overall test]
+ expected: NOTRUN