Skip to content

Releases: twilio/twilio-video-ios

Twilio Video SDK iOS 2.5.4

27 Nov 02:30
389560e
Compare
Choose a tag to compare

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

18 Oct 15:54
389560e
Compare
Choose a tag to compare

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 consuming TwilioVideo.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

08 Oct 19:39
389560e
Compare
Choose a tag to compare

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

04 Oct 20:44
389560e
Compare
Choose a tag to compare

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

27 Sep 23:54
389560e
Compare
Choose a tag to compare

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 and UIView combinations. We recommend that anyone who is interested in sharing their screen use ReplayKit, along with a custom TVIVideoCapturer 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

21 Sep 16:33
389560e
Compare
Choose a tag to compare

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

28 Aug 22:37
389560e
Compare
Choose a tag to compare

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 code TVIErrorRoomRoomCompletedError.
  • 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 to TVIAudioOptions 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

07 Aug 19:06
389560e
Compare
Choose a tag to compare

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

02 Aug 22:21
389560e
Compare
Choose a tag to compare
Pre-release

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's WebCore.framework are eliminated.

Bug Fixes

  • The TVIVideoRenderingType.OpenGLES renderer doesn't display i420, and y420 frames produced by a TVIVideoCapturer. [ISDK-2078]
  • Retry failed ICE Server requests up to TVIIceOptions.iceServersTimeout to increase reliability.
  • Fixed a crash which could occur when AVAudioSession.inputNumberOfChannels == 0 and TVIDefaultAudioDevice is used. [ISDK-2143]
  • TVIDefaultAudioDevice no longer overrides AVAudioSession.preferredInputNumberOfChannels and AVAudioSession.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

29 Jun 23:22
389560e
Compare
Choose a tag to compare
Pre-release

This release consumes twilio-video-cpp-3.0.0-preview2.

API Changes

  • Deprecated the TVIAudioOptions.levelControl and TVIAudioOptions.levelControlInitialPeakLevelDBFS properties as they are no longer supported in Chromium WebRTC 67.

Improvements

  • This release is based on Chromium WebRTC 67.
  • TVIAVAudioSessionConfigurationBlock now configures AVAudioSession.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 a TVIVideoCapturer. [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