Releases: twilio/twilio-video-ios
Twilio Video SDK iOS 2.5.4
This release consumes twilio-video-cpp-3.1.4.
Enhancements
- Improved the detection of, and recovery from media connection failures. Worst case recovery times have been reduced by up to 10 seconds.
- Removed forced ICE restarts after a signaling connection handover. Superfluous ICE restarts use up resources, create extra signaling traffic, and involve an extra round trip time to re-establish ice connection.
- Chooses a lower cost network for media traffic when one becomes available. For eg., when a call is originally on LTE and Wifi becomes available, media traffic is moved to the Wifi network.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
- When iphone is locked, if user connects to a group Room by answering an incoming call request on CallKit UI, the phone gets disconnected from Room after 90 seconds. #29
Size Impact for 2.5.4
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 8.7 MB | 18.9 MB |
arm64 | 4.2 MB | 10.2 MB |
armv7 | 4.5 MB | 8.6 MB |
Twilio Video SDK iOS 2.5.3
This release consumes twilio-video-cpp-3.1.3-rc6.
Enhancements
- Reduced signaling traffic in Group Rooms when communicating with an ICE-lite agent.
Bug Fixes
- Fixed a bug where the Client could send additional ICE candidates after signaling the end of candidates, or mark candidates with a username from a future offer.
- Made the reliance on
MetalKit.framework
optional so apps consumingTwilioVideo.framework
can be run in an iOS 9.x simulator. #130 [ISDK-2207] - Fixed a crash in rendering a disabled
TVILocalVideoTrack
using OpenGL renderer. [ISDK-2211]
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.5.2
This release consumes twilio-video-cpp-3.1.2-rc4.
Enhancements
TwilioVideo
is now built and distributed as both a dynamic framework,TwilioVideo
, and a static library,libTwilioVideo.a
. The static library is not available as a Carthage or Cocoapoads dependency and is only available as a manual download from the Video iOS Releases page.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.5.1
This release consumes twilio-video-cpp-3.1.2-rc4.
Bug Fixes
- Fixed a crash that occurs when disabling a
TVILocalVideoTrack
published with the H.264 codec. [ISDK-2210] #308
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.5.0
This release consumes twilio-video-cpp-3.1.2-rc4.
API Changes
- We have deprecated the usage of
TVIScreenCapturer
on iOS 12.0 and above, due to performance issues on some device andUIView
combinations. We recommend that anyone who is interested in sharing their screen use ReplayKit, along with a customTVIVideoCapturer
instead. We are putting the finishing touches on a new ReplayKit example app. #303
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.4.1
This release consumes twilio-video-cpp-3.1.2-rc4.
Bug Fixes
- Fixed a crash which might occur during teardown when
signaling::PeerConnectionSignaling
processes a close message. - Fixed a potential crash caused by a memory corruption when a custom audio device is created. [ISDK-2176]
- Fixed a crash that occurs when WebRTC fails to create local session description.
- Fixed a crash that might occur when session description callbacks arrive from WebRTC after we have destroyed the PeerConnection instance.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.4.0
This release consumes twilio-video-cpp-3.1.1.
Enhancements
TwilioVideo.framework
is now built with Xcode 9.4.1.- When a Room is completed via the REST API, connected Clients will now receive a
[TVIRoomDelegate room:didDisconnectWithError:]
callback with the error codeTVIErrorRoomRoomCompletedError
. - The signaling Client has been updated to support version 2 of the Room Signaling Protocol (RSP). Clients can now recover when a Group Room is transitioned to a new Media Server.
- Added a
softwareAecEnabled
property toTVIAudioOptions
to use the software acoustic echo cancellation. - We have defined several new error codes:
- TVIErrorRoomSubscriptionOperationNotSupportedError
- TVIErrorRoomRoomCompletedError
- TVIErrorTrackServerTrackCapacityReachedError
TwilioVideo.framework
now uses C++14 internally.- Introduced a safer threading model in the signaling layer that prevents occasional crashes and missing Track subscription events.
- The SDK no longer waits for pending events when closing a PeerConnection speeding up the teardown process.
- Added ECS debugging support at the signaling layer that will help in troublshooting ice server related issues.
Bug Fixes
- The signaling Client is more lenient when encountering unexpected RSP messages.
- Fixed a rare crash when
TVIRoom
is destroyed while fetching ICE servers. [CSDK-2499] - Resolved a scenario where an ICE restart could be ignored after experiencing signaling glare.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.3.0
This release consumes twilio-video-cpp-3.0.0-beta2.
We have promoted 2.3.0-preview2
to 2.3.0
. This release is based on WebRTC 67 and also resolves conflicts when using Twilio Video alongside other WebRTC based dependencies.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.3.0-preview2
This release consumes twilio-video-cpp-3.0.0-beta2.
API Changes
- Deprecated the usage of
TVIVideoRenderingType.OpenGLES
on iOS 12.0+ to match Apple's deprecation notice for OpenGLES.framework. - Objective-C classes in WebRTC are prefixed with
TVI
. It is now possible to use the Video SDK side by side with any other Chromium WebRTC based dependency in the same application. On iOS 12.0, conflicts with Apple'sWebCore.framework
are eliminated.
Bug Fixes
- The
TVIVideoRenderingType.OpenGLES
renderer doesn't display i420, and y420 frames produced by aTVIVideoCapturer
. [ISDK-2078] - Retry failed ICE Server requests up to
TVIIceOptions.iceServersTimeout
to increase reliability. - Fixed a crash which could occur when
AVAudioSession.inputNumberOfChannels == 0
andTVIDefaultAudioDevice
is used. [ISDK-2143] TVIDefaultAudioDevice
no longer overridesAVAudioSession.preferredInputNumberOfChannels
andAVAudioSession.preferredOutputNumberOfChannels
after executing your block. The default block has also been updated to set channel preferences.- App extensions are supported with H.264 codecs.
Known Issues
- The
TVIVideoRenderingType.OpenGLES
renderer is not supported in app extensions. [ISDK-2159]
[ISDK-2159] - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99
Twilio Video SDK iOS 2.3.0-preview1
This release consumes twilio-video-cpp-3.0.0-preview2.
API Changes
- Deprecated the
TVIAudioOptions.levelControl
andTVIAudioOptions.levelControlInitialPeakLevelDBFS
properties as they are no longer supported in Chromium WebRTC 67.
Improvements
- This release is based on Chromium WebRTC 67.
TVIAVAudioSessionConfigurationBlock
now configuresAVAudioSession.preferredIOBufferDuration
to 20 milliseconds by default, to match changes in WebRTC.
Known Issues
- The
TVIVideoRenderingTypeOpenGLES
renderer doesn't display I420, and y420 frames produced by aTVIVideoCapturer
. [ISDK-2078] - App extensions may not be supported yet. [ISDK-2047]
- The Video SDK may call
UIApplication
APIs from a background thread. [ISDK-2051] - The remote Participant's HD video may be distorted on an iPad Air 2+ [ISDK-2049, CSDK-1357]
- Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
- Participant disconnect event can take up to 120 seconds to occur. #99