Skip to content

Twilio Video SDK iOS 2.8.0

Compare
Choose a tag to compare
@twilio-sdk-build twilio-sdk-build released this 15 Mar 01:03
· 54 commits to Releases since this release
389560e

This release consumes twilio-video-cpp-3.3.0.

API Changes

  • Implemented the Dominant Speaker functionality for Group Rooms. To enable the dominant speaker functionality, set the TVIConnectOptions.dominantSpeakerEnabled property to YES when connecting to a Group Room. To determine the current dominant speaker, query the TVIRoom.dominantSpeaker property. When there is no dominant speaker, the TVIConnectOptions.dominantSpeakerEnabled property was set to NO or when using a Peer-to-Peer room, the TVIRoom.dominantSpeaker property will always return nil. When there is a dominant speaker, the TVIRoom.dominantSpeaker property will return the appropriate TVIRemoteParticipant. Implementing [TVIRoomDelegate room:dominantSpeakerDidChange:] method on your TVIRoomDelegate will allow you to receive callbacks when the dominant speaker in a Group Room changes. The dominantSpeakerDidChange: argument will contain the TVIRemoteParticipant of the dominant speaker, or nil if there is no longer a dominant speaker.
@IBAction func connectToRoom(sender: AnyObject) {
    let connectOptions = TVIConnectOptions(token: accessToken) { (builder) in
        builder.dominantSpeakerEnabled = true
        builder.roomName = "my-room"
    }
    room = TwilioVideo.connect(with: connectOptions, delegate: self)
}

...

// MARK: TVIRoomDelegate
func room(_ room: TVIRoom, dominantSpeakerDidChange participant: TVIRemoteParticipant?) {
    var identity = "N/A"

    if let participant = participant {
        identity = participant.identity
    }

    print("Dominant Speaker Changed: \(identity)")
}

Bug Fixes

  • Fixed a crash related to stats gathering which could occur when insights reporting is enabled. [CSDK-2751]
  • Fixed a crash related to media state summarization which could occur when disconnecting from a Room. [CSDK-2776]
  • Fixed a crash related to stats gathering which could occur in the media monitor component. [CSDK-2786]
  • [TVIRoom getStatsWithBlock:] will execute the provided block if called while TVIRoom.state == TVIRoomStateReconnecting. [CSDK-2787]

Known Issues

  • Unpublishing and republishing a TVILocalAudioTrack or TVILocalVideoTrack might not be seen by Participants. #34
  • 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

Size Impact for 2.8.0

Architecture Compressed Size Uncompressed Size
Universal 8.8 MB 19.2 MB
arm64 4.2 MB 10.3 MB
armv7 4.4 MB 8.6 MB