diff options
author | Martin Robinson <mrobinson@igalia.com> | 2024-01-05 09:01:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-05 08:01:58 +0000 |
commit | 7fa4ea9740edccc93672d8cc428f6e9d4575a036 (patch) | |
tree | c45393c502ba740128e94991bf923dfc7cc95432 | |
parent | c219204084b8f8a747ebd37ec75472c1b7e97411 (diff) | |
download | servo-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
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 |