Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
a08c6ee
Updated files for release M111
Mar 8, 2023
c0ca0cf
Updated files for release M112
Apr 14, 2023
32526e6
Updated files for release M113
May 3, 2023
938564a
Updated files for release M114
May 31, 2023
2c1113a
Added debug print for release script
stasel Jun 14, 2023
4d2249d
Update README to fix google Docs reference
allen-spicer-scoot Jun 22, 2023
9b7933f
Updated files for release M115
Jul 19, 2023
5544c37
Added auth token to get release api call to prevent rate limits on pu…
stasel Jul 20, 2023
c487cd3
Updated files for release M116
Aug 16, 2023
046c905
Updated files for release M117
Sep 13, 2023
a5f4d8f
Updated files for release M118
Oct 11, 2023
7a9f5e1
Updated files for release M119
Nov 1, 2023
3edaa8f
Updated files for release M120
Dec 6, 2023
4ae3a07
Update webrtc-release.yml
stasel Jan 7, 2024
463d4d2
Updated files for release M121
Jan 24, 2024
7cd3f79
Added option to trigger manual build, included new flag
stasel Feb 5, 2024
04862e4
Added artifact upload to manual build workflow
stasel Feb 5, 2024
0181023
Save the gn args used to txt file, fix opengl flag
stasel Feb 6, 2024
821fd35
Updated files for release M122
Feb 21, 2024
cdf22db
Updated files for release M123
Mar 20, 2024
cbe7267
Updated files for release M124
Apr 17, 2024
b4f5a90
Release M125 (#98)
github-actions[bot] May 18, 2024
52dc517
Updated files for release M126 (#100)
github-actions[bot] Jun 18, 2024
dc5ad15
Updated files for release M127 (#101)
github-actions[bot] Jul 31, 2024
094c4fc
Updated files for release M128 (#102)
github-actions[bot] Aug 28, 2024
c7670a5
Updated files for release M129 (#104)
github-actions[bot] Sep 26, 2024
1048f83
Updated files for release M130 (#106)
github-actions[bot] Oct 21, 2024
8e11d8c
Updated files for release M131 (#114)
github-actions[bot] Mar 4, 2025
41ee950
Added third_part folder to .gitignore
stasel Mar 5, 2025
9fc7e36
Added Release notes link to the release script
stasel Mar 5, 2025
0f4e1ba
Fixed an issue where unnecessary files get commit to the git branch
stasel Mar 5, 2025
6000edd
Updated files for release M132 (#115)
github-actions[bot] Mar 5, 2025
fd55a7d
Updated files for release M133 (#117)
github-actions[bot] Mar 5, 2025
81d8089
Enable manual trigger for the release action
stasel Mar 5, 2025
8935b85
Update README.md
stasel Mar 5, 2025
5b2eb61
Updated files for release M134 (#118)
github-actions[bot] Mar 5, 2025
e15b694
Updated files for release M135 (#120)
github-actions[bot] Apr 9, 2025
57c8881
Updated files for release M136 (#123)
github-actions[bot] May 7, 2025
b85669f
Updated files for release M137 (#125)
github-actions[bot] May 30, 2025
820d216
Updated files for release M138 (#126)
github-actions[bot] Jul 6, 2025
d8f4716
Updated files for release M139 (#128)
github-actions[bot] Aug 15, 2025
86dbb5c
Updated files for release M140 (#129)
github-actions[bot] Sep 10, 2025
117d290
Updated files for release M141 (#131)
github-actions[bot] Oct 5, 2025
726189d
Fix release workflow build failures (#137)
DePasqualeOrg Mar 26, 2026
2352635
2026 updates (#139)
stasel Mar 27, 2026
0062ca8
Updated files for release M146 (#143)
github-actions[bot] Mar 27, 2026
d09f067
Update description in podspec
stasel Mar 27, 2026
e8b5efb
Updated files for release M147 (#144)
github-actions[bot] Apr 8, 2026
7b7272a
Updated files for release M148 (#146)
github-actions[bot] Jun 6, 2026
9987fbd
Updated files for release M149 (#151)
github-actions[bot] Jun 9, 2026
1add557
minor reorder
stasel Jun 9, 2026
ff4647d
Fixed incorrect checksum
stasel Jun 18, 2026
2f30b9f
Update Xcode version to 26.5
stasel Jul 1, 2026
9424016
Fixed macOS arm64 builds broke in M150 (#155)
stasel Jul 10, 2026
6ed87f0
Updated files for release M150 (#156)
github-actions[bot] Jul 11, 2026
6c01ed1
Update README.md
stasel Jul 11, 2026
3bdb63f
Fix GitHub Actions badge link in README
stasel Jul 11, 2026
19aa8c1
Updated files for release M151 (#157)
github-actions[bot] Aug 7, 2026
88815a6
Added dSYM files to the release process. Removed M150 macOS temp patch
stasel Aug 30, 2026
e5f94ed
Fixed an issue with metadata json parsing
stasel Aug 31, 2026
d141c31
Fix another issue with the release script and dsym upload
stasel Aug 31, 2026
1eadf89
Update Package.swtich with the new M151 hash
stasel Aug 31, 2026
852c134
Added better dSYM extraction and fixed missing dSYMs
stasel Aug 31, 2026
9e96ffe
Update readme to reflect the status of H265 libraries
stasel Aug 31, 2026
1d04692
Updated files for release M152 (#163)
github-actions[bot] Aug 31, 2026
c192cf2
Bootstrap depot_tools before running fetch to ensure that the correct…
stasel Sep 11, 2026
4266157
Updated files for release M153 (#165)
github-actions[bot] Sep 11, 2026
0c0ad84
Updated files for release M154 (#167)
github-actions[bot] Sep 30, 2026
979c886
Bumped minimum deployment target versions
stasel Sep 30, 2026
44f3678
Updated files for release M155 (#171)
github-actions[bot] Oct 12, 2026
c5fecc1
build: merge upstream stasel/WebRTC M155
shumvgolove Oct 21, 2026
29ca1ae
patches: port frame encryption to M156
shumvgolove Oct 21, 2026
e42db26
ci: build with Xcode 26.6 for M156
shumvgolove Oct 21, 2026
aab685f
patches: zero-copy frames, error code and tests
shumvgolove Oct 21, 2026
a26f8e3
ci: build xcframework artifact on push
shumvgolove Oct 22, 2026
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
69 changes: 69 additions & 0 deletions .github/workflows/webrtc-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: WebRTC Build
run-name: WebRTC Build

env:
XCODE_VERSION: 26.6
WEBRTC_BRANCH: branch-heads/8078

on:
workflow_dispatch:
inputs:
branch:
description: "webRTC branch head. Ex: branch-heads/6167"
required: true
default: "branch-heads/8078"
type: string
ios:
description: "Build iOS libraries"
required: true
default: true
type: boolean
macos:
description: "Build macOS libraries"
required: true
default: false
type: boolean
maccatalyst:
description: "Build macOS Catalyst libraries"
required: true
default: false
type: boolean
push:
paths:
- ".github/workflows/webrtc-build.yml"
- "patches/**"
- "scripts/**"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Build-Script:
runs-on: macos-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Check out repository code
uses: actions/checkout@v6
# WebRTC milestone branches ship with frozen Chromium buildtools that
# only support the Xcode/SDK version current at the time of the branch
# cut. Newer Xcode versions introduce SDK framework splits (e.g.
# DarwinFoundation, UIUtilities) that break the build. Pin to the
# version expected by the buildtools (see build/mac_toolchain.py in
# the WebRTC source for each milestone).
- name: Setup Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app

- name: Building WebRTC framework
run: |
sh scripts/clean.sh
sh scripts/build.sh
env:
BRANCH: ${{ inputs.branch || env.WEBRTC_BRANCH }}
IOS: ${{ github.event_name == 'push' || inputs.ios }}
MACOS: ${{ github.event_name == 'workflow_dispatch' && inputs.macos }}
MAC_CATALYST: ${{ github.event_name == 'workflow_dispatch' && inputs.maccatalyst }}
- name: Upload framework
uses: actions/upload-artifact@v6
with:
name: WebRTC.xcframework
path: out/WebRTC-*.xcframework.zip
33 changes: 26 additions & 7 deletions .github/workflows/webrtc-release.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,40 @@
name: WebRTC Release
run-name: WebRTC Release
on: workflow_dispatch

env:
XCODE_VERSION: 26.6

on:
workflow_dispatch:
jobs:
Build-Script:
runs-on: macos-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
uses: actions/checkout@v6
# WebRTC milestone branches ship with frozen Chromium buildtools that
# only support the Xcode/SDK version current at the time of the branch
# cut. Newer Xcode versions introduce SDK framework splits (e.g.
# DarwinFoundation, UIUtilities) that break the build. Pin to the
# version expected by the buildtools (see build/mac_toolchain.py in
# the WebRTC source for each milestone).
#
# To find which Xcode version is available by which runner:
# https://github.com/actions/runner-images/tree/main/images/macos
- name: Setup Xcode
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app

- name: Set up Python 3.x
uses: actions/setup-python@v4
uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Running WebRTC weekly release checks

- name: Install dependencies
run: pip install requests

- name: Running WebRTC release checks
run: |
sh clean.sh
pip install requests python-telegram-bot
sh scripts/clean.sh
python -u scripts/release.py
- run: echo "🍏 This job's status is ${{ job.status }}."
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
.DS_Store
.gclient
.gclient_entries
.gcs_entries
depot_tools
src
.cipd
.gclient_previous_sync_commits
.gclient_previous_sync_commits
third_party
.build
out
26 changes: 15 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,30 @@
# WebRTC Binaries for iOS and macOS
[![Latest version](https://img.shields.io/github/v/release/stasel/webrtc)](https://github.com/stasel/WebRTC/releases)
[![Cocoapods](https://img.shields.io/cocoapods/v/WebRTC-lib)](https://cocoapods.org/pods/WebRTC-lib)
[![Release Date](https://img.shields.io/github/release-date/stasel/webrtc)](https://github.com/stasel/WebRTC/releases)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/stasel/WebRTC/webrtc-release.yml?branch=latest&label=Release%20job)](https://github.com/stasel/WebRTC/actions/workflows/webrtc-release.yml)
[![Total Downloads](https://img.shields.io/github/downloads/stasel/webrtc/total)](https://github.com/stasel/WebRTC/releases)
[![Cocoapods](https://img.shields.io/cocoapods/v/WebRTC-lib)](https://cocoapods.org/pods/WebRTC-lib)


This repository contains unofficial distribution of WebRTC framework binaries for iOS and macOS.
This repository contains a community-driven distribution of WebRTC framework binaries for iOS and macOS.

Since version M80, Google has [deprecated](https://groups.google.com/g/discuss-webrtc/c/Ozvbd0p7Q1Y/m/M4WN2cRKCwAJ?pli=1) their mobile binary libraries distributions (Was officially using the [GoogleWebRTC pod](https://cocoapods.org/pods/GoogleWebRTC)). To get the most up to date WebRTC library, you can compile it on your own, or you can use precompiled binaries from here or other sources.

## 📦 Releases
The binary releases correspond with official Chromium releases and branches as specified in the [Chromium dashboard](https://chromiumdash.appspot.com/branches).

## 💡 Things to know
* All binaries in this repository are compiled from the official WebRTC [source code](https://webrtc.googlesource.com/src/) without any modifications to the source code or to the output binaries.
* All binaries in this repository are compiled from the official WebRTC [source code](https://webrtc.googlesource.com/src/) .
* No modifications are made to the source code or the output binaries.
* The build process is open source using GitHub actions.
* Dynamic framework (xcframework format) which contains multiple binaries for macOS and iOS.
* Since [Xcode 14](https://developer.apple.com/documentation/Xcode-Release-Notes/xcode-14-release-notes), bitcode is deprecated. Version M103 and above does not include bitcode.
* Added support for extra encodings: VP9, H264 and AV1.
* H.265 / HEVC: the SDP negotiation and RTP packetization layer is compiled but WebRTC ships no HEVC encoder or decoder for Apple platforms.
* dSYM files are included in case you need them. You can download them from the [releases page](https://github.com/stasel/WebRTC/releases). *(Available from version M152).*

## 📢 Requirements
* iOS 12+
* macOS 10.11+
* iOS 15+
* macOS 12+
* macOS Catalyst 11.0+

## 📀 Binaries included
Expand All @@ -40,7 +45,7 @@ Xcode has a built-in support for Swift package manager. You can easily add the p
Or, you can add the following dependency to your `Package.swift` file:
```swift
dependencies: [
.package(url: "https://github.com/stasel/WebRTC.git", .upToNextMajor("110.0.0"))
.package(url: "https://github.com/stasel/WebRTC.git", .upToNextMajor("155.0.0"))
]
```

Expand All @@ -65,7 +70,6 @@ pod install
Read more about Cocoapods: https://cocoapods.org

### Carthage
**Requires Carthage version 0.38 or higher**

Add the following dependency to the `Cartfile` in your project:
```
Expand Down Expand Up @@ -96,10 +100,10 @@ If you wish to see how to use WebRTC I highly recommend checking out my WebRTC d

## 🛠 Compile your own WebRTC Frameworks
If you wish to compile your own WebRTC binary framework, please refer to the following official guide:
https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/ios/index.md
https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/ios/README.md

You can also take a look at the [build script](scripts/build.sh) I created for more details.

## 📃 License
* BSD 3-Clause License
## 📃 Licenses
* Build scripts (this repository): `BSD 3-Clause License`
* WebRTC License: https://webrtc.org/support/license
1 change: 0 additions & 1 deletion clean.sh

This file was deleted.

Loading
Loading