Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
0314250
fix: Crash on the device that does not support NvEnc API . (#1009)
kannan-xiao4 Dec 22, 2023
20f9fcc
Improve API documentation
miyabi Dec 2, 2024
675aae3
Improve documentation of VideoStreamTrack
miyabi Dec 3, 2024
61a2df9
Improve documentation of MediaStream
miyabi Dec 4, 2024
ab8688d
Improve documentation of RTCConfiguration
miyabi Dec 4, 2024
5e81a90
Improve documentation of MediaStreamTrack
miyabi Dec 4, 2024
3ff2669
Improve documentation of AudioStreamTrack
miyabi Dec 4, 2024
2624896
Improve documentation of WebRTC
miyabi Dec 5, 2024
bf79d5c
On the way.
H3idi-X Dec 5, 2024
5c4841a
Improve documentation of RTCRtpTransceiver
miyabi Dec 5, 2024
d82841c
On the way.
H3idi-X Dec 5, 2024
2e69325
Improve documentation of RTCIceServer
miyabi Dec 5, 2024
cd0b433
Refine examples
miyabi Dec 5, 2024
32eca46
On the way.
H3idi-X Dec 5, 2024
f64a20f
Added summary for RTCDataChannelInit class.
H3idi-X Dec 6, 2024
8f0d3ee
Added Exceptions doc to Send().
H3idi-X Dec 6, 2024
ad2eb42
Improve documentation of RTCRtpSender
miyabi Dec 5, 2024
ee7ff4a
Improved the example in RTCDataChannel.
H3idi-X Dec 6, 2024
8bb3a9a
Improve examples
miyabi Dec 6, 2024
9d606e8
Improve examples
miyabi Dec 6, 2024
5fc363f
Added some Remarks.
H3idi-X Dec 6, 2024
7d4475b
Improve examples
miyabi Dec 6, 2024
b9ce87e
Improve examples
miyabi Dec 6, 2024
626520a
Improve examples
miyabi Dec 6, 2024
9f15add
Improve examples
miyabi Dec 6, 2024
63c9a48
Improve examples
miyabi Dec 6, 2024
cb78380
Improve examples
miyabi Dec 6, 2024
551f5c2
Improve examples
miyabi Dec 6, 2024
ca45247
Adding Remarks.
H3idi-X Dec 6, 2024
76ebbf0
Added Remarks.
H3idi-X Dec 6, 2024
3f49aa3
Added sample programs.
H3idi-X Dec 6, 2024
359647b
Fixed typo "chennel".
H3idi-X Dec 6, 2024
6c4b2b9
Imroved description for ordered.
H3idi-X Dec 6, 2024
58b4030
modifying summaries.
H3idi-X Dec 6, 2024
dc44808
Improved protocol property.
H3idi-X Dec 6, 2024
5f26411
Done for RTCDataChannelInit.
H3idi-X Dec 6, 2024
94d38f0
Update Runtime/Scripts/WebRTC.cs
miyabi Dec 6, 2024
d93306d
wip.
H3idi-X Dec 6, 2024
f10c14b
Improve documentation of RTCRtpEncodingParameters
miyabi Dec 6, 2024
e4a1f0b
Filled the all.
H3idi-X Dec 6, 2024
f87b460
Added more samples.
H3idi-X Dec 6, 2024
13633cb
Improved exception.
H3idi-X Dec 6, 2024
4744deb
fixing source code formatting errors.
H3idi-X Dec 6, 2024
7be2aa7
refactor: move CameraExtension class to its own file (#1064)
sindharta-tanuwijaya Dec 6, 2024
2a45b24
Merge pull request #1062 from Unity-Technologies/dw24-rtc-ice-server
miyabi Dec 6, 2024
367a809
Merge pull request #1054 from Unity-Technologies/dw24-rtc-peer-connec…
miyabi Dec 6, 2024
ee44344
Merge pull request #1056 from Unity-Technologies/dw24-media-stream
miyabi Dec 6, 2024
ccfb6cd
Update Runtime/Scripts/MediaStreamTrack.cs
miyabi Dec 6, 2024
803a3ca
Update Runtime/Scripts/AudioStreamTrack.cs
miyabi Dec 6, 2024
e8019ed
Update Runtime/Scripts/AudioStreamTrack.cs
miyabi Dec 6, 2024
7901301
Update Runtime/Scripts/AudioStreamTrack.cs
miyabi Dec 6, 2024
f9cfb8a
Update Runtime/Scripts/AudioStreamTrack.cs
miyabi Dec 6, 2024
0733fc1
Merge pull request #1057 from Unity-Technologies/dw24-media-stream-track
miyabi Dec 7, 2024
264855e
Merge pull request #1059 from Unity-Technologies/dw24-audio-stream-track
miyabi Dec 7, 2024
fc412f0
Update Runtime/Scripts/WebRTC.cs
miyabi Dec 7, 2024
e788e47
Update Runtime/Scripts/WebRTC.cs
miyabi Dec 7, 2024
e0d48e3
Update Runtime/Scripts/WebRTC.cs
miyabi Dec 7, 2024
ecff9a5
Update Runtime/Scripts/WebRTC.cs
miyabi Dec 7, 2024
8741a13
Merge pull request #1060 from Unity-Technologies/dw24-web-rtc
miyabi Dec 8, 2024
e070605
Merge pull request #1061 from Unity-Technologies/dw24-rtc-rtp-transce…
miyabi Dec 8, 2024
9b04294
Merge pull request #1063 from Unity-Technologies/dw24-rtc-rtp-sender
miyabi Dec 8, 2024
9140e6d
Merge pull request #1065 from Unity-Technologies/dw24-rtc-rtp-encodin…
miyabi Dec 8, 2024
92acf6f
Merge branch 'main' into dw24-video-stream-track
miyabi Dec 9, 2024
dbddf28
gitignore: ignore UserSettings and Logs (#1068)
sindharta-tanuwijaya Dec 9, 2024
d04d871
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
cc15a51
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
abc7da1
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
7497294
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
f0b2db3
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
ed7b2df
Update Runtime/Scripts/RTCDataChannel.cs
H3idi-X Dec 9, 2024
83504ee
Merge pull request #1055 from Unity-Technologies/dw24-video-stream-track
miyabi Dec 9, 2024
dc50e85
Merge pull request #1058 from Unity-Technologies/dw24-rtc-configuration
miyabi Dec 9, 2024
00111d4
Merge pull request #1066 from Unity-Technologies/dw24-rtc-data-channel
H3idi-X Dec 10, 2024
77204e0
doc: improve the API doc of RTCSessionDescription (#1067)
sindharta-tanuwijaya Dec 10, 2024
789f720
project: add a symbolic link to the Documentation folder (#1070)
sindharta-tanuwijaya Dec 10, 2024
d0059ad
doc: improve the API doc of CameraExtension (#1073)
sindharta-tanuwijaya Dec 11, 2024
f113e24
readme: update Unity badges (#1074)
sindharta-tanuwijaya Dec 12, 2024
5f873f2
release: 3.0.0-pre.8 (#1075)
sindharta-tanuwijaya Dec 13, 2024
c376696
experimental: Experimental WebGL implementation (#478)
Thaina Dec 17, 2023
d440b1c
update 3.0 for webgl branch
Thaina Jan 12, 2025
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
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ body:
What version of the package are you using?
You can check the Unity version in Package Manager Window. See [manual](https://docs.unity3d.com/Manual/upm-ui.html).
options:
- 3.0.0-pre.8
- 3.0.0-pre.7
- 3.0.0-pre.6
- 3.0.0-pre.5
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ upm-ci~/
Plugin~/webrtc/*
WebRTC~/CodeCoverage
WebRTC~/TestResults-*
WebRTC~/Logs
*.dbmdl
*.dbproj.schemaview
*.jfm
Expand Down Expand Up @@ -359,6 +360,7 @@ Plugin~/WebRTCPluginTest/webrtc-test.xcodeproj/*
[Tt]emp/
[Oo]bj/
[Bb]uild/
[Uu]serSettings/

# Exclude Documentation folder
!Documentation~
Expand Down
86 changes: 86 additions & 0 deletions .yamato/upm-ci-webrtc-packages.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,59 @@
{% metadata_file .yamato/package.metafile %}
{% metadata_file .yamato/meta/environments.yml %}

editors:
- version: 2019.4
- version: 2020.3
- version: 2021.2

platforms:
- name: win
type: Unity::VM
gpu_type: Unity::VM::GPU
image: renderstreaming/win10:v0.3.7-728388
gpu_image: renderstreaming/win10:v0.3.7-728285
flavor: b1.large
model: rtx2080
build_command: BuildScripts~/build_plugin_win.cmd
test_command: BuildScripts~/test_plugin_win.cmd
plugin_path: Runtime/Plugins/x86_64/webrtc.dll
- name: linux
type: Unity::VM
gpu_type: Unity::VM::GPU
image: renderstreaming/ubuntu-18.04:latest
gpu_image: renderstreaming/ubuntu-18.04:latest
flavor: b1.large
model: rtx2080
build_command: BuildScripts~/build_plugin_linux.sh
test_command: BuildScripts~/test_plugin_linux.sh
plugin_path: Runtime/Plugins/x86_64/libwebrtc.so
- name: macos
type: Unity::metal::macmini
gpu_type: Unity::metal::macmini
image: package-ci/mac:latest
gpu_image: package-ci/mac:latest
flavor: m1.mac
build_command: BuildScripts~/build_plugin_mac.sh
test_command: BuildScripts~/test_plugin_mac.sh
plugin_path: Runtime/Plugins/macOS/webrtc.bundle/**
- name: ios
type: Unity::metal::macmini
gpu_type: Unity::metal::macmini
image: package-ci/mac:latest
gpu_image: package-ci/mac:latest
flavor: m1.mac
build_command: BuildScripts~/build_plugin_ios.sh
test_command: BuildScripts~/test_plugin_ios.sh
plugin_path: Runtime/Plugins/iOS/webrtc.framework/**
- name: android
type: Unity::VM
gpu_type: Unity::VM
image: renderstreaming/android-linux-build:latest
gpu_image: renderstreaming/android-linux-build:latest
flavor: b1.large
build_command: BuildScripts~/build_plugin_android.sh
test_command: BuildScripts~/test_plugin_android.sh
plugin_path: Runtime/Plugins/Android/libwebrtc.aar

test_targets:
- name: win
Expand Down Expand Up @@ -316,6 +371,37 @@ test_{{ package.name }}_{{ editor.version }}_android_{{ target.name }}:
paths:
- "build/test-results/**"
{% endfor %}

test_{{ package.name }}_{{ editor.version }}_webgl_win:
name: Test {{ package.packagename }} with {{ editor.version }} on WebGL Windows
agent:
type: Unity::VM::GPU
image: package-ci/win10:stable
flavor: b1.large
dependencies:
- .yamato/upm-ci-{{ package.name }}-packages.yml#pack_{{ package.name }}
commands:
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
- unity-downloader-cli -u {{ editor.version }} -c WebGL -c Editor -c StandaloneSupport-IL2CPP --fast -w
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr.bat --output utr.bat
- ./utr --suite=playmode --platform=WebGL --editor-location=.Editor --testproject=WebRTC~ --artifacts_path=build/test-results --timeout=5400

test_{{ package.name }}_{{ editor.version }}_webgl_macos:
name: Test {{ package.packagename }} with {{ editor.version }} on WebGL macOS
agent:
type: Unity::VM::osx
image: package-ci/mac:latest
flavor: m1.mac
dependencies:
- .yamato/upm-ci-{{ package.name }}-packages.yml#pack_{{ package.name }}
commands:
- find upm-ci~/packages/ -name "*.tgz" | xargs -I file tar xvf file -C upm-ci~
- cp -rf upm-ci~/package/Runtime/Plugins Runtime/
- pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple
- unity-downloader-cli -u {{ editor.version }} -c WebGL -c Editor -c StandaloneSupport-IL2CPP --fast -w
- curl -s https://artifactory.prd.it.unity3d.com/artifactory/unity-tools/utr-standalone/utr --output utr
- chmod +x ./utr
- ./utr --suite=playmode --platform=WebGL --editor-location=.Editor --testproject=WebRTC~ --artifacts_path=build/test-results --timeout=5400
{% endfor %}

{% for target in test_targets %}
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,25 @@ All notable changes to the webrtc package will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [3.0.0-pre.8] - 2024-12-12

### Changed
- doc: improve the API doc of CameraExtension
- doc: improve the API doc of RTCSessionDescription
- doc: improve the API doc of RTCDataChannel
- doc: Improve the API doc of RTCConfiguration
- doc: Improve the API doc of RTCRtpEncodingParameters
- doc: Improve the API doc of RTCRtpSender
- doc: Improve the API doc of RTCRtpTransceiver
- doc: Improve the API doc of WebRTC
- doc: Improve the API doc of AudioStreamTrack
- doc: Improve the API doc of VideoStreamTrack
- doc: Improve the API doc of MediaStreamTrack
- doc: Improve the API doc of MediaStream
- doc: Improve the API doc of RTCPeerConnection
- doc: Improve the API doc of RTCIceServer


## [3.0.0-pre.7] - 2023-10-20

### Added
Expand Down
2 changes: 1 addition & 1 deletion Documentation~/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Check Package Manager window, Click `+` button and select `Add package from git
Input the string below to the input field.

```
[email protected].7
[email protected].8
```

The list of version string is [here](https://github.com/Unity-Technologies/com.unity.webrtc/tags). In most cases, the latest version is recommended to use.
Expand Down
13 changes: 8 additions & 5 deletions Plugin~/WebRTCPlugin/Codec/CreateVideoCodecFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,16 @@ namespace webrtc
if (impl == kNvCodecImpl)
{
#if CUDA_PLATFORM
if (gfxDevice && gfxDevice->IsCudaSupport() && NvEncoder::IsSupported())
if (gfxDevice && gfxDevice->IsCudaSupport())
{
CUcontext context = gfxDevice->GetCUcontext();
NV_ENC_BUFFER_FORMAT format = gfxDevice->GetEncodeBufferFormat();
std::unique_ptr<VideoEncoderFactory> factory =
std::make_unique<NvEncoderFactory>(context, format, profiler);
return CreateSimulcastEncoderFactory(std::move(factory));
if (NvEncoder::IsSupported(context))
{
NV_ENC_BUFFER_FORMAT format = gfxDevice->GetEncodeBufferFormat();
std::unique_ptr<VideoEncoderFactory> factory =
std::make_unique<NvEncoderFactory>(context, format, profiler);
return CreateSimulcastEncoderFactory(std::move(factory));
}
}
#endif
}
Expand Down
31 changes: 28 additions & 3 deletions Plugin~/WebRTCPlugin/Codec/NvCodec/NvCodec.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -146,15 +146,40 @@ namespace webrtc
return std::make_unique<NvEncoderImpl>(codec, context, memoryType, format, profiler);
}

bool NvEncoder::IsSupported()
bool NvEncoder::IsSupported(CUcontext context)
{
uint32_t version = 0;
uint32_t currentVersion = (NVENCAPI_MAJOR_VERSION << 4) | NVENCAPI_MINOR_VERSION;
NVENC_API_CALL(NvEncodeAPIGetMaxSupportedVersion(&version));
if (currentVersion > version)
NVENCSTATUS result = NvEncodeAPIGetMaxSupportedVersion(&version);
if (result != NV_ENC_SUCCESS || currentVersion > version)
{
return false;
}

// Check if this device can get the function list of nvencoder API
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
NV_ENCODE_API_FUNCTION_LIST funclist = { NV_ENCODE_API_FUNCTION_LIST_VER };
result = NvEncodeAPICreateInstance(&funclist);
if (result != NV_ENC_SUCCESS || funclist.nvEncOpenEncodeSession == nullptr)
{
return false;
}

// Check if this device can open encode session
#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS encodeSessionExParams = { NV_ENC_OPEN_ENCODE_SESSION_EX_PARAMS_VER };
encodeSessionExParams.device = context;
encodeSessionExParams.deviceType = NV_ENC_DEVICE_TYPE_CUDA;
encodeSessionExParams.apiVersion = NVENCAPI_VERSION;
void* hEncoder = nullptr;
result = funclist.nvEncOpenEncodeSessionEx(&encodeSessionExParams, &hEncoder);
if (result != NV_ENC_SUCCESS || hEncoder == nullptr)
{
return false;
}

funclist.nvEncDestroyEncoder(hEncoder);
hEncoder = nullptr;
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion Plugin~/WebRTCPlugin/Codec/NvCodec/NvCodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ namespace webrtc
CUmemorytype memoryType,
NV_ENC_BUFFER_FORMAT format,
ProfilerMarkerFactory* profiler);
static bool IsSupported();
static bool IsSupported(CUcontext context);
~NvEncoder() override { }
};

Expand Down
5 changes: 3 additions & 2 deletions Plugin~/WebRTCPluginTest/NvCodec/NvCodecTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,12 @@ namespace webrtc
GTEST_SKIP() << "The graphics driver is not installed on the device.";
if (!device_->IsCudaSupport())
GTEST_SKIP() << "CUDA is not supported on this device.";
if (!NvEncoder::IsSupported())
GTEST_SKIP() << "Current Driver Version does not support this NvEncodeAPI version.";

context_ = device_->GetCUcontext();

if (!NvEncoder::IsSupported(context_))
GTEST_SKIP() << "Current Driver Version does not support this NvEncodeAPI version.";

VideoCodecTest::SetUp();
}

Expand Down
57 changes: 29 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

<img src="https://img.shields.io/badge/unity-2020.3-green.svg?style=flat-square" alt="unity 2020.3">
<img src="https://img.shields.io/badge/unity-2021.3-green.svg?style=flat-square" alt="unity 2021.3">
<img src="https://img.shields.io/badge/unity-2022.1-green.svg?style=flat-square" alt="unity 2022.3">
<img src="https://img.shields.io/badge/unity-2022.1-green.svg?style=flat-square" alt="unity 2023.1">
<img src="https://img.shields.io/badge/unity-2022.3-green.svg?style=flat-square" alt="unity 2022.3">
<img src="https://img.shields.io/badge/unity-6000.0-green.svg?style=flat-square" alt="unity 2023.1">

**WebRTC for Unity** is a package that allows [WebRTC](https://webrtc.org) to be used in Unity.

Expand Down Expand Up @@ -32,32 +32,33 @@ Please read this if you have an interest to customize native code in this projec

## Roadmap

| Version | libwebrtc version | Focus | When |
| ------- | ----------------- | ----- | ---- |
| `1.0.0-preview` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg) | - First release | Sep 2019 |
| `1.1.0-preview` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg) | - IL2CPP Support<br> - Linux platform Support<br/> - Add software encoder | Feb 2020 |
| `2.0.0-preview` | [M79](https://groups.google.com/d/msg/discuss-webrtc/Ozvbd0p7Q1Y) | - Multi camera <br>- DirectX12 (DXR) Support | Apr 2020 |
| `2.1.0-preview` | [M84](https://groups.google.com/g/discuss-webrtc/c/MRAV4jgHYV0) | - Profiler tool <br>- Bitrate control | Aug 2020 |
| `2.2.0-preview` | [M85](https://groups.google.com/g/discuss-webrtc/c/Qq3nsR2w2HU) | - Video decoder (VP8, VP9 only) <br>- Vulkan HW encoder support <br>- MacOS HW encoder support | Oct 2020 |
| `2.3.0-preview` | [M85](https://groups.google.com/g/discuss-webrtc/c/Qq3nsR2w2HU) | - iOS platform support | Dec 2020 |
| `2.4.0-exp.1` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Android platform support | Apr 2021 |
| `2.4.0-exp.2` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Fix bugs | May 2021 |
| `2.4.0-exp.3` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Fix bugs | Jun 2021 |
| `2.4.0-exp.4` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Audio renderer support <br>- Apple Silicon support | Aug 2021 |
| `2.4.0-exp.5` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix audio streaming issues | Feb 2022 |
| `2.4.0-exp.6` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Feb 2022 |
| `2.4.0-exp.7` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix video streaming issues | May 2022 |
| `2.4.0-exp.8` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix bugs | Jul 2022 |
| `2.4.0-exp.9` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Aug 2022 |
| `2.4.0-exp.10` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Aug 2022 |
| `2.4.0-exp.11` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Sep 2022 |
| `3.0.0-pre.1` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix bugs | Nov 2022 |
| `3.0.0-pre.2` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Update libwebrtc M107 | Dec 2022 |
| `3.0.0-pre.3` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Fix bugs | Dec 2022 |
| `3.0.0-pre.4` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Fix bugs | Jan 2023 |
| `3.0.0-pre.5` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Encoded Transform API | Apr 2023 |
| `3.0.0-pre.6` | [M112](https://groups.google.com/g/discuss-webrtc/c/V-XFau9W9gY) | - Fix bugs | Jul 2023 |
| `3.0.0-pre.7` | [M116](https://groups.google.com/g/discuss-webrtc/c/bEsO8Lz7psE) | - Update libwebrtc M116 <br>- Simulcast for NVIDIA H.264 | Oct 2023 |
| Version | libwebrtc version | Focus | When |
|------------------| ----------------- | ----- | ---- |
| `1.0.0-preview` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg) | - First release | Sep 2019 |
| `1.1.0-preview` | [M72](https://groups.google.com/d/msg/discuss-webrtc/3h4y0fimHwg) | - IL2CPP Support<br> - Linux platform Support<br/> - Add software encoder | Feb 2020 |
| `2.0.0-preview` | [M79](https://groups.google.com/d/msg/discuss-webrtc/Ozvbd0p7Q1Y) | - Multi camera <br>- DirectX12 (DXR) Support | Apr 2020 |
| `2.1.0-preview` | [M84](https://groups.google.com/g/discuss-webrtc/c/MRAV4jgHYV0) | - Profiler tool <br>- Bitrate control | Aug 2020 |
| `2.2.0-preview` | [M85](https://groups.google.com/g/discuss-webrtc/c/Qq3nsR2w2HU) | - Video decoder (VP8, VP9 only) <br>- Vulkan HW encoder support <br>- MacOS HW encoder support | Oct 2020 |
| `2.3.0-preview` | [M85](https://groups.google.com/g/discuss-webrtc/c/Qq3nsR2w2HU) | - iOS platform support | Dec 2020 |
| `2.4.0-exp.1` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Android platform support | Apr 2021 |
| `2.4.0-exp.2` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Fix bugs | May 2021 |
| `2.4.0-exp.3` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Fix bugs | Jun 2021 |
| `2.4.0-exp.4` | [M89](https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0) | - Audio renderer support <br>- Apple Silicon support | Aug 2021 |
| `2.4.0-exp.5` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix audio streaming issues | Feb 2022 |
| `2.4.0-exp.6` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Feb 2022 |
| `2.4.0-exp.7` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix video streaming issues | May 2022 |
| `2.4.0-exp.8` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix bugs | Jul 2022 |
| `2.4.0-exp.9` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Aug 2022 |
| `2.4.0-exp.10` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Aug 2022 |
| `2.4.0-exp.11` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Hotfix | Sep 2022 |
| `3.0.0-pre.1` | [M92](https://groups.google.com/g/discuss-webrtc/c/hks5zneZJbo) | - Fix bugs | Nov 2022 |
| `3.0.0-pre.2` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Update libwebrtc M107 | Dec 2022 |
| `3.0.0-pre.3` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Fix bugs | Dec 2022 |
| `3.0.0-pre.4` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Fix bugs | Jan 2023 |
| `3.0.0-pre.5` | [M107](https://groups.google.com/g/discuss-webrtc/c/StVFkKuSRc8) | - Encoded Transform API | Apr 2023 |
| `3.0.0-pre.6` | [M112](https://groups.google.com/g/discuss-webrtc/c/V-XFau9W9gY) | - Fix bugs | Jul 2023 |
| `3.0.0-pre.7` | [M116](https://groups.google.com/g/discuss-webrtc/c/bEsO8Lz7psE) | - Update libwebrtc M116 <br>- Simulcast for NVIDIA H.264 | Oct 2023 |
| `3.0.0-pre.8` | [M116](https://groups.google.com/g/discuss-webrtc/c/bEsO8Lz7psE) | | |

## Licenses

Expand Down
8 changes: 8 additions & 0 deletions Runtime/Plugins/WebGL.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions Runtime/Plugins/WebGL/AudioStreamTrack.jslib
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
var UnityWebRTCAudioStreamTrack = {

// To be implemented
CreateAudioTrack: function (labelPtr, sourcePtr) {
if (!uwcom_audioContext) {
uwcom_audioContext = new AudioContext;
}
var dest = uwcom_audioContext.createMediaStreamDestination();
var audioTrack = dest.stream.getAudioTracks()[0];
uwcom_addManageObj(audioTrack);
audioTrack.guid = UTF8ToString(labelPtr);
return audioTrack.managePtr;
},

ProcessAudio: function (data, size) {
// TODO
}
};
mergeInto(LibraryManager.library, UnityWebRTCAudioStreamTrack);
44 changes: 44 additions & 0 deletions Runtime/Plugins/WebGL/AudioStreamTrack.jslib.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading