Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
712c1e4
update:xengine v9.14 supported
xengine-qyt Mar 10, 2025
f4df612
ci:update left time
xengine-qyt Mar 10, 2025
73f32e0
update:depend library
xengine-qyt Mar 25, 2025
ecf5e20
added:windows arm64 build support
xengine-qyt Mar 25, 2025
a6f91e7
ci:add ubuntu arm64
xengine-qyt Mar 25, 2025
9d3a02c
fixed:build error
xengine-qyt Mar 25, 2025
d0b7d39
fixed:build error
xengine-qyt Mar 27, 2025
03c72b7
ci:rockylinux build support
xengine-qyt Mar 27, 2025
5b954cd
ci:build fix
xengine-qyt Mar 27, 2025
db5ac7f
fixed:rockylinux build
xengine-qyt Mar 27, 2025
b85f9b3
ci:fixed rocky linux
xengine-qyt Mar 28, 2025
c967286
fixed:reply error when strema not found for rtmp with play
xengine-qyt Mar 28, 2025
9a24b7c
modify:use memory pool for memory of push stream
xengine-qyt Apr 3, 2025
ad979eb
modify:reply not found stream message for ts and flv and xstream when…
xengine-qyt Apr 4, 2025
6966a89
added:pre pull stream support for xstream ts srt
xengine-qyt Apr 4, 2025
d0da682
added:pre-play stream for rtmp support
xengine-qyt Apr 5, 2025
e4dfd6a
fixed:incorrect not set push stream addr when pre-play client leave
xengine-qyt Apr 5, 2025
b3d11ff
modify:unified pre play code
xengine-qyt Apr 5, 2025
6c5b500
added:flv play with pre pull support
xengine-qyt Apr 8, 2025
4543a5d
added:xstream play with pre pull support
xengine-qyt Apr 8, 2025
0e7f963
fixed:not process for xstream
xengine-qyt Apr 8, 2025
6ce03ce
added:ts and srt pre stream support
xengine-qyt Apr 8, 2025
262b34b
fixed:log print error and log type support
xengine-qyt Apr 9, 2025
5597ebc
modify:does not report info when debug start
xengine-qyt Apr 9, 2025
3e94926
update:read me and document
xengine-qyt Apr 9, 2025
3f87cec
fixed:report info handle is incorrect
xengine-qyt Apr 9, 2025
2f8966f
ci:cancel test for windows
xengine-qyt Apr 9, 2025
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
80 changes: 80 additions & 0 deletions .github/workflows/RockyArm64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: rocky Arm64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-24.04
env:
IMAGE_NAME: rockylinux/rockylinux:9.5

strategy:
fail-fast: false
matrix:
arch: [linux/arm64]

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Build ${{ matrix.arch }}
run: |
docker run --platform ${{ matrix.arch }} --rm \
-v ${{ github.workspace }}:/workspace \
-w /workspace ${{ env.IMAGE_NAME }} /bin/sh -c '
set -e
dnf update -y
dnf install --allowerasing git make g++ wget curl jq unzip -y

git config --global --add safe.directory /workspace
git submodule init
git submodule update

latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_Arm64.zip
unzip ./XEngine_RockyLinux_9_Arm64.zip -d ./XEngine_RockyLinux_9_Arm64
cd XEngine_RockyLinux_9_Arm64

chmod 777 ./XEngine_LINEnv.sh
./XEngine_LINEnv.sh -i 0

dnf install libsrtp-devel srt-devel -y

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/lib64 \;
ldconfig
cd ..

cd XEngine_Source
make ARCH=Arm64 RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..

cd XEngine_Release
./XEngine_StreamMediaApp -t
chown -R $(id -u):$(id -g) .
chmod -R a+r . '

- name: Upload folder as artifact with RockyLinux
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-RockyLinux_9_Arm64
path: XEngine_Release/
retention-days: 1
85 changes: 85 additions & 0 deletions .github/workflows/RockyX86_64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: rocky x86_64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
container:
image: rockylinux/rockylinux:9.5

steps:
# 检出您的主仓库代码
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

# 检出依赖的xengine仓库到指定的xengine目录
- name: Checkout dependency repository (xengine)
uses: actions/checkout@v4
with:
repository: libxengine/libxengine
path: libxengine

- name: sub module checkout (opensource)
uses: actions/checkout@v4
with:
repository: libxengine/XEngine_OPenSource
path: XEngine_Source/XEngine_Depend

- name: install system package
run: |
dnf update -y
dnf install gcc g++ make git jq unzip -y
# 设置依赖库的环境变量
- name: Set up Dependency rocky linux Environment
run: |
cd libxengine
chmod 777 *
./XEngine_LINEnv.sh -i 0
dnf install libsrtp-devel srt-devel -y

- name: install xengine library
run: |
latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_RockyLinux_9_x86-64.zip
unzip ./XEngine_RockyLinux_9_x86-64.zip -d ./XEngine_RockyLinux_9_x86-64
cd XEngine_RockyLinux_9_x86-64

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/lib64 \;
ldconfig

- name: make
run: |
cd XEngine_Source
make
make FLAGS=InstallAll
make FLAGS=CleanAll

make RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll

- name: test
run: |
cd XEngine_Release
./XEngine_StreamMediaApp -t

- name: Upload folder as artifact with RockyLinux
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-RockyLinux_9_x86_64
path: XEngine_Release/
retention-days: 1
75 changes: 75 additions & 0 deletions .github/workflows/UbuntuArm64_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: ubuntu Arm64 build workflows

on:
push:
branches:
- 'develop'
paths:
- 'XEngine_Source/**'
- 'XEngine_Release/**'
- '.github/**'

jobs:
build:
runs-on: ubuntu-24.04
env:
IMAGE_NAME: ubuntu:24.04

strategy:
fail-fast: false
matrix:
arch: [linux/arm64]

steps:
- name: Checkout main repository code
uses: actions/checkout@v4
with:
ref: 'develop'

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Build ${{ matrix.arch }}
run: |
docker run --platform ${{ matrix.arch }} --rm \
-v ${{ github.workspace }}:/workspace \
-w /workspace ${{ env.IMAGE_NAME }} /bin/sh -c '
set -e
apt update -y
apt install git make g++ wget curl jq unzip -y
apt install libsrt-gnutls-dev libsrtp2-dev -y

git config --global --add safe.directory /workspace
git submodule init
git submodule update

latest_tag=$(curl -s https://api.github.com/repos/libxengine/libxengine/releases/latest | jq -r .tag_name)
wget https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_UBuntu_24.04_Arm64.zip
unzip ./XEngine_UBuntu_24.04_Arm64.zip -d ./XEngine_UBuntu_24.04_Arm64
cd XEngine_UBuntu_24.04_Arm64

chmod 777 ./XEngine_LINEnv.sh
./XEngine_LINEnv.sh -i 0

cp -rf ./XEngine_Include /usr/local/include
find ./XEngine_Linux -name "*.so" -exec cp {} /usr/local/lib \;
ldconfig
cd ..

cd XEngine_Source
make ARCH=Arm64 RELEASE=1
make FLAGS=InstallAll
make FLAGS=CleanAll
cd ..

cd XEngine_Release
./XEngine_StreamMediaApp -t
chown -R $(id -u):$(id -g) .
chmod -R a+r . '

- name: Upload folder as artifact with ubuntu Arm64
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Ubuntu_24.04_Arm64
path: XEngine_Release/
retention-days: 1
11 changes: 5 additions & 6 deletions .github/workflows/macbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,7 @@ jobs:
make PLATFORM=mac FLAGS=InstallAll
make PLATFORM=mac FLAGS=CleanAll

- name: test (srt bug on macos-arm64,not run)
if: matrix.os == 'macos-13'
- name: test (srt bug on macos,not run)
run: |
cd XEngine_Release
./XEngine_StreamMediaApp -t
Expand All @@ -90,13 +89,13 @@ jobs:
if: matrix.os == 'macos-13'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-x86_64-Mac
name: XEngine_StreamMediaApp-Mac_x86_64
path: XEngine_Release/
retention-days: 3
retention-days: 1
- name: Upload folder as artifact with mac arm
if: matrix.os == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Arm64-Mac
name: XEngine_StreamMediaApp-Mac_Arm64
path: XEngine_Release/
retention-days: 3
retention-days: 1
48 changes: 43 additions & 5 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
fail-fast: false
matrix:
configuration: [Debug ,Release]
platform: [x86 ,x64]
platform: [x86 ,x64 ,ARM64]

runs-on: windows-latest

Expand Down Expand Up @@ -62,6 +62,14 @@ jobs:
./vcpkg.exe install libsrt:x64-windows libsrtp:x64-windows
./vcpkg.exe integrate install
shell: pwsh
- name: vcpkg install (ARM64)
if: matrix.platform == 'ARM64'
run: |
cd vcpkg
./bootstrap-vcpkg.bat
./vcpkg.exe install libsrt:Arm64-windows libsrtp:Arm64-windows
./vcpkg.exe integrate install
shell: pwsh

- name: Set up Dependency x86_64 Environment
if: matrix.platform == 'x64'
Expand All @@ -83,6 +91,20 @@ jobs:
echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "XENGINE_LIB32=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
shell: pwsh
- name: Set up Dependency ARM64 Environment
if: matrix.platform == 'ARM64'
run: |
$response = Invoke-RestMethod -Uri "https://api.github.com/repos/libxengine/libxengine/releases/latest" -Headers @{"Accept"="application/vnd.github.v3+json"}
$latest_tag = $response.tag_name
Write-Host "Latest Tag: $latest_tag"

$url = "https://github.com/libxengine/libxengine/releases/download/$latest_tag/XEngine_Windows_Arm64.zip"
Invoke-WebRequest -Uri $url -OutFile "XEngine_Windows_Arm64.zip"
Expand-Archive -Path ./XEngine_Windows_Arm64.zip -DestinationPath ./XEngine_Windows -Force

echo "XENGINE_INCLUDE=${{ github.workspace }}/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "XENGINE_LIBARM64=${{ github.workspace }}/XEngine_Windows/XEngine_Windows" | Out-File -FilePath $env:GITHUB_ENV -Append
shell: pwsh

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
Expand All @@ -109,19 +131,35 @@ jobs:
cd XEngine_Release
.\VSCopy_x64.bat
shell: pwsh
- name: Conditional Step for ARM64 Release
if: matrix.configuration == 'Release' && matrix.platform == 'ARM64'
run: |
cp -r XEngine_Source/ARM64/Release/*.dll XEngine_Release/
cp -r XEngine_Source/ARM64/Release/*.exe XEngine_Release/
cp -r XEngine_Source/VSCopy_Arm64.bat XEngine_Release/
cd XEngine_Release
.\VSCopy_Arm64.bat
shell: pwsh

- name: Upload folder as artifact with x86
if: matrix.configuration == 'Release' && matrix.platform == 'x86'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-x86_32-Windows
name: XEngine_StreamMediaApp-Windows_x86_32
path: XEngine_Release/
retention-days: 3
retention-days: 1

- name: Upload folder as artifact with x64
if: matrix.configuration == 'Release' && matrix.platform == 'x64'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-x86_64-Windows
name: XEngine_StreamMediaApp-Windows_x86_64
path: XEngine_Release/
retention-days: 1
- name: Upload folder as artifact with ARM64
if: matrix.configuration == 'Release' && matrix.platform == 'ARM64'
uses: actions/upload-artifact@v4
with:
name: XEngine_StreamMediaApp-Windows_Arm64
path: XEngine_Release/
retention-days: 3
retention-days: 1
Loading
Loading