Skip to content

Commit 83abd11

Browse files
committed
Update gstreamer build
1 parent aefa1d4 commit 83abd11

1 file changed

Lines changed: 122 additions & 121 deletions

File tree

.github/workflows/gstreamer.yml

Lines changed: 122 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ on:
44
workflow_dispatch:
55
inputs:
66
release_tag:
7-
description: 'Release tag (e.g., v1.24.0)'
7+
description: 'Release tag'
88
required: true
9-
default: 'v1.24.0'
9+
default: '1.28.3'
1010
release_title:
1111
description: 'Release title'
1212
required: true
@@ -21,137 +21,138 @@ jobs:
2121
with:
2222
repository: GStreamer/gstreamer
2323
path: gstreamer-source
24-
# 可选: 指定分支或标签,例如 '1.24'
2524
ref: '${{ inputs.release_tag }}'
2625

2726
- name: Run build inside container
2827
id: build
29-
uses: addnab/docker-run-action@v3
30-
with:
31-
image: waim908/ubuntuarm2404:wlt
32-
options: -v ${{ github.workspace }}:/workspace
33-
run: |
34-
set -e
35-
cd /workspace/gstreamer-source
28+
run: |
29+
# 生成构建脚本
30+
cat > build_script.sh << 'EOF'
31+
set -e
32+
cd /workspace/gstreamer-source
33+
34+
# 定义 meson 通用参数
35+
export meson_general_arg="--prefix=/data/data/com.winlator/files/imagefs/usr --libdir=/data/data/com.winlator/files/imagefs/usr/lib"
3636
37-
# 定义 meson 通用参数数组(可根据需要修改)
38-
export meson_general_arg="--prefix=/data/data/com.winlator/files/imagefs/usr --libdir=/data/data/com.winlator/files/imagefs/usr/lib"
37+
export CFLAGS="-O2 -march=armv8-a -mtune=generic -flto=auto -pipe -ftree-vectorize"
38+
export CXXFLAGS="-O2 -march=armv8-a -mtune=generic -flto=auto -pipe -ftree-vectorize"
39+
export LDFLAGS="-O2 -flto=auto -s"
3940
40-
export CFLAGS="-O2 -march=armv8-a -mtune=generic -flto=auto -pipe -ftree-vectorize"
41-
export CXXFLAGS="-O2 -march=armv8-a -mtune=generic -flto=auto -pipe -ftree-vectorize"
42-
export LDFLAGS="-O2 -flto=auto -s"
41+
# 配置
42+
meson setup builddir "$meson_general_arg" \
43+
-Dgst-full-target-type=shared_library \
44+
-Dintrospection=disabled \
45+
-Dgst-full-libraries=app,video,player \
46+
-Dbase=enabled \
47+
-Dgood=enabled \
48+
-Dbad=enabled \
49+
-Dugly=enabled \
50+
-Dlibav=enabled \
51+
-Dtests=disabled \
52+
-Dexamples=disabled \
53+
-Ddoc=disabled \
54+
-Dges=disabled \
55+
-Dpython=disabled \
56+
-Ddevtools=disabled \
57+
-Drtsp_server=disabled \
58+
-Dlibnice=disabled \
59+
-Dgtk=disabled \
60+
-Dgstreamer:check=disabled \
61+
-Dgstreamer:benchmarks=disabled \
62+
-Dgstreamer:libunwind=disabled \
63+
-Dgstreamer:libdw=disabled \
64+
-Dgstreamer:bash-completion=disabled \
65+
-Dgst-plugins-base:tcp=disabled \
66+
-Dgst-plugins-base:typefind=disabled \
67+
-Dgst-plugins-base:gio=disabled \
68+
-Dgst-plugins-good:cairo=disabled \
69+
-Dgst-plugins-good:gdk-pixbuf=disabled \
70+
-Dgst-plugins-good:oss=disabled \
71+
-Dgst-plugins-good:oss4=disabled \
72+
-Dgst-plugins-good:v4l2=disabled \
73+
-Dgst-plugins-good:aalib=disabled \
74+
-Dgst-plugins-good:jack=disabled \
75+
-Dgst-plugins-good:pulse=enabled \
76+
-Dgst-plugins-good:adaptivedemux2=disabled \
77+
-Dgst-plugins-good:libcaca=disabled \
78+
-Dgst-plugins-good:mpg123=enabled \
79+
-Dgst-plugins-good:multifile=disabled \
80+
-Dgst-plugins-good:rtp=disabled \
81+
-Dgst-plugins-good:rtpmanager=disabled \
82+
-Dgst-plugins-good:rtsp=disabled \
83+
-Dgst-plugins-good:soup=disabled \
84+
-Dgst-plugins-good:udp=disabled \
85+
-Dgst-plugins-base:examples=disabled \
86+
-Dgst-plugins-base:alsa=enabled \
87+
-Dgst-plugins-base:pango=disabled \
88+
-Dgst-plugins-base:x11=enabled \
89+
-Dgst-plugins-base:gl=disabled \
90+
-Dgst-plugins-base:opus=disabled \
91+
-Dgst-plugins-bad:androidmedia=disabled \
92+
-Dgst-plugins-bad:rtmp=disabled \
93+
-Dgst-plugins-bad:shm=disabled \
94+
-Dgst-plugins-bad:zbar=disabled \
95+
-Dgst-plugins-bad:webp=disabled \
96+
-Dgst-plugins-bad:kms=disabled \
97+
-Dgst-plugins-bad:vulkan=disabled \
98+
-Dgst-plugins-bad:dash=disabled \
99+
-Dgst-plugins-bad:analyticsoverlay=disabled \
100+
-Dgst-plugins-bad:nvcodec=disabled \
101+
-Dgst-plugins-bad:uvch264=disabled \
102+
-Dgst-plugins-bad:v4l2codecs=disabled \
103+
-Dgst-plugins-bad:udev=disabled \
104+
-Dgst-plugins-bad:libde265=disabled \
105+
-Dgst-plugins-bad:smoothstreaming=disabled \
106+
-Dgst-plugins-bad:fluidsynth=disabled \
107+
-Dgst-plugins-bad:inter=disabled \
108+
-Dgst-plugins-bad:x11=enabled \
109+
-Dgst-plugins-bad:gl=disabled \
110+
-Dgst-plugins-bad:wayland=disabled \
111+
-Dgst-plugins-bad:openh264=disabled \
112+
-Dgst-plugins-bad:hip=disabled \
113+
-Dgst-plugins-bad:aja=disabled \
114+
-Dgst-plugins-bad:aes=disabled \
115+
-Dgst-plugins-bad:dtls=disabled \
116+
-Dgst-plugins-bad:hls=disabled \
117+
-Dgst-plugins-bad:curl=disabled \
118+
-Dgst-plugins-bad:opus=disabled \
119+
-Dgst-plugins-bad:webrtc=disabled \
120+
-Dgst-plugins-bad:webrtcdsp=disabled \
121+
-Dgst-plugins-bad:debugutils=disabled \
122+
-Dgst-plugins-bad:librfb=disabled \
123+
-Dgst-plugins-bad:rist=disabled \
124+
-Dgst-plugins-bad:rtmp2=disabled \
125+
-Dgst-plugins-bad:rtp=disabled \
126+
-Dgst-plugins-bad:srtp=disabled \
127+
-Dgst-plugins-bad:sdp=disabled \
128+
-Dgst-plugins-bad:tensordecoders=disabled \
129+
-Dgst-plugins-bad:unixfd=disabled \
130+
-Dgst-plugins-bad:cuda-nvmm=disabled \
131+
-Dgst-plugins-bad:fluidsynth=disabled \
132+
-Dgst-plugins-ugly:asfdemux=disabled \
133+
-Dpackage-origin="builtin-https://github.com/Waim908/rootfs-winlator"
43134
44-
# 执行 meson 配置
45-
meson setup builddir "$meson_general_arg" \
46-
-Dgst-full-target-type=shared_library \
47-
-Dintrospection=disabled \
48-
-Dgst-full-libraries=app,video,player \
49-
-Dbase=enabled \
50-
-Dgood=enabled \
51-
-Dbad=enabled \
52-
-Dugly=enabled \
53-
-Dlibav=enabled \
54-
-Dtests=disabled \
55-
-Dexamples=disabled \
56-
-Ddoc=disabled \
57-
-Dges=disabled \
58-
-Dpython=disabled \
59-
-Ddevtools=disabled \
60-
-Drtsp_server=disabled \
61-
-Dlibnice=disabled \
62-
-Dgtk=disabled \
63-
-Dgstreamer:check=disabled \
64-
-Dgstreamer:benchmarks=disabled \
65-
-Dgstreamer:libunwind=disabled \
66-
-Dgstreamer:libdw=disabled \
67-
-Dgstreamer:bash-completion=disabled \
68-
-Dgst-plugins-base:tcp=disabled \
69-
-Dgst-plugins-base:typefind=disabled \
70-
-Dgst-plugins-base:gio=disabled \
71-
-Dgst-plugins-good:cairo=disabled \
72-
-Dgst-plugins-good:gdk-pixbuf=disabled \
73-
-Dgst-plugins-good:oss=disabled \
74-
-Dgst-plugins-good:oss4=disabled \
75-
-Dgst-plugins-good:v4l2=disabled \
76-
-Dgst-plugins-good:aalib=disabled \
77-
-Dgst-plugins-good:jack=disabled \
78-
-Dgst-plugins-good:pulse=enabled \
79-
-Dgst-plugins-good:adaptivedemux2=disabled \
80-
-Dgst-plugins-good:libcaca=disabled \
81-
-Dgst-plugins-good:mpg123=enabled \
82-
-Dgst-plugins-good:multifile=disabled \
83-
-Dgst-plugins-good:rtp=disabled \
84-
-Dgst-plugins-good:rtpmanager=disabled \
85-
-Dgst-plugins-good:rtsp=disabled \
86-
-Dgst-plugins-good:soup=disabled \
87-
-Dgst-plugins-good:udp=disabled \
88-
-Dgst-plugins-base:examples=disabled \
89-
-Dgst-plugins-base:alsa=enabled \
90-
-Dgst-plugins-base:pango=disabled \
91-
-Dgst-plugins-base:x11=enabled \
92-
-Dgst-plugins-base:gl=disabled \
93-
-Dgst-plugins-base:opus=disabled \
94-
-Dgst-plugins-bad:androidmedia=disabled \
95-
-Dgst-plugins-bad:rtmp=disabled \
96-
-Dgst-plugins-bad:shm=disabled \
97-
-Dgst-plugins-bad:zbar=disabled \
98-
-Dgst-plugins-bad:webp=disabled \
99-
-Dgst-plugins-bad:kms=disabled \
100-
-Dgst-plugins-bad:vulkan=disabled \
101-
-Dgst-plugins-bad:dash=disabled \
102-
-Dgst-plugins-bad:analyticsoverlay=disabled \
103-
-Dgst-plugins-bad:nvcodec=disabled \
104-
-Dgst-plugins-bad:uvch264=disabled \
105-
-Dgst-plugins-bad:v4l2codecs=disabled \
106-
-Dgst-plugins-bad:udev=disabled \
107-
-Dgst-plugins-bad:libde265=disabled \
108-
-Dgst-plugins-bad:smoothstreaming=disabled \
109-
-Dgst-plugins-bad:fluidsynth=disabled \
110-
-Dgst-plugins-bad:inter=disabled \
111-
-Dgst-plugins-bad:x11=enabled \
112-
-Dgst-plugins-bad:gl=disabled \
113-
-Dgst-plugins-bad:wayland=disabled \
114-
-Dgst-plugins-bad:openh264=disabled \
115-
-Dgst-plugins-bad:hip=disabled \
116-
-Dgst-plugins-bad:aja=disabled \
117-
-Dgst-plugins-bad:aes=disabled \
118-
-Dgst-plugins-bad:dtls=disabled \
119-
-Dgst-plugins-bad:hls=disabled \
120-
-Dgst-plugins-bad:curl=disabled \
121-
-Dgst-plugins-bad:opus=disabled \
122-
-Dgst-plugins-bad:webrtc=disabled \
123-
-Dgst-plugins-bad:webrtcdsp=disabled \
124-
-Dgst-plugins-bad:debugutils=disabled \
125-
-Dgst-plugins-bad:librfb=disabled \
126-
-Dgst-plugins-bad:rist=disabled \
127-
-Dgst-plugins-bad:rtmp2=disabled \
128-
-Dgst-plugins-bad:rtp=disabled \
129-
-Dgst-plugins-bad:srtp=disabled \
130-
-Dgst-plugins-bad:sdp=disabled \
131-
-Dgst-plugins-bad:tensordecoders=disabled \
132-
-Dgst-plugins-bad:unixfd=disabled \
133-
-Dgst-plugins-bad:cuda-nvmm=disabled \
134-
-Dgst-plugins-bad:fluidsynth=disabled \
135-
-Dgst-plugins-ugly:asfdemux=disabled \
136-
-Dpackage-origin="builtin-https://github.com/Waim908/rootfs-winlator"
135+
# 编译
136+
meson compile -C builddir
137137
138-
# 编译
139-
meson compiel -C builddir
138+
# 安装到临时目录
139+
DESTDIR=/workspace/install meson install -C builddir
140140
141-
# 安装到临时目录
142-
DESTDIR=/workspace/install meson install -C builddir
141+
# 打包
142+
cd /workspace
143+
tar czf gstreamer-full-${{ github.event.inputs.release_tag }}.tar.gz -C install .
144+
EOF
143145
144-
# 获取 GStreamer 版本(用于包名)
145-
VERSION=$(grep -Po 'project\(\s*\"gstreamer\"\s*,\s*version\s*:\s*\"\K[^\"]+' meson.build | head -1) \
146-
|| VERSION=$(date +%Y%m%d)
146+
chmod +x build_script.sh
147147
148-
# 打包安装后的文件
149-
cd /workspace
150-
tar czf gstreamer-full-${VERSION}.tar.gz -C install .
148+
# 运行容器
149+
docker run --rm \
150+
-v ${{ github.workspace }}:/workspace \
151+
waim908/ubuntuarm2404:wlt \
152+
/bin/bash /workspace/build_script.sh
151153
152-
# 输出变量供后续步骤使用
153-
echo "VERSION=${VERSION}" >> $GITHUB_OUTPUT
154-
echo "ARTIFACT_PATH=/workspace/gstreamer-full-${VERSION}.tar.gz" >> $GITHUB_OUTPUT
154+
# 设置输出变量(直接使用 release_tag)
155+
echo "ARTIFACT_PATH=${{ github.workspace }}/gstreamer-full-${{ github.event.inputs.release_tag }}.tar.gz" >> $GITHUB_OUTPUT
155156
156157
- name: Create Release and Upload Artifact
157158
uses: softprops/action-gh-release@v2

0 commit comments

Comments
 (0)