chore: move ruffle to 0.7.1 and openh264 2.7.0

Ruffle now pins OpenH264 2.7.0 (openh264.rs:46,61-96): new soname .so.8, new sha256 per build, and a Windows aarch64 build.
This commit is contained in:
Abdessamad Derraz committed 2026-10-23 15:52:34 +02:00
1 parent c2dd7adea1
commit dfc6401a1b
1 file changed
+67 -56
+67 -56
View File
@@ -4,8 +4,8 @@ core_classification: game_engine
source: "https://github.com/ruffle-rs/ruffle"
upstream: "https://github.com/ruffle-rs/ruffle"
profiled_date: "2026-09-17"
source_commit: "ed55e72394d21d7784b0a914fd4525608c6a5661"
core_version: "0.6.0"
source_commit: "045db00b393aed22a462d29cb6c25efa26be90a0"
core_version: "0.7.1"
display_name: "Adobe Flash (Ruffle)"
cores:
- ruffle
@@ -24,10 +24,10 @@ notes: |
vulkan --config /var/data/ruffle --save-directory <saves>/ruffle <rom>`. The
ActionScript class library is compiled by build_playerglobal into
playerglobal_avm1.swf and playerglobal_avm2.swf and linked into the binary
from OUT_DIR (core/src/avm1/globals.rs:88, core/src/avm2/globals.rs:549), so
from OUT_DIR (core/src/avm1/globals.rs:82, core/src/avm2/globals.rs:548), so
startup reads nothing. Locale texts, wgsl shaders, the window icon and the
OpenH264 license are embedded the same way (desktop/src/gui/locale.rs:7-12,
desktop/src/app.rs:464, render/wgpu/src/shaders.rs:30-95,
desktop/src/app.rs:490, render/wgpu/src/shaders.rs:30-95,
desktop/src/gui/movie.rs:44,
desktop/src/gui/dialogs/preferences_dialog.rs:517).
@@ -35,15 +35,15 @@ notes: |
feature and pulls ruffle_video_external with openh264
(desktop/Cargo.toml:27,84,92), and enable_openh264 defaults to true
(desktop/src/preferences.rs:291,316). OpenH264Codec::load first dlopens the
system sonames libopenh264.so.7, libopenh264.so.2.4.1 and libopenh264.so on
system sonames libopenh264.so.8, libopenh264.so.2.7.0 and libopenh264.so on
Linux, then falls back to <cache>/ruffle/video/ and fetches the Cisco binary
from ciscobinary.openh264.org bz2-compressed into it
(video/external/src/decoder/openh264.rs:53-56,109-133,173-191,
(video/external/src/decoder/openh264.rs:53-56,113-137,177-195,
desktop/src/player.rs:234-241). Whether the library was already there or was
just downloaded, its SHA-256 is checked before loading and the size is read
only to format the mismatch message
(video/external/src/decoder/openh264.rs:135-146), and WelsGetCodecVersion must
answer 2.4.1 exactly (video/external/src/decoder/openh264.rs:46,153-166). The
(video/external/src/decoder/openh264.rs:139-150), and WelsGetCodecVersion must
answer 2.7.0 exactly (video/external/src/decoder/openh264.rs:46,157-170). The
cache root comes from dirs::cache_dir(), ~/.cache/ruffle by default, and
--cache-directory moves it (desktop/src/cli.rs:31-35,148). Without the library
the player still starts: ExternalVideoBackend wraps SoftwareVideoBackend, so
@@ -51,23 +51,24 @@ notes: |
(video/external/src/backend.rs:41,51-69,73-80).
Text uses system fonts. fontdb::Database::load_system_fonts() fills the
database at startup (desktop/src/app.rs:433-434), and both the Flash device
database at startup (desktop/src/app.rs:459-460), and both the Flash device
fonts and the egui menu bar resolve family names against it and take whatever
face the host answers with (desktop/src/backends/ui.rs:321-360,
desktop/src/gui/controller.rs:741-787). The face is memory-mapped and parsed
face the host answers with (desktop/src/backends/ui.rs:321-380,
desktop/src/gui/controller.rs:754-800), device font names case-insensitively.
The face is memory-mapped and parsed
by Ruffle's own rasterizer unless preferences.toml sets device_font_renderer
to freetype, which routes Linux builds through FreetypeFontRenderer instead;
the freetype default feature only compiles that branch, the preference
selects it (desktop/src/backends/ui.rs:190-192,443-487,489-519,
selects it (desktop/src/backends/ui.rs:190-192,463-507,509-539,
desktop/src/preferences/read.rs:74-75, desktop/Cargo.toml:84). The families
asked for are Times New Roman, Arial, Courier New and their metric-compatible
substitutes, plus the CJK, Hebrew, Arabic and Thai faces
(desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:620-694), and
(desktop/src/player.rs:361-414, desktop/src/gui/controller.rs:633-707), and
on Unix fontconfig sorts the fallback chain
(desktop/src/backends/ui.rs:363-376,536-628). No name, path, size or hash is
(desktop/src/backends/ui.rs:383-396,556-648). No name, path, size or hash is
fixed anywhere. The compiled-in Noto Sans subset sits behind the default_font
feature, which the web and exporter crates enable and the desktop build does
not (core/src/player.rs:84-85, core/Cargo.toml:82,95, web/Cargo.toml:63-65,
not (core/src/player.rs:84-85, core/Cargo.toml:81,94, web/Cargo.toml:63-65,
exporter/Cargo.toml:16, desktop/Cargo.toml:23), so on the desktop an
unmatched family leaves the run without that face rather than falling back
to a bundled one.
@@ -84,86 +85,96 @@ notes: |
(core/src/avm2/error_messages.rs:237).
files:
# -- OpenH264 2.4.1 decoder, one build per OS and architecture --
# -- OpenH264 2.7.0 decoder, one build per OS and architecture --
# The player fetches the build for its host into <cache>/ruffle/video/ the
# first time a movie loads, with no prompt, so none needs to be supplied.
- name: libopenh264-2.4.1-linux64.7.so
path: "video/libopenh264-2.4.1-linux64.7.so"
- name: libopenh264-2.7.0-linux64.8.so
path: "video/libopenh264-2.7.0-linux64.8.so"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Linux x86_64"
sha256: "1392d21466bc638e68151b716d5b2086d54cd812afd43253f1adb5b6e0185f51"
description: "OpenH264 2.7.0 decoder library, Linux x86_64"
sha256: "1522f873a482923c5ec018a4415e1866898197528828c50f90fd300c94620df3"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:65-68, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:65-68, 108-150, 177-195"
- name: libopenh264-2.4.1-linux-arm64.7.so
path: "video/libopenh264-2.4.1-linux-arm64.7.so"
- name: libopenh264-2.7.0-linux-arm64.8.so
path: "video/libopenh264-2.7.0-linux-arm64.8.so"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Linux aarch64"
sha256: "e8ea7e42855ceb4a90e7bd0b3abeba0c58b5f97166e8b0a30eefd58e099557a4"
description: "OpenH264 2.7.0 decoder library, Linux aarch64"
sha256: "9ac664b0154fd0868491c2a904397b8a05779874c0603b8b1f16ad15de1ffd82"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:73-76, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:73-76, 108-150, 177-195"
- name: libopenh264-2.4.1-linux-arm.7.so
path: "video/libopenh264-2.4.1-linux-arm.7.so"
- name: libopenh264-2.7.0-linux-arm.8.so
path: "video/libopenh264-2.7.0-linux-arm.8.so"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Linux arm"
sha256: "fd1dfb27d30bb72e903c9d2b4c650104a4369d2e7ffe8a4a533e8db2e7e9b19e"
description: "OpenH264 2.7.0 decoder library, Linux arm"
sha256: "c9702982cad7ae0da05ca1e62834666f56b0290484af463f0887c8c48043e82b"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:69-72, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:69-72, 108-150, 177-195"
- name: libopenh264-2.4.1-linux32.7.so
path: "video/libopenh264-2.4.1-linux32.7.so"
- name: libopenh264-2.7.0-linux32.8.so
path: "video/libopenh264-2.7.0-linux32.8.so"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Linux x86"
sha256: "b7cf0e407f99056d90cbf62787a34820a7595b2129b165319d50766e00a66704"
description: "OpenH264 2.7.0 decoder library, Linux x86"
sha256: "7d095448e75ea49799e48cc11f079091f4c61b127dd71ece27b3496359102ecf"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:61-64, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:61-64, 108-150, 177-195"
- name: libopenh264-2.4.1-mac-arm64.dylib
path: "video/libopenh264-2.4.1-mac-arm64.dylib"
- name: libopenh264-2.7.0-mac-arm64.dylib
path: "video/libopenh264-2.7.0-mac-arm64.dylib"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, macOS aarch64"
sha256: "213ff93831cfa3dd6d7ad0c3a3403a6ceedf4ac1341e1278b5b869d42fefb496"
description: "OpenH264 2.7.0 decoder library, macOS aarch64"
sha256: "2e1ae3cd10c08328ca03a1f304fd2a1a2a7e5658c6d5a8582101a963f7995ef0"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:81-84, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:81-84, 108-150, 177-195"
- name: libopenh264-2.4.1-mac-x64.dylib
path: "video/libopenh264-2.4.1-mac-x64.dylib"
- name: libopenh264-2.7.0-mac-x64.dylib
path: "video/libopenh264-2.7.0-mac-x64.dylib"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, macOS x86_64"
sha256: "cc0ba518a63791c37571f3c851f0aa03a4fbda5410acc214ecd4f24f8d1c478e"
description: "OpenH264 2.7.0 decoder library, macOS x86_64"
sha256: "31d38bcbe9348e9b44ca38dd08fa1e2af79ffce6521276449ef05e3cd39136f4"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:77-80, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:77-80, 108-150, 177-195"
- name: openh264-2.4.1-win64.dll
path: "video/openh264-2.4.1-win64.dll"
- name: openh264-2.7.0-win64.dll
path: "video/openh264-2.7.0-win64.dll"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Windows x86_64"
sha256: "081b0c081480d177cbfddfbc90b1613640e702f875897b30d8de195cde73dd34"
description: "OpenH264 2.7.0 decoder library, Windows x86_64"
sha256: "0ef5e7f3b38753b15c13afa0418d4d7805fa228e6adfd3e425bbf758cff1c288"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:89-92, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:89-92, 108-150, 177-195"
- name: openh264-2.4.1-win32.dll
path: "video/openh264-2.4.1-win32.dll"
- name: openh264-2.7.0-win32.dll
path: "video/openh264-2.7.0-win32.dll"
system: flash
required: false
bundled: true
description: "OpenH264 2.4.1 decoder library, Windows x86"
sha256: "83270149640469c994a62cc32a6d8c0413cd7b802b7f1f2f532159f5bdc1cedd"
description: "OpenH264 2.7.0 decoder library, Windows x86"
sha256: "ee34d9606c5cc96cdea694a6bc95ed1b6230b9854689f56c7fa30d211daf48b0"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:85-88, 104-146, 173-191"
source_ref: "video/external/src/decoder/openh264.rs:85-88, 108-150, 177-195"
- name: openh264-2.7.0-win-arm64.dll
path: "video/openh264-2.7.0-win-arm64.dll"
system: flash
required: false
bundled: true
description: "OpenH264 2.7.0 decoder library, Windows aarch64"
sha256: "2f8f11a40d1450fd5c7afc1c5e38b9f6ba6c95c47582845b16c0bfe154ed75a4"
validation: [sha256]
source_ref: "video/external/src/decoder/openh264.rs:93-96, 108-150, 177-195"