Skip to content

Commit 2ad1f56

Browse files
committed
Upgrade CEF version
- Set `cefsrc` to commit #b633408 - Set CEF to version 146.0.10+g8219561+chromium-146.0.7680.179
1 parent d33d9c6 commit 2ad1f56

5 files changed

Lines changed: 49 additions & 22 deletions

File tree

Dockerfile-dev-downloaded.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM restreamio/gstreamer:$TARGET_ARCH-dev-dependencies
33
ARG GSTREAMER_VERSION=1.22.12
44

55
ARG GSTREAMER_CEF_REPOSITORY=https://github.com/centricular/gstcefsrc
6-
ARG GSTREAMER_CEF_CHECKOUT=cce144d984e70cc88f4624390419171fea6ca8ee
6+
ARG GSTREAMER_CEF_CHECKOUT=b63340852fc93b0ab67b07200e1ff44f59ba6769
77

88
COPY docker/cef-config.sh /.cef-config.sh
99

docker/build-gstreamer/compile

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,24 @@ popd
4343

4444
# Build the GStreamer CEF plugin
4545
pushd gstcefsrc
46-
source /.cef-config.sh
47-
GST_CEF_CMAKE_OPTS="-DCMAKE_INSTALL_PREFIX=/usr/cef -GNinja -DCEF_BUILDS_HOMEPAGE_URL=$CEF_DOWNLOAD_URL -DCEF_VERSION=$CEF_VERSION"
48-
49-
# TODO: Build CEF Debug artifacts as well.
50-
GST_CEF_BUILD_TYPE=Release
51-
52-
cmake -DCMAKE_BUILD_TYPE=$GST_CEF_BUILD_TYPE $GST_CEF_CMAKE_OPTS -B build -S .
53-
46+
git apply /compile-patch/0001-cefsrc-download-minimal-package.patch
5447
git apply /compile-patch/0001-cefsrc-unmultiply-alpha.patch
5548

49+
source /.cef-config.sh
50+
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/cef -GNinja -DCEF_VERSION=$CEF_VERSION -DCEF_MINIMAL_PACKAGE=ON
51+
5652
DESTDIR=/compiled-binaries ninja -C build install
5753
rm -fr build third_party
5854
popd
5955

60-
chown root:root /compiled-binaries/usr/cef/chrome-sandbox
61-
chmod 4755 /compiled-binaries/usr/cef/chrome-sandbox
56+
pushd /compiled-binaries/usr/cef
57+
strip -s ./*.so
58+
strip -s ./libvulkan.so.1
59+
strip -s ./gstcefsubprocess
60+
strip -s ./chrome-sandbox
61+
62+
chown root:root ./chrome-sandbox
63+
chmod 4755 ./chrome-sandbox
64+
popd
6265

6366
gst-inspect-1.0
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
From 7b6f9ab1373e50ecadc63c5475feb16c1a69210a Mon Sep 17 00:00:00 2001
2+
From: =?UTF-8?q?Lo=C3=AFc=20Le=20Page?= <llepage@igalia.com>
3+
Date: Fri, 10 Apr 2026 15:11:47 +0200
4+
Subject: [PATCH] cefsrc: download minimal package
5+
6+
---
7+
CMakeLists.txt | 4 ++++
8+
1 file changed, 4 insertions(+)
9+
10+
diff --git a/CMakeLists.txt b/CMakeLists.txt
11+
index a502ffe..e57e186 100644
12+
--- a/CMakeLists.txt
13+
+++ b/CMakeLists.txt
14+
@@ -66,6 +66,10 @@ elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
15+
endif()
16+
endif()
17+
18+
+if(CEF_MINIMAL_PACKAGE)
19+
+ set(CEF_PLATFORM "${CEF_PLATFORM}_minimal")
20+
+endif()
21+
+
22+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
23+
include(DownloadCEF)
24+
DownloadCEF("${CEF_PLATFORM}" "${CEF_VERSION}" "${CEF_ESCAPED_VERSION}" "${CMAKE_SOURCE_DIR}/third_party/cef")
25+
--
26+
2.43.0
27+
Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
From 0c69254faaa380f14588e50651a82a9e67d5731b Mon Sep 17 00:00:00 2001
22
From: =?UTF-8?q?Lo=C3=AFc=20Le=20Page?= <llepage@igalia.com>
3-
Date: Mon, 14 Oct 2024 18:47:48 +0200
3+
Date: Thu, 9 Apr 2026 19:41:44 +0200
44
Subject: [PATCH] cefsrc: unmultiply alpha
55

66
---
77
gstcefsrc.cc | 19 +++++++++++++++++++
88
1 file changed, 19 insertions(+)
99

1010
diff --git a/gstcefsrc.cc b/gstcefsrc.cc
11-
index b06897e..2c4b1da 100644
11+
index eba5b28..6f93195 100644
1212
--- a/gstcefsrc.cc
1313
+++ b/gstcefsrc.cc
14-
@@ -116,6 +116,25 @@ class RenderHandler : public CefRenderHandler
15-
new_buffer = gst_buffer_new_allocate (NULL, element->vinfo.width * element->vinfo.height * 4, NULL);
14+
@@ -257,6 +257,25 @@ class RenderHandler : public CefRenderHandler
15+
new_buffer = gst_buffer_new_allocate (NULL, src->vinfo.width * src->vinfo.height * 4, NULL);
1616
gst_buffer_fill (new_buffer, 0, buffer, w * h * 4);
1717

1818
+ // CEF output is alpha pre-multipled,
1919
+ // we need to unmultiply it to be compatible with the compositor
2020
+ GstMapInfo info = {};
2121
+ if (gst_buffer_map (new_buffer, &info, GST_MAP_READWRITE)) {
2222
+ guint8 *data = info.data;
23-
+ for (gint i = 0; i < element->vinfo.width * element->vinfo.height; ++i)
23+
+ for (gint i = 0; i < src->vinfo.width * src->vinfo.height; ++i)
2424
+ {
2525
+ float alpha = data[3];
2626
+ if (alpha != 0 && alpha != 255) {
@@ -34,9 +34,8 @@ index b06897e..2c4b1da 100644
3434
+ gst_buffer_unmap (new_buffer, &info);
3535
+ }
3636
+
37-
GST_OBJECT_LOCK (element);
38-
gst_buffer_replace (&(element->current_buffer), new_buffer);
37+
GST_OBJECT_LOCK (src);
38+
gst_buffer_replace (&(src->current_buffer), new_buffer);
3939
gst_buffer_unref (new_buffer);
4040
--
4141
2.43.0
42-

docker/cef-config.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
2-
export CEF_DOWNLOAD_URL=https://download.restream.io/gstreamer/cef
3-
export CEF_VERSION=106.1.1+g5891c70+chromium-106.0.5249.119
1+
export CEF_VERSION=146.0.10+g8219561+chromium-146.0.7680.179

0 commit comments

Comments
 (0)