Skip to content

Releases: twilio/twilio-video-ios

Twilio Video SDK iOS 5.4.0

29 Nov 20:30
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.6.1.

  • Programmable Video iOS SDK 5.4.0 [XCFramework] (checksum: 2b773f6fa7074d175c9557ce7763ce75938a9f3abddd05bedf742049e3ab86d7).

Features

  • This release introduces support for a noise cancellation audio device, NoiseCancellationProcessor, via a new TwilioAudioProcessors SDK

API Changes

  • TVIAudioDeviceFormatChanged method is now marked as deprecated and will raise a warning to use TVIAudioDeviceReinitialize instead. The API wil be removed in v6.0+.

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.4.0

Architecture Compressed Size Uncompressed Size
Universal 4.7 MB 10.9 MB
arm64 4.7 MB 10.9 MB

Twilio Video SDK iOS 5.3.0

07 Nov 17:16
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.6.1.

5.3.0

  • Programmable Video iOS SDK 5.3.0 [XCFramework] (checksum: 128e56119ce21d799777342eeedead6d73e52ae6d50ed8c57aadc9c353b76473
    ).

Enhancements

The following code, from our Twilio Video iOS App, illustrates implementing picture in picture using SampleBufferVideoView:

class PictureInPictureViewController: UIViewController {

    @IBOutlet weak var videoView: VideoView!

    private var pipController: AVPictureInPictureController!
    private var pipVideoCallViewController: AVPictureInPictureVideoCallViewController!
    
    override func viewDidLoad() {
        let sampleBufferVideoCallView = SampleBufferVideoView()
        sampleBufferVideoCallView.contentMode = .scaleAspectFit
        
        pipVideoCallViewController = AVPictureInPictureVideoCallViewController()
        pipVideoCallViewController.preferredContentSize = CGSize(width: 1080, height: 1920)
        pipVideoCallViewController.view.addSubview(sampleBufferVideoCallView)

        sampleBufferVideoCallView.translatesAutoresizingMaskIntoConstraints = false
        let constraints = [
            sampleBufferVideoCallView.leadingAnchor.constraint(equalTo: pipVideoCallViewController.view.leadingAnchor),
            sampleBufferVideoCallView.trailingAnchor.constraint(equalTo: pipVideoCallViewController.view.trailingAnchor),
            sampleBufferVideoCallView.topAnchor.constraint(equalTo: pipVideoCallViewController.view.topAnchor),
            sampleBufferVideoCallView.bottomAnchor.constraint(equalTo: pipVideoCallViewController.view.bottomAnchor)
        ]
        NSLayoutConstraint.activate(constraints)


        sampleBufferVideoCallView.bounds = pipVideoCallViewController.view.frame

        let pipContentSource = AVPictureInPictureController.ContentSource(
            activeVideoCallSourceView: videoView,
            contentViewController: pipVideoCallViewController
        )
        
        pipController = AVPictureInPictureController(contentSource: pipContentSource)
        pipController.canStartPictureInPictureAutomaticallyFromInline = true
        pipController.delegate = self
    }
}

Please note that the render hints are not supported in picture in picture mode except for the track switch on and off hints when the SampleBufferVideoView renderer is added and removed from the RemoteVideoTrack respectively. As a result when the app is in the background and in picture in picture mode, the displayed RemoteVideoTrack will still be active (e.g Dominant Speaker track), consuming bandwidth, and it will have the default spatial dimension determined by the media server.

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.3.0

Architecture Compressed Size Uncompressed Size
Universal 4.7 MB 10.9 MB
arm64 4.7 MB 10.9 MB

Twilio Video SDK iOS 5.2.1

30 Sep 17:09
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.6.1.

5.2.1

  • Programmable Video iOS SDK 5.2.1 [XCFramework] (checksum: f38bde50fc021e052d67e2aec2a9abf340b9f3008f613e46c5c4641c2324881a
    ).

Bug Fixes

  • Fixed a bug in Adaptive Simulcast where processing of capturer parameter change events was causing a crash and debug check failure. [VIDEO-11409]

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.2.1

Architecture Compressed Size Uncompressed Size
Universal 4.7 MB 10.9 MB
arm64 4.7 MB 10.9 MB

Twilio Video SDK iOS 5.2.0

24 Aug 20:09
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.6.0.

  • Programmable Video iOS SDK 5.2.0 [XCFramework] (checksum: ab796cb1d6ec8e918d125df0df2caaa00779000cc4840e58ed2612a14df9a9ec
    ).

Bug Fixes

  • Max video bandwidth limits are now applied to each simulcast layer when simulcast is enabled, and the expected behavior for max video bitrates with simulcast is better documented.
  • Fixed several bugs that could cause crashes and deadlocks when a Room is disconnected / destroyed.
  • Fixed a use-after-free bug associated with tasks posted to TaskQueue that could lead to undefined behavior.
  • Fixed a bug which could cause a crash in IceConnectionActivityMonitor when reconnecting to or disconnecting from a Room.
  • Fixed a race condition where subscribed callbacks for Remote Participant could be raised for tracks that have been ended.

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.2.0

Architecture Compressed Size Uncompressed Size
Universal 4.7 MB 10.9 MB
arm64 4.7 MB 10.9 MB

Twilio Video SDK iOS 5.1.1

06 Jul 00:47
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.5.2.

  • Programmable Video iOS SDK 5.1.1 [XCFramework] (checksum: 125e944221600cbe98436d1cbc7bd8817c2795e6a9f36e3a63c01f0016f67d78
    ).

Bug Fixes

  • Fixed symbol naming conflicts for side-by-side support of third-party WebRTC builds. #207

Known Issues

  • On iOS 15.4+, lower frame rate may be observed when H.264 codecs are used. #238
  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.1.1

Architecture Compressed Size Uncompressed Size
Universal 4.8 MB 11.4 MB
arm64 4.8 MB 11.4 MB

Twilio Video SDK iOS 5.1.0

15 Mar 00:54
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.5.0-rc12.

Features

  • This release introduces Adaptive Simulcast along with new Video Encoding modes for publishers. Adaptive Simulcast reduces publisher resource usage by only sending those encodings for a video track that are needed by subscribers or by the media server (when recording is enabled). This is an opt-in feature and can be enabled by setting the new Connect Option videoEncodingMode to auto, which allows the SDK to select video codecs, use adaptive simulcast and manage encodings automatically. This feature cannot be used alongside EncodingParameters.maxVideoBitrate.

API Changes

  • Added the videoEncodingMode property to ConnectOptions.
  • The videoEncodingMode API is mutually exclusive with existing codec management APIs EncodingParameters.maxVideoBitrate and preferredVideoCodecs.

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.1.0

Architecture Compressed Size Uncompressed Size
Universal 4.8 MB 11.4 MB
arm64 4.8 MB 11.4 MB

Twilio Video SDK iOS 5.0.0

11 Feb 17:38
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.3.4-rc1.

Enhancements

  • Microphone permissions will only be requested when needed.

Maintenance

  • This release is built with Xcode 13.
  • The minimum iOS version supported is 12.2.

Bug Fixes

  • Fixed a bug which could occur when connected to a Peer-to-Peer or Go Room and publishing a second video track before another Participant joins, causing the connection to be terminated or the second video track not to be fully established.
  • Fixed a bug which could cause the Room connection to be terminated by the server.
  • Fixed a bug which could cause the media connection not to be re-established after network changes.
  • Fixed a bug where audio fails to start in the iOS Simulator on M1 Mac Mini when no microphone is present.

Known Issues

  • Audio playback fails in some cases when running a simulator on a Mac Mini. #182
  • Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 5.0.0

Architecture Compressed Size Uncompressed Size
Universal 4.8 MB 11.3 MB
arm64 4.8 MB 11.3 MB

Twilio Video SDK iOS 4.6.3

10 Dec 19:52
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.3.3.

API Changes

  • New error code TVIErrorParticipantSessionLengthExceededError (53216) is added to support configurable participant session limit.

Bug Fixes

  • Fixed a bug where media could incorrectly be detected as not flowing after the network connectivity changes. [VIDEO-7685]

Known Issues

  • Audio playback fails when running a simulator on a Mac Mini. #182
  • Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 4.6.3

Architecture Compressed Size Uncompressed Size
Universal 10.0 MB 21.4 MB
arm64 4.8 MB 11.3 MB
armv7 5.2 MB 10.1 MB

Twilio Video SDK iOS 4.6.2

05 Nov 19:57
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.3.2.

Enhancements

  • Added support for Audio Only rooms.
  • Improved reconnection time after network connectivity disruptions.
  • This release is built with Xcode 12.5.1

API Changes

  • Two new error codes TVIErrorRoomAudioOnlyFlagNotSupportedError (53124) and TVIErrorRoomTrackKindNotSupportedError (53125) are added to support Audio Only rooms.

Known Issues

  • Audio playback fails when running a simulator on a Mac Mini. #182
  • Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 4.6.2

Architecture Compressed Size Uncompressed Size
Universal 10.0 MB 21.4 MB
arm64 4.8 MB 11.3 MB
armv7 5.2 MB 10.1 MB

Twilio Video SDK iOS 4.6.1

15 Oct 22:08
Compare
Choose a tag to compare

This release consumes twilio-video-cpp-6.3.1.

Bug Fixes

  • Fixed an interoperability bug between JavaScript, iOS and Android SDKs which could cause subscription events not to fire in a Peer-to-Peer or Go Room. [VIDEO-7334] #211

Known Issues

  • Audio playback fails when running a simulator on a Mac Mini. #182
  • Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary .xcframeworks, Carthage distribution will be re-added.
  • Unpublishing and republishing a LocalAudioTrack or LocalVideoTrack might not be seen by Participants. #34
  • H.264 video might become corrupted after a network handoff. #147
  • iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
  • 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]

Size Impact for 4.6.1

Architecture Compressed Size Uncompressed Size
Universal 10.0 MB 21.4 MB
arm64 4.8 MB 11.3 MB
armv7 5.2 MB 10.1 MB