All notable changes to the webrtc package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Android ARM64 platform support
- Added a sample scene "Menu" which developers can go back and forth between sample scenes
- Added a sample scene "PerfectNegotiation"
- Added the software encoder on Linux support when using OpenGL Core graphics API
- Added the
RestartIce
method to theRTCPeerConnection
class - Added the
Streams
property to theRTCRtpReceiver
class
- Unity 2020.3 support
- Upgrade libwebrtc m89
- Changed the argument type of the
RTCPeerConnection.CreateOffer
method and theRTCPeerConnection.CreateAnswer
method
- Fixed crash for accessing properties of
RTCDataChannel
instance - Fixed crash when using the invalid graphics format to stream video on macOS
- Added
OnConnectionStateChange
event to theRTCPeerConnection
class
- Fixed a crash bug that occurs when accessing
MediaStreamTrack
properties after disposing ofRTCPeerConnection
- Changed
Audio.CaptureStream
method to allow setting of audio track label.
- Fixed memory leaks in native code.
- Fixed a crash bug when access an instance after disposed of it.
- Fixed
MediaStream.GetVideoStreamTrack
method andMediaStream.GetVideoStreamTrack
method to return a correct value. - Fixed
RTCRtpTransceiver.Receiver
property andRTCRtpTransceiver.Sender
property to return a correct value.
- Fixed
RTCIceCandidate.candidate
property in order to return a correct SDP formatted string.
- Supported iOS platform
- Supported H.264 HW decoder (VideoToolbox) on macOS
- Added
GetCapabilities
method to theRTCRtpSender
class and theRTCRtpReceiver
class - Added
SetCodecPreferences
method to theRTCRtpTransceiver
class - Added two samples (
ChangeCodecs
,TrickleIce
) - Added properties to the
RTCIceCandidate
class - Added properties tp the
RTCDataChannelInit
class
- Changed
RTCIceCandidate
type fromstruct
toclass
- Changed
RTCIceCandidateInit
type fromstruct
toclass
- Changed
RTCDataChannelInit
type fromstruct
toclass
- Changed argumments of the
RTCPeerConnection.AddIceCandidate
method
// old
public void AddIceCandidate(ref RTCIceCandidate candidate);
// new
public bool AddIceCandidate(RTCIceCandidate candidate);
- Changed arguments of the
RTCPeerConnection.CreateDataChannel
method
// old
public RTCDataChannel CreateDataChannel(string label, ref RTCDataChannelInit options);
// new
public RTCDataChannel CreateDataChannel(string label RTCDataChannelInit options = null);
- Added a
Bandwidth
sample
- Fixed the receiver of video streaming with Vulkan API
- Fixed a crash bug when the application ended using Vulkan API
- Fixed a crash bug of the standalone build using Vulkan API
- Fixed bugs that occur on Linux not installed NVIDIA driver
- Fixed a bug of the
VideoReceive
sample
- Software decoder support
- Hardware encoder (VideoToolbox) support on macOS
- Vulkan API support on Linux and Windows
- Linux IL2CPP support
- Add WebRTC samples (
MultiplePeerConnections
,MultiVideoReceive
,MungeSDP
,VideoReceive
)
- Upgrade libwebrtc m85
- Upgrade NVIDIA Codec SDK 9.1
- Changed
RTCPeerConnection
behaviour to throw exceptions when pass invalid arguments toSetLocalDescription
,SetRemoteDescription
- Add "minBitrate" parameter to
RTCRtpEncodingParameters
class.
- Erase Japanese documentation due to migrating to internal translation system.
- Fixed an issue where the
RTCRtpSender.SetParameters
API did not work properly - Removed ZWSP(zero-width-space) in C# code
- Added statistics window in Unity editor to allow checking the operation of WebRTC
- Added
RTCPeerConnection.GetStats
API which collect statistics of WebRTC - Added
RTCRtpSender.SetParameters
andRTCRtpSender.GetParameters
to adjustment streaming video quality - Added
RTCDataChannel.ReadyState
which shows the state of the channel
- Fixed a issue which video stream remains with bad quality after a short network degradation
- Upgrade libwebrtc m84 to fix security issue (https://bugs.chromium.org/p/project-zero/issues/detail?id=2034)
- Fix a crash bug when dispose a video track
- Fix the memory leak when using DirectX12
- Fix the crash when using the incorrect parameter to as the argument of
RTCDataChannel
constructor - Fix the crash when initializing the hardware encoder failed
- Fix the editor freeze bug when recompiling scripts
- Fixed documents
- Fixed versioning issue
- Multi camera support
- DirectX 12 API support
- Published VideoStreamTrack API
- Published AudioStreamTrack API
- Fix OpenGL color order
- Fix DLL import error
- IL2CPP support
- Linux OpenGL hardware encoder support
- Mac OS Metal software encoder support
- Windows DirectX11 software encoder support
- Changed
Audio.Update
method to public
- Fixed documents
- Added tooltips
- Renamed sample folders
- Output logs when NVCodec failed to initialize
- Initial Release