Skip to content

Build WebRTC Audio DSP for FFM #9

Build WebRTC Audio DSP for FFM

Build WebRTC Audio DSP for FFM #9

Workflow file for this run

name: Build WebRTC Audio DSP for FFM
on:
workflow_dispatch:
jobs:
build:
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install depot_tools
shell: powershell
run: |
Invoke-WebRequest -Uri "https://storage.googleapis.com/chrome-infra/depot_tools.zip" -OutFile depot_tools.zip
Expand-Archive -Path depot_tools.zip -DestinationPath depot_tools
echo "$pwd\depot_tools" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
echo "DEPOT_TOOLS_WIN_TOOLCHAIN=0" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Fetch WebRTC Source (Optimized)
shell: cmd
run: |
mkdir webrtc_build
cd webrtc_build
call gclient config --name=src https://webrtc.googlesource.com/src.git
echo target_os = ['win'] >> .gclient
echo custom_vars = { 'checkout_configuration': 'small' } >> .gclient
call gclient sync --no-history --nohooks
- name: Inject C Wrapper and GN Targets
run: |
python scripts/generate_webrtc_wrapper.py
working-directory: ${{ github.workspace }}
- name: Compile WebRTC DLL
shell: cmd
run: |
cd webrtc_build\src
:: 手动补齐缺失的 LASTCHANGE 状态文件
if not exist build\util mkdir build\util
echo 1700000000 > build\util\LASTCHANGE.committime
echo LASTCHANGE=0000000000000000000000000000000000000000 > build\util\LASTCHANGE
call gn gen out/Release "--args=target_os=\"win\" is_debug=false is_component_build=false rtc_include_tests=false rtc_build_examples=false rtc_build_tools=false rtc_enable_video=false rtc_enable_protobuf=false rtc_use_x11=false rtc_include_ilbc=false rtc_include_opus=false rtc_include_internal_audio_device=false clang_use_chrome_plugins=false"
call ninja -C out/Release webrtc_ffm
- name: Upload Output Artifacts
uses: actions/upload-artifact@v4
with:
name: webrtc-ffm-windows
path: |
webrtc_build/src/out/Release/webrtc_ffm.dll
webrtc_build/src/ffm_wrapper/webrtc_ffm.h