Skip to content

Commit

Permalink
Merge branch 'develop' into feature/multi-codec-simulcast
Browse files Browse the repository at this point in the history
  • Loading branch information
melpon committed Oct 12, 2024
2 parents 3bf2e9e + 72341da commit 8e25c9b
Show file tree
Hide file tree
Showing 54 changed files with 1,840 additions and 208 deletions.
18 changes: 17 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,19 @@ jobs:
- name: ubuntu-20.04_x86_64
runs-on: ubuntu-20.04
os: ubuntu
arch: x86_64
- name: ubuntu-22.04_x86_64
runs-on: ubuntu-22.04
os: ubuntu
arch: x86_64
- name: ubuntu-24.04_x86_64
runs-on: ubuntu-24.04
os: ubuntu
arch: x86_64
- name: ubuntu-24.04_armv8
runs-on: ubuntu-24.04
os: ubuntu
arch: armv8
- name: android
runs-on: ubuntu-22.04
os: android
Expand Down Expand Up @@ -216,7 +223,7 @@ jobs:
Pin-Priority: 990
EOF
- name: Install deps for ${{ matrix.platform.name }}
if: matrix.platform.os == 'ubuntu'
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'x86_64'
run: |
source VERSION
sudo apt-get update
Expand All @@ -238,6 +245,12 @@ jobs:
# Intel Media SDK のために libva-dev, libdrm-dev を入れる
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install libva-dev libdrm-dev
- name: Install deps for ${{ matrix.platform.name }}
if: matrix.platform.os == 'ubuntu' && matrix.platform.arch == 'armv8'
run: |
sudo apt-get -y install multistrap binutils-aarch64-linux-gnu
# multistrap に insecure なリポジトリからの取得を許可する設定を入れる
sudo sed -e 's/Apt::Get::AllowUnauthenticated=true/Apt::Get::AllowUnauthenticated=true";\n$config_str .= " -o Acquire::AllowInsecureRepositories=true/' -i /usr/sbin/multistrap
- name: Install deps for Android
if: matrix.platform.os == 'android'
run: |
Expand Down Expand Up @@ -319,6 +332,9 @@ jobs:
- uses: ./.github/actions/download
with:
platform: ubuntu-24.04_x86_64
- uses: ./.github/actions/download
with:
platform: ubuntu-24.04_armv8
- uses: ./.github/actions/download
with:
platform: android
Expand Down
50 changes: 50 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,58 @@

## develop

- [UPDATE] VPL を v2.13.0 に上げる
- @voluntas
- [UPDATE] CMake を 3.30.4 にあげる
- @voluntas
- [UPDATE] Boost を 1.86.0 にあげる
- @voluntas
- [UPDATE] libwebrtc を m129.6668.1.0 にあげる
- H.265 Patch の修正に伴い、C++ SDK の H.265 に関する設定を変更
- examples と test に `rtc::CreateRandomString` のヘッダを追加
- `SetRtpTimestamp``frame.timestamp` から `frame.rtp_timestamp` に変更
- @tnoho @torikizi
- [UPDATE] Xcode のバージョンを 15.4 にあげる
- @tnoho
- [UPDATE] SDL を 2.30.8 に上げる
- @torikizi
- [UPDATE] BLEND2D_VERSION を上げる
- @torikizi
- [UPDATE] ASMJIT_VERSION を上げる
- @torikizi
- [ADD] シグナリングメッセージを取得できるよう OnSignalingMessage を SoraSignalingObserver に追加する
- @tnoho
- [ADD] Intel VPL で AV1 エンコーダを動くようにする
- @tnoho
- [ADD] ルート証明書を指定可能にする
- @melpon
- [ADD] Ubuntu 24.04 armv8 に対応する
- @melpon
- [ADD] VERSION と examples/VERSION のバージョンをチェックする仕組みを追加
- @melpon
- [ADD] WebSocket の Close を取得できるよう SendOnWsClose を SoraSignalingObserver に追加する
- @tnoho
- [FIX] HTTP Proxy 利用時の Websocket 初期化で insecure_ メンバ変数が初期化されていなかったのを修正
- @melpon
- [FIX] SoraSignalingConfig の client_cert と client_key に渡す必要がある値を、ファイルパスからファイルの内容に修正
- Android の場合、jar に纏められたファイルからファイルパスが取得できないため
- @melpon
- [FIX] SoraSignalingConfig の client_cert と client_key の型を `std::string` から `std::optional<std::string>` に修正
- @melpon

### misc

- [UPDATE] SDL2 を 2.30.7 にあげる
- @voluntas
- [ADD] sumomo に証明書に関するオプションを追加する
- サーバー証明書の検証を行わないようにするオプション `--insecure` を追加
- CA 証明書を指定するオプション `--ca-cert` を追加
- 指定できるファイルは PEM 形式
- クライアント認証に関するオプション `--client-cert`, `--client-key` を追加
- 指定できるファイルは PEM 形式
- @melpon
- [ADD] Ubuntu 24.04 armv8 向けの example を追加する
- @melpon

## 2024.7.0

Expand Down
10 changes: 9 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ elseif (SORA_TARGET STREQUAL "ubuntu-24.04_x86_64")
set(SORA_TARGET_OS_VERSION "24.04")
set(SORA_TARGET_ARCH "x86_64")
set(SORA_TARGET_DEF "SORA_CPP_SDK_UBUNTU_2404")
elseif (SORA_TARGET STREQUAL "ubuntu-24.04_armv8")
set(SORA_TARGET_OS "ubuntu")
set(SORA_TARGET_OS_VERSION "24.04")
set(SORA_TARGET_ARCH "armv8")
set(SORA_TARGET_DEF "SORA_CPP_SDK_UBUNTU_2404")
endif()

list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
Expand Down Expand Up @@ -304,6 +309,9 @@ if (SORA_TARGET_OS STREQUAL "windows")
# VS のバージョンと _MSC_VER のリストは以下を参照:
# https://devblogs.microsoft.com/cppblog/msvc-toolset-minor-version-number-14-40-in-vs-2022-v17-10/
-allow-unsupported-compiler
# 更に STL が CUDA 12.4 以上のバージョンを要求するため、STL のバージョンも無視する
# ref: https://stackoverflow.com/questions/78515942/cuda-compatibility-with-visual-studio-2022-version-17-10
-Xcompiler /D_ALLOW_COMPILER_AND_STL_VERSION_MISMATCH
-Xcompiler /utf-8
-Xcompiler /I${CMAKE_CURRENT_SOURCE_DIR}/third_party/NvCodec/include
-Xcompiler /I${CMAKE_CURRENT_SOURCE_DIR}/third_party/NvCodec/NvCodec
Expand Down Expand Up @@ -490,7 +498,7 @@ elseif (SORA_TARGET_OS STREQUAL "ubuntu")
third_party/NvCodec/NvCodec/NvDecoder/NvDecoder.cpp
third_party/NvCodec/NvCodec/NvEncoder/NvEncoderCuda.cpp
PROPERTIES
COMPILE_OPTIONS "-xcuda;--cuda-gpu-arch=sm_35;-std=gnu++17"
COMPILE_OPTIONS "-xcuda;--cuda-gpu-arch=sm_35;-std=gnu++17;-Wno-tautological-constant-out-of-range-compare"
)

# CUDA を要求したくないので libsora.a に含める
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ Please read <https://github.com/shiguredo/oss/blob/master/README.en.md> before u

- 各プラットフォームで利用可能な HWA への対応
- [Intel VPL](https://github.com/intel/libvpl)
- VP9 / AV1 / H.264 / H.265
- AV1 / H.264 / H.265
- VP9 のデコードは利用可能ですが、エンコードは現在既知の問題があります。詳細は [known_issues.md](doc/known_issues.md) をお読みください。
- [NVIDIA Video Codec SDK](https://developer.nvidia.com/video-codec-sdk)
- VP9 / H.264 / H.265
- [NVIDIA JetPack SDK](https://developer.nvidia.com/embedded/jetpack) (JetPack 6)
Expand Down
14 changes: 7 additions & 7 deletions VERSION
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
SORA_CPP_SDK_VERSION=2024.7.0
WEBRTC_BUILD_VERSION=m128.6613.2.0
BOOST_VERSION=1.85.0
CMAKE_VERSION=3.29.6
SORA_CPP_SDK_VERSION=2024.8.0-canary.13
WEBRTC_BUILD_VERSION=m129.6668.1.0
BOOST_VERSION=1.86.0
CMAKE_VERSION=3.30.4
CUDA_VERSION=11.8.0-1
ANDROID_NDK_VERSION=r26b
ANDROID_NATIVE_API_LEVEL=29
ANDROID_SDK_CMDLINE_TOOLS_VERSION=9862592
VPL_VERSION=v2.10.1
VPL_VERSION=v2.13.0
OPENH264_VERSION=v2.4.1
BLEND2D_VERSION=06c52b5267c3c39dc3b09611d1bf066cbff35fd1
ASMJIT_VERSION=917f19d940935998aa9dfa7479368834451622f7
BLEND2D_VERSION=ca5403c1d02b2bc9d2de581e4cb13e5e80f33860
ASMJIT_VERSION=2e93826348d6cd1325a8b1f7629e193c58332da9
CATCH2_VERSION=v3.5.3
Loading

0 comments on commit 8e25c9b

Please sign in to comment.