Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/build-llvm.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Build LLVM

on:
pull_request:
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -31,7 +30,7 @@ jobs:

mkdir build
cd build
cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DLLVM_TARGETS_TO_BUILD="WebAssembly;X86" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_TERMINFO=OFF -DLLDB_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
cmake ../llvm -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind" -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DLLVM_TARGETS_TO_BUILD="WebAssembly;X86" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DCLANG_INCLUDE_TESTS=OFF -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_LIBXML2=OFF -DLLVM_ENABLE_TERMINFO=OFF -DLLDB_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_LIBPFM=OFF -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
cmake --build .
- uses: actions/upload-artifact@v4
with:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,12 +43,13 @@ jobs:
run: |
sudo apt-get update
poetry run cerbero -c build/gst.wasm.cbc bootstrap
poetry run cerbero -c build/gst.wasm.cbc run emcc --clear-cache # Needed for our LLVM fork.
- name: Build dependencies
run: |
poetry run cerbero -c build/gst.wasm.cbc build-deps gst.wasm
- name: Build gst.wasm
run: |
poetry run cerbero -c build/gst.wasm.cbc build gst.wasm
poetry run cerbero -c build/gst.wasm.cbc buildone gst.wasm
- name: Create tarball
if: ${{ github.ref == 'refs/heads/main' }}
run: |
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ To build an environment, you can use [steps from CI](.github/workflows/build.yam
poetry install
git config --global protocol.file.allow always
poetry run cerbero -c build/gst.wasm.cbc bootstrap
poetry run cerbero -c build/gst.wasm.cbc run emcc --clear-cache # Needed for our LLVM fork.
poetry run cerbero -c build/gst.wasm.cbc build gst.wasm
```

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 56c7abf845736d15ca982855647e370958b46fa2 Mon Sep 17 00:00:00 2001
From: Fabian Orccon <cfoch.fabian@gmail.com>
Date: Fri, 8 May 2026 13:32:11 +0200
Subject: [PATCH] convert: Use planeConvertGetFunctionScalar

---
src/pixel_processing/src/convert.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/pixel_processing/src/convert.c b/src/pixel_processing/src/convert.c
index 57c47ef..707d722 100644
--- a/src/pixel_processing/src/convert.c
+++ b/src/pixel_processing/src/convert.c
@@ -109,7 +109,7 @@ bool ldppPlaneConvert(LdcTaskPool* taskPool, LdcTask* parent, const uint32_t pla
}

const LdppConvertSlicedJobContext slicedJobContext = {
- planeConvertGetFunction(srcLayout->layoutInfo->fixedPoint,
Comment thread
cfoch marked this conversation as resolved.
+ planeConvertGetFunctionScalar(srcLayout->layoutInfo->fixedPoint,
dstLayout->layoutInfo->fixedPoint, planeIndex, isNV12),
*srcPlane,
*dstPlane,
--
2.43.0

63 changes: 0 additions & 63 deletions build/recipes/lcevc_dec/0001-emscripten-Fix-js-output.patch

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
From e87e7f9169b2f177646fc8d342c4df67badbe88a Mon Sep 17 00:00:00 2001
From: Fabian Orccon <cfoch.fabian@gmail.com>
Date: Thu, 7 May 2026 16:02:38 +0200
Subject: [PATCH] threading: wasm: Fix compilation error because of undefined
variable

Prevents
---
src/api_utility/src/threading.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/api_utility/src/threading.cpp b/src/api_utility/src/threading.cpp
index aad21d5..20ac841 100644
--- a/src/api_utility/src/threading.cpp
+++ b/src/api_utility/src/threading.cpp
@@ -65,7 +65,8 @@ bool setThreadName(std::string_view name)
if (!name.empty()) {
#if defined(__EMSCRIPTEN__)
return true; // Don't set thread name in wasms
-#elif defined(__ANDROID__) || defined(__linux__)
+#else
+#if defined(__ANDROID__) || defined(__linux__)
const int res = pthread_setname_np(pthread_self(), name.data());
#else // i.e. Apple
const int res = pthread_setname_np(name.data());
@@ -73,6 +74,7 @@ bool setThreadName(std::string_view name)
if (res != 0) {
return false;
}
+#endif
}
return true;
}
--
2.43.0

9 changes: 5 additions & 4 deletions build/recipes/lcevcdec.recipe
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@ class Recipe(recipe.Recipe):
# licenses = [{License.BSD_like: ['LICENSE.txt']}]
stype = SourceType.GIT
remotes = {'origin': 'https://github.com/v-novaltd/LCEVCdec'}
commit = version = '3.3.7'
commit = version = '4.1.0'
btype = BuildType.CMAKE
static = True
configure_options = (
# '-DVN_CORE_SIMD=disabled '
'-DVN_CORE_SIMD=enabled '
)
patches = [
'../recipes/lcevc_dec/0001-threading-Prevent-compile-error-pthread_setname_np-o.patch',
'../recipes/lcevc_dec/0001-emscripten-Fix-js-output.patch',
'../recipes/lcevc_dec/0001-threading-wasm-Fix-compilation-error-because-of-unde.patch',
'../recipes/lcevc_dec/0001-convert-Use-planeConvertGetFunctionScalar.patch',
]

def prepare(self):
self.append_env('CFLAGS', '-Wno-user-defined-warnings')
self.append_env('CXXFLAGS', '-Wno-user-defined-warnings')
8 changes: 0 additions & 8 deletions gst.wasm/subprojects/samples/lcevc+aac/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ c_code = executable_name + '.c'
html_code = executable_name + '-page.html'

cc = meson.get_compiler('c')
lcevc_dec_api = cc.find_library('lcevc_dec_api')
lcevc_dec_core = cc.find_library('lcevc_dec_core')
lcevc_dec_core_sequencing = cc.find_library('lcevc_dec_core_sequencing')
lcevc_dec_api_utility = cc.find_library('lcevc_dec_api_utility')

executable(executable_name,
c_code,
Expand All @@ -22,10 +18,6 @@ executable(executable_name,
gstisomp4_dep,
gstlibav_dep,
gstwebplugin_dep,
lcevc_dec_api,
lcevc_dec_api_utility,
lcevc_dec_core,
lcevc_dec_core_sequencing,
],
link_args: common_link_args + [
'-lGL',
Expand Down
8 changes: 0 additions & 8 deletions gst.wasm/subprojects/samples/lcevcdec/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@ c_code = executable_name + '.c'
html_code = executable_name + '-page.html'

cc = meson.get_compiler('c')
lcevc_dec_api = cc.find_library('lcevc_dec_api')
lcevc_dec_core = cc.find_library('lcevc_dec_core')
lcevc_dec_core_sequencing = cc.find_library('lcevc_dec_core_sequencing')
lcevc_dec_api_utility = cc.find_library('lcevc_dec_api_utility')

executable(executable_name,
c_code,
Expand All @@ -20,10 +16,6 @@ executable(executable_name,
dependency('gstopengl'),
dependency('gstvideoparsersbad'),
dependency('gstlcevcdecoder'),
lcevc_dec_api,
lcevc_dec_core,
lcevc_dec_core_sequencing,
lcevc_dec_api_utility,
],
link_args: common_link_args + [
'-sASYNCIFY',
Expand Down
20 changes: 12 additions & 8 deletions guw/gstreamer.gst.wasm.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ url = "git@github.com:fluendo/gstreamer.git"
name = "freedesktop"
url = "git@ssh.gitlab.freedesktop.org:gstreamer/gstreamer.git"

[upstream]
remote = "freedesktop"
branch = "main"

[target]
remote = "origin"
branch = "gst.wasm"
Expand All @@ -26,7 +30,14 @@ remote = "origin"
name = "RDI-3208-thread-func-return"
summary = "GThreadFunc return type fixes"
pr = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10682"
status = "pending" # TODO: Remove this feature after wasm-main-base sync with upstream.
status = "integrated"

[[features]]
remote = "origin"
name = "fix-disable-mse"
summary = "libs: mse: Disable if mse option disabled"
status = "integrated"
pr = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11467"

[[features]]
remote = "origin"
Expand Down Expand Up @@ -74,10 +85,3 @@ name = "libav-add-element-groups"
summary = "Add element_groups meson option to gst-libav"
status = "pending"
pr = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8877"

[[features]]
remote = "origin"
name = "fix-disable-mse"
summary = "libs: mse: Disable if mse option disabled"
status = "pending"
pr = "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11467"
Loading