Skip to content

Commit

Permalink
Merge branch 'release/2022.2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
voluntas committed Apr 24, 2022
2 parents 6384bdc + 4213379 commit e8243cb
Show file tree
Hide file tree
Showing 88 changed files with 3,648 additions and 570 deletions.
38 changes: 25 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: microsoft/[email protected]
- name: Get Versions
run: |
Get-Content "VERSION" | Foreach-Object {
Expand All @@ -29,13 +30,24 @@ jobs:
New-Variable -Name $var[0] -Value $var[1] -Force
}
echo "::set-output name=boost_version::${BOOST_VERSION}"
echo "::set-output name=wincuda_version::${WINCUDA_VERSION}"
id: versions
# Boost はよくダウンロード先に繋がらずエラーになるのでキャッシュする
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache\boost
key: windows-boost-${{ steps.versions.outputs.boost_version }}.zip.v5
# CUDA のインストールバイナリのダウンロードは 3GB ぐらいあって、
# ビルドの度に取得するのはつらいのでキャッシュする
# (インストールする nvcc は解凍後で 100MB 程度なのでキャッシュ可能)
- name: Cache NVCC ${{ steps.versions.outputs.wincuda_version }}
id: cache-cuda
uses: actions/cache@v3
with:
path: build\windows_x86_64\_install\cuda\nvcc
key: windows-cuda-${{ steps.versions.outputs.wincuda_version }}.v1
- run: "& .\\build.ps1 -package"
working-directory: build
timeout-minutes: 120
Expand All @@ -53,12 +65,12 @@ jobs:
echo "::set-output name=name::momo-${MOMO_VERSION}_windows-${WINVER_MAJOR}.${RELEASE_ID}_${{ matrix.arch }}.zip"
id: package_name
- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ steps.package_name.outputs.name }}
path: _package/${{ steps.package_name.outputs.name }}
- name: Upload Environment
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: windows_${{ matrix.arch }}.env
path: windows_${{ matrix.arch }}.env
Expand All @@ -80,7 +92,7 @@ jobs:
id: versions
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache/boost
key: macos-boost-${{ steps.versions.outputs.boost_version }}.tar.gz.v2
Expand All @@ -97,12 +109,12 @@ jobs:
echo "::set-output name=name::momo-${MOMO_VERSION}_macos-${MACOS_VERSION}_${{ matrix.arch }}.tar.gz"
id: package_name
- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ steps.package_name.outputs.name }}
path: _package/${{ steps.package_name.outputs.name }}
- name: Upload Environment
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: macos_${{ matrix.arch }}.env
path: macos_${{ matrix.arch }}.env
Expand All @@ -129,7 +141,7 @@ jobs:
id: versions
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache/boost
key: ${{ matrix.name }}-boost-${{ steps.versions.outputs.boost_version }}.tar.gz.v2
Expand All @@ -145,12 +157,12 @@ jobs:
echo "::set-output name=name::momo-${MOMO_VERSION}_${{ matrix.name }}.tar.gz"
id: package_name
- name: Upload Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ steps.package_name.outputs.name }}
path: _package/${{ steps.package_name.outputs.name }}
- name: Upload Environment
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.name }}.env
path: ${{ matrix.name }}.env
Expand All @@ -177,7 +189,7 @@ jobs:
shell: bash
run: echo "UPLOAD_URL='${{ steps.create_release.outputs.upload_url }}'" > create-release.env
- name: Upload create-release Environment
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: create-release.env
path: create-release.env
Expand All @@ -201,11 +213,11 @@ jobs:
- ubuntu-18.04_x86_64
- ubuntu-20.04_x86_64
steps:
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: ${{ matrix.name }}.env
path: ${{ matrix.name }}.env
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: create-release.env
path: create-release.env
Expand All @@ -218,7 +230,7 @@ jobs:
echo "::set-output name=content_type::$CONTENT_TYPE"
echo "::set-output name=upload_url::$UPLOAD_URL"
id: env
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
with:
name: ${{ steps.env.outputs.package_name }}
path: ${{ steps.env.outputs.package_name }}
Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/daily_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ jobs:
runs-on: windows-2019
steps:
- uses: actions/checkout@v3
- uses: microsoft/[email protected]
- name: Get Versions
run: |
Get-Content "VERSION" | Foreach-Object {
Expand All @@ -25,13 +26,20 @@ jobs:
New-Variable -Name $var[0] -Value $var[1] -Force
}
echo "::set-output name=boost_version::${BOOST_VERSION}"
echo "::set-output name=wincuda_version::${WINCUDA_VERSION}"
id: versions
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache\boost
key: windows-boost-${{ steps.versions.outputs.boost_version }}.zip.v5
- name: Cache NVCC ${{ steps.versions.outputs.wincuda_version }}
id: cache-cuda
uses: actions/cache@v3
with:
path: build\windows_x86_64\_install\cuda\nvcc
key: windows-cuda-${{ steps.versions.outputs.wincuda_version }}.v1
- run: "& .\\build.ps1 -package"
working-directory: build
timeout-minutes: 120
Expand All @@ -53,7 +61,7 @@ jobs:
id: versions
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache/boost
key: macos-boost-${{ steps.versions.outputs.boost_version }}.tar.gz.v2
Expand Down Expand Up @@ -83,7 +91,7 @@ jobs:
id: versions
- name: Cache Boost ${{ steps.versions.outputs.boost_version }}
id: cache-boost
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: _cache/boost
key: ${{ matrix.name }}-boost-${{ steps.versions.outputs.boost_version }}.tar.gz.v2
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,14 @@

momo
core
.vscode
*.tar.gz
webrtc_logs_0
.DS_Store
*.swp

/_build
/_source
/_install
/_package
/build/windows_*/_source
/build/windows_*/_build
Expand Down
104 changes: 104 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"configurations": [
{
"name": "Windows",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/NvCodec/include",
"${workspaceFolder}/NvCodec/NvCodec",
"${workspaceFolder}/build/windows_x86_64/_install/webrtc/include",
"${workspaceFolder}/build/windows_x86_64/_install/webrtc/include/third_party/abseil-cpp",
"${workspaceFolder}/build/windows_x86_64/_install/webrtc/include/third_party/boringssl/src/include",
"${workspaceFolder}/build/windows_x86_64/_install/webrtc/include/third_party/libyuv/include",
"${workspaceFolder}/build/windows_x86_64/_install/webrtc/include/third_party/zlib",
"${workspaceFolder}/build/windows_x86_64/_install/boost/include",
"${workspaceFolder}/build/windows_x86_64/_install/CLI11/include",
"${workspaceFolder}/build/windows_x86_64/_install/SDL2/include/SDL2",
"${workspaceFolder}/build/windows_x86_64/_install/cuda/nvcc/include",
"${workspaceFolder}/build/windows_x86_64/_install/msdk/include",
"${workspaceFolder}/_build/windows_x86_64"
],
"defines": [
"WEBRTC_WINDOWS",
"USE_NVCODEC_ENCODER=1",
"USE_MMAL_ENCODER=0",
"USE_JETSON_ENCODER=0",
"USE_H264=1",
"USE_SDL2=1",
"USE_LINUX_PULSE_AUDIO=0",
"USE_SCREEN_CAPTURER=1"
],
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "windows-msvc-x64"
},
{
"name": "Ubuntu 20.04 x86_64",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/NvCodec/include",
"${workspaceFolder}/NvCodec/NvCodec",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/webrtc/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/webrtc/include/third_party/abseil-cpp",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/webrtc/include/third_party/boringssl/src/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/webrtc/include/third_party/libyuv/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/webrtc/include/third_party/zlib",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/boost/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/CLI11/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/SDL2/include/SDL2",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/msdk/include",
"${workspaceFolder}/_install/ubuntu-20.04_x86_64/libva/include",
"${workspaceFolder}/_build/ubuntu-20.04_x86_64",
"/usr/local/cuda/include"
],
"defines": [
"WEBRTC_LINUX",
"USE_NVCODEC_ENCODER=1",
"USE_MSDK_ENCODER=1",
"USE_MMAL_ENCODER=0",
"USE_JETSON_ENCODER=0",
"USE_H264=1",
"USE_SDL2=1",
"USE_LINUX_PULSE_AUDIO=0",
"USE_SCREEN_CAPTURER=1"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
},
{
"name": "raspberry-pi-os_armv7 on Ubuntu 20.04 x86_64",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/NvCodec/include",
"${workspaceFolder}/NvCodec/NvCodec",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/webrtc/include",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/webrtc/include/third_party/abseil-cpp",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/webrtc/include/third_party/boringssl/src/include",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/webrtc/include/third_party/libyuv/include",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/webrtc/include/third_party/zlib",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/boost/include",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/CLI11/include",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/SDL2/include/SDL2",
"${workspaceFolder}/_install/raspberry-pi-os_armv7/rootfs/usr/include",
"${workspaceFolder}/_build/raspberry-pi-os_armv7"
],
"defines": [
"WEBRTC_LINUX",
"USE_NVCODEC_ENCODER=0",
"USE_MMAL_ENCODER=1",
"USE_JETSON_ENCODER=0",
"USE_H264=1",
"USE_SDL2=1",
"USE_LINUX_PULSE_AUDIO=0",
"USE_SCREEN_CAPTURER=0"
],
"compilerPath": "${workspaceFolder}/_install/raspberry-pi-os_armv7/llvm/clang/bin/clang",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"[cpp]": {
"editor.formatOnSave": true
}
}
25 changes: 25 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,31 @@

## develop

## 2022.2.0

- [UPDATE] CLI11 を 2.2.0 に上げる
- @voluntas
- [UPDATE] Boost 1.79.0 に上げる
- @voluntas
- [UPDATE] `libwebrtc``M102.5005@{#1}` に上げる
- @tnoho @voluntas
- [ADD] `--client-cert``--client-key` でクライアント認証をできるようにする
- @melpon
- [ADD] Windows と Ubuntu で NVIDIA VIDEO CODEC SDK を使ったハードウェアデコーダに対応
- @melpon
- [ADD] Windows x86_64 と Ubuntu 20.04 x86_64 で Intel Media SDK に対応
- @melpon
- [FIX] Ubuntu 20.04 + H.264 + サイマルキャスト + --hw-mjpeg-decoder true で落ちるのを修正 (#221)
- @melpon
- [FIX] Raspberry Pi + H.264 + --hw-mjpeg-decoder true で、カメラの種類によっては動かないことがあるのを修正 (#141)
- @melpon
- [FIX] Raspberry Pi + H.264 + サイマルキャスト + --hw-mjpeg-decoder true で動かないのを修正 (#236)
- @melpon
- [FIX] libwebrtc m100 で make_ref_counted を使って scoped_refptr を作るようになったので修正
- @tnoho
- [FIX] SDL のビルドが mac では declaration-after-statement に触れてビルドが通らないのでパッチで回避
- @tnoho

## 2022.1.0

- [UPDATE] Raspberry Pi OS bullseye に対応
Expand Down
Loading

0 comments on commit e8243cb

Please sign in to comment.