Skip to content

Commit 35eb670

Browse files
authored
Merge pull request #27 from libxengine/develop
V2.9.0.1001 Merge
2 parents e0a0969 + 94d98bb commit 35eb670

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1591
-158
lines changed

.github/workflows/linuxbuild.yml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
name: ubuntu build workflows
2+
3+
on:
4+
push:
5+
branches: [ "develop" ]
6+
pull_request:
7+
branches: [ "develop" ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
strategy:
15+
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
16+
fail-fast: false
17+
matrix:
18+
include:
19+
- os: ubuntu-22.04
20+
#- os: ubuntu-24.04
21+
runs-on: ${{ matrix.os }}
22+
23+
steps:
24+
# 检出您的主仓库代码
25+
- name: Checkout main repository code
26+
uses: actions/checkout@v4
27+
with:
28+
ref: 'develop'
29+
30+
# 检出依赖的xengine仓库到指定的xengine目录
31+
- name: Checkout dependency repository (xengine)
32+
uses: actions/checkout@v4
33+
with:
34+
repository: libxengine/libxengine
35+
path: libxengine
36+
37+
- name: sub module checkout (opensource)
38+
run: |
39+
git submodule init
40+
git submodule update
41+
42+
- name: install library
43+
run: sudo apt install libsrt-gnutls-dev libsrtp2-dev -y
44+
45+
# 设置依赖库的环境变量
46+
- name: Set up Dependency Environment Variables
47+
run: |
48+
cd libxengine
49+
chmod 777 *
50+
sudo ./XEngine_LINEnv.sh -i 3
51+
cd ..
52+
#编译
53+
- name: make
54+
run: |
55+
cd XEngine_Source
56+
make
57+
make FLAGS=InstallAll
58+
make FLAGS=CleanAll
59+
60+
make RELEASE=1
61+
make FLAGS=InstallAll
62+
make FLAGS=CleanAll
63+
cd ..
64+
- name: test
65+
run: |
66+
cd XEngine_Release
67+
./XEngine_StreamMediaApp -t

.github/workflows/macbuild.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: macos build workflows
2+
3+
on:
4+
push:
5+
branches: [ "develop" ]
6+
pull_request:
7+
branches: [ "develop" ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
strategy:
15+
matrix:
16+
include:
17+
- os: macos-13
18+
runs-on: ${{ matrix.os }}
19+
20+
steps:
21+
- name: Checkout main repository code
22+
uses: actions/checkout@v4
23+
with:
24+
ref: 'develop'
25+
26+
# 检出依赖的xengine仓库到指定的xengine目录
27+
- name: Checkout dependency repository (xengine)
28+
uses: actions/checkout@v4
29+
with:
30+
repository: libxengine/libxengine
31+
path: libxengine
32+
33+
- name: sub module checkout (opensource)
34+
run: |
35+
git submodule init
36+
git submodule update
37+
38+
- name: brew install
39+
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
40+
41+
- name: install library
42+
run: brew install srt srtp
43+
44+
# 设置依赖库的环境变量
45+
- name: Set up Dependency Environment Variables
46+
run: |
47+
cd libxengine
48+
chmod 777 *
49+
./XEngine_LINEnv.sh -i 3
50+
cd ..
51+
#编译
52+
- name: make debug
53+
run: |
54+
cd XEngine_Source
55+
make PLATFORM=mac
56+
make PLATFORM=mac FLAGS=InstallAll
57+
make PLATFORM=mac FLAGS=CleanAll
58+
- name: make release
59+
run: |
60+
cd XEngine_Source
61+
make PLATFORM=mac RELEASE=1
62+
make PLATFORM=mac FLAGS=InstallAll
63+
make PLATFORM=mac FLAGS=CleanAll
64+
- name: test
65+
run: |
66+
cd XEngine_Release

.github/workflows/msbuild.yml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: windows build workflows
2+
3+
on:
4+
push:
5+
branches: [ "develop" ]
6+
pull_request:
7+
branches: [ "develop" ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build:
14+
strategy:
15+
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
16+
fail-fast: false
17+
matrix:
18+
configuration: [Debug ,Release]
19+
platform: [x86 ,x64]
20+
21+
runs-on: windows-latest # 最新的 Windows 环境
22+
23+
steps:
24+
# 检出您的主仓库代码
25+
- name: Checkout main repository code
26+
uses: actions/checkout@v4
27+
with:
28+
ref: 'develop'
29+
30+
# 检出依赖的xengine仓库到指定的xengine目录
31+
- name: Checkout dependency repository (xengine)
32+
uses: actions/checkout@v4
33+
with:
34+
repository: libxengine/libxengine
35+
path: libxengine
36+
37+
- name: sub module checkout (opensource)
38+
run: |
39+
git submodule init
40+
git submodule update
41+
shell: pwsh
42+
43+
- name: vcpkg dependency repository
44+
uses: actions/checkout@v4
45+
with:
46+
repository: microsoft/vcpkg
47+
path: vcpkg
48+
49+
- name: vcpkg install (x86)
50+
if: matrix.platform == 'x86'
51+
run: |
52+
cd vcpkg
53+
./bootstrap-vcpkg.bat
54+
./vcpkg.exe install libsrt:x86-windows libsrtp:x86-windows
55+
./vcpkg.exe integrate install
56+
shell: pwsh
57+
- name: vcpkg install (x64)
58+
if: matrix.platform == 'x64'
59+
run: |
60+
cd vcpkg
61+
./bootstrap-vcpkg.bat
62+
./vcpkg.exe install libsrt:x64-windows libsrtp:x64-windows
63+
./vcpkg.exe integrate install
64+
shell: pwsh
65+
66+
# 设置依赖库的环境变量
67+
- name: Set up Dependency Environment Variables
68+
run: |
69+
echo "XENGINE_INCLUDE=${{ github.workspace }}/libxengine" | Out-File -FilePath $env:GITHUB_ENV -Append
70+
echo "XENGINE_LIB32=${{ github.workspace }}/libxengine/XEngine_Windows/x86" | Out-File -FilePath $env:GITHUB_ENV -Append
71+
echo "XENGINE_LIB64=${{ github.workspace }}/libxengine/XEngine_Windows/x64" | Out-File -FilePath $env:GITHUB_ENV -Append
72+
shell: pwsh
73+
74+
# 配置 MSBuild 的路径,准备构建 VC++ 项目
75+
- name: Setup MSBuild
76+
uses: microsoft/setup-msbuild@v2
77+
#编译
78+
- name: Build Solution
79+
run: msbuild XEngine_Source/XEngine.sln /p:Configuration=${{ matrix.configuration }} /p:Platform=${{ matrix.platform }}
80+
#测试
81+
- name: Conditional Step for x86 Release
82+
if: matrix.configuration == 'Release' && matrix.platform == 'x86'
83+
run: |
84+
cp -r XEngine_Source/Release/*.dll XEngine_Release/
85+
cp -r XEngine_Source/Release/*.exe XEngine_Release/
86+
cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/
87+
cd XEngine_Release
88+
.\VSCopy_x86.bat
89+
shell: pwsh
90+
- name: Conditional Step for x86 Debug
91+
if: matrix.configuration == 'Debug' && matrix.platform == 'x86'
92+
run: |
93+
cp -r XEngine_Source/Debug/*.dll XEngine_Release/
94+
cp -r XEngine_Source/Debug/*.exe XEngine_Release/
95+
cp -r XEngine_Source/VSCopy_x86.bat XEngine_Release/
96+
cd XEngine_Release
97+
.\VSCopy_x86.bat
98+
shell: pwsh

CHANGELOG

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
XEngine_StreamMedia V2.9.0.1001
2+
3+
增加:音频编解码器和重采样支持
4+
增加:webrtc心跳支持
5+
增加:rtc客户端发布流
6+
修改:插入推流会话管理当dtls连接成功
7+
修改:ssrc转字符串从int类型
8+
修改:会话模块获取sms地址
9+
修改:rtp转srtp包
10+
修改:rtc证书配置问题
11+
修改:rtcp接受协议解析支持
12+
修改:rtsp和webrtc仅音频和视频支持
13+
修正:消息发送不完整的问题
14+
修正:rtcp协议判断问题
15+
修正:webrtc自动选择媒体索引问题
16+
修正:没有退出当rtp的视频包头出问题的时候
17+
修正:mac编译问题
18+
修正:x-stream音频编码参数错误
19+
删除:没有使用的会话代码
20+
21+
added:test start supported
22+
added:audio coder and resample support
23+
added:webrtc heart support
24+
added:rtc client publish stream
25+
modify:insert push session management after dtls handshake
26+
modify:ssrc to string from int for session module
27+
modify:get smsaddr for session module
28+
modify:rtp to srtp
29+
modify:rtc cert configure to der from csr
30+
modify:rtcp recv report parse support
31+
modify:rtsp and webrtc only audio or video support
32+
fixed:failed due to send message incomplete
33+
fixed:rtcp protocol judgment is incorrect
34+
fixed:webrtc auto choice media index
35+
fixed:not break header for rtp packet of video
36+
fixed:build error on mac
37+
fixed:x-stream audio parameter set is incorrect
38+
delete:unused code
39+
=======================================================
140
XEngine_StreamMedia V2.8.0.1001
241

342
增加:支持srtcp和srtp处理数据了

README.en.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,26 +60,30 @@ window Exection XEngine_WINEnv.bat
6060
Linux Exection:sudo ./XEngine_LINEnv.sh -i 3
6161
Macos Exection:./XEngine_LINEnv.sh -i 3
6262

63+
#### sub module
64+
Due to the dependent sub-modules, after you checkout the warehouse, execute the following command in the warehouse directory to pull the sub-modules
65+
git submodule init
66+
git submodule update
67+
6368
#### Windows
6469
use vs open and complie,you need to install vcpkg and install depend library by vcpkg
6570
vcpkg.exe install libsrt:x86-windows libsrt:x64-windows libsrtp:x86-windows libsrtp:x64-windows
6671
#### Linux
6772
install srt library after Configure Xengine to Completed
6873
ubuntu:sudo apt install libsrt-gnutls-dev libsrtp2-dev
69-
Rockylinux:sudo dnf install srt-devel srtp2-devel
7074

7175
Linux use Makefile complie
7276
UBUNTU22.04 x64 or RockyLinux 9 x64
7377

7478
##### Compile Command
7579
execute command in XEngine_Source path
76-
make complie
77-
make FLAGS=InstallAll Install File
78-
make FLAGS=CleanAll Clear Complie
80+
make
81+
make FLAGS=InstallAll
82+
make FLAGS=CleanAll
7983

8084
#### MacOS
8185
install srt library after Configure Xengine to Completed
82-
brew install libsrt srtp
86+
brew install srt srtp
8387
Linux use Makefile to complie,terminal exection,Requires mac 13 and above
8488

8589
##### Compile Command

README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,12 @@ window执行XEngine_WINEnv.bat 脚本
6565
Linux执行:sudo ./XEngine_LINEnv.sh -i 3
6666
macos执行:./XEngine_LINEnv.sh -i 3
6767

68+
#### sub module
69+
由于依赖的子模块,在你checkout仓库后,在仓库目录下执行下面的命令拉取子模块
70+
git submodule init
71+
git submodule update
72+
如果github访问失败,你也可以clone该项目,在主目录下使用命令:git clone https://gitee.com/xengine/XEngine_OPenSource.git XEngine_Source/XEngine_Depend
73+
6874
#### Windows
6975

7076
使用VS打开并且编译,你需要优先配置XEngine环境才能使用
@@ -74,7 +80,6 @@ vcpkg.exe install libsrt:x86-windows libsrt:x64-windows libsrtp:x86-windows libs
7480
#### Linux
7581
配置完XEngine后需要安装srt库
7682
ubuntu:sudo apt install libsrt-gnutls-dev libsrtp2-dev
77-
Rockylinux:sudo dnf install srt-devel srtp2-devel
7883

7984
Linux使用Makefile编译
8085
UBUNTU22.04 或者 RockyLinux 9 x64均可
@@ -88,7 +93,7 @@ make FLAGS=CleanAll 清理编译
8893

8994
#### MacOS
9095
配置完XEngine后需要安装srt库
91-
brew install libsrt srtp
96+
brew install srt srtp
9297
使用makefile编译,控制台运行,需要mac 13以及以上版本
9398

9499
###### 编译命令

0 commit comments

Comments
 (0)