古いリリースノート¶
- CHANGE
後方互換性のない変更
- UPDATE
後方互換性がある変更
- ADD
後方互換性がある追加
- FIX
バグ修正
2022.6.0¶
- 日時:
2022-09-14
- 対応 Sora:
2022.1.1
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m105.5195.0.0
[CHANGE] bitcode を無効化しました
libwebrtc 105.5195.0.0 より bitcode が含まれなくなりました。bitcode を無効にしてビルドをする必要があります
bitcode を含めてアプリケーションをビルドする必要がある場合は一つ前の
2022.5.0
をご利用ください
[CHANGE] 対応アーキテクチャについて x86_64 を廃止しました
libwebrtc 105.5195.0.0 より macOS x86_64 のビルドが廃止されたことに伴う変更です
[UPDATE] WebRTC 105.5195.0.0 に対応しました
[UPDATE] システム条件を変更しました
macOS 12.6 以降
Xcode 14.0
Swift 5.7
CocoaPods 1.11.3 以降
2022.5.0¶
- 日時:
2022-08-04
- 対応 Sora:
2022.1.1
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m104.5112.8.0
[UPDATE] WebRTC 104.5112.8.0 に対応しました
[ADD] 接続時に HTTP プロキシの設定を追加できるようにしました
詳細は プロキシ・サーバーの設定 をご確認ください
2022.4.0¶
- 日時:
2022-06-29
- 対応 Sora:
2022.1.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m103.5060.4.0
[CHANGE] mid を必須とする対応を行いました
この修正の結果、 type: offer に mid が含まれない場合は、エラーになります
最新版の Sora をご利用の場合は必ず mid が設定されます
[CHANGE]
Configuration.spotlightEnabled == .enabled
の際に、自動的にサイマルキャストを有効化しない変更を行いましたサイマルキャストを有効化する場合は明示的に
Configuration.simulcastEnabled == true
を設定してください詳細は 2022.4.0 で実施するスポットライト機能に対する破壊的変更について をご確認ください。
[UPDATE] システム条件を変更しました
macOS 12.3 以降
WebRTC SFU Sora 2022.1 以降
[UPDATE] WebRTC 103.5060.4.0 に対応しました
[ADD] Sora の bundle_id に対応しました
Configuration.bundleId
を追加しました
2022.3.0¶
- 日時:
2022-06-10
- 対応 Sora:
2021.2.8
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m102.5005.7.6
[UPDATE] システム条件を変更しました
Xcode 13.4
Swift 5.6.1
[UPDATE] WebRTC 102.5005.7.6 に対応しました
[UPDATE] offer に mid が含まれる場合は、 mid を利用して sender を設定する
[FIX] CocoaPods 利用時 App Store Connect に bitcode を有効にしてバイナリをアップロードするとエラーになる問題を解消しました。
WebRTC 102.5005.7.6 ビルドにて対応しているため iOS SDK 本体の修正はありません
2022.2.1¶
- 日時:
2022-04-22
- 対応 Sora:
2021.2.8
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m97.4692.4.0
[FIX] CocoaPods 利用時 App Store Connect に bitcode を有効にしてバイナリをアップロードするとエラーになる問題が発生しました。暫定回避策として、 WebRTC 97.4692.4.0 に下げています。
最新のバージョンにて解消しております。
2022.2.0¶
- 日時:
2022-03-11
- 対応 Sora:
2021.2.1
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m99.4844.1.0
[CHANGE] DataChannel 経由で受信したメッセージのうち label が signaling, push, notify について
MediaChannelHandlers.onReceiveSignaling
で通知する処理を追加しました[CHANGE]
MediaChannel.connectedUrl
を更新するタイミングを修正しましたtype: connect を送信するタイミングで
MediaChannel.connectedUrl
を更新していたものを、 type: offer を受信したタイミングで値を更新するように変更しました
[UPDATE] WebRTC 99.4844.1.0 に対応しました
[ADD] メッセージング機能を追加しました
詳細は メッセージング機能 をご確認ください
[ADD]
MediaChannel.contactUrl
を追加しましたMediaChannel.contactUrl
は、複数のシグナリング候補の中から最初に type: connect メッセージを送信した Sora のシグナリング URL です
2022.1.1¶
- 日時:
2022-03-04
- 対応 Sora:
2021.2.1
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m98.4758.0.0
[FIX] Sora との接続確立後に WebSocket のエラーが発生した場合、 エラーが正しく伝搬されず、終了処理が実行されない問題を修正しました
2022.1.0¶
- 日時:
2022-02-03
- 対応 Sora:
2021.2.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m98.4758.0.0
[CHANGE] スポットライトレガシーを削除しました
[CHANGE]
WebSocketChannel
プロトコルを廃止しましたConfiguration.webSocketChannelType
を廃止しましたConfiguration.allowsURLSessionWebSocketChannel
を廃止しましたWebSocketChannelHandlers.onDisconnect
を廃止しましたWebSocketChannelHandlers.onPong
を廃止しましたWebSocketChannelHandlers.onSend
を廃止しましたMediaChannel.webSocketChannel
を廃止しましたWebSocketChannelHandlers
を廃止しました
[CHANGE]
Starscream
を削除して、URLSessionWebSocketTask
をデフォルトで使用する対応を行いました[CHANGE] サポートする iOS のバージョンを13以上に変更しました
[CHANGE]
MediaChannel.native
の型をRTCPeerConnection
からRTCPeerConnection?
に変更しましたPeerChannel で force unwrapping している箇所を修正する際に、併せて修正しました
[UPDATE] システム条件を変更しました
macOS 12.2 以降
Xcode 13.2
Swift 5.5.2
[UPDATE] WebRTC 98.4758.0.0 に対応しました
[UPDATE] MediaStream から MediaChannel にアクセスできるようにしました
[ADD] 複数シグナリング URL の指定に対応しました
Configuration.url
を廃止してConfiguration.urlCandidates
を追加しましたMediaChannel.connectedUrl
を追加しました詳細は 複数のシグナリング URL を指定する をご確認ください
[ADD] type: rediret に対応しました
詳細は クラスター機能利用時のシグナリングのリダイレクト をご確認ください
[FIX] CameraVideoCapturer で force unwrapping していた箇所を修正しました
[FIX] VideoView に debugMode = true を設定した際にメモリー・リークが発生する問題を修正しました
2021.x¶
2021.3.1¶
- 日時:
2022-01-05
- 対応 Sora:
2021.2.0
- 対応 iOS:
12.1 以降
- 対応 libwebrtc:
m95.4638.3.0
[FIX]
RTCPeerConnectionState
が.failed
に遷移した際の切断処理中にクラッシュする問題を修正しましたBasicPeerChannelContext
とPeerChannel
の循環参照を防ぐために弱参照を利用していましたが、それが原因でBasicPeerChannelContext
より先にPeerChannel
が解放されるケースがあり、クラッシュの原因となっていました
[FIX]
DataChannel
クラスで利用しているデータ圧縮/復号処理にメモリー・リークがあったので修正しました
2021.3.0¶
- 日時:
2021-11-25
[CHANGE] PeerChannel, SignalingChannel protocol を削除しました
Configuration.peerChannelType
を廃止しましたConfiguration.signalingChannelType
を廃止しましたConfiguration.peerChannelHandlers
を廃止しましたConfiguration.signalingChannelHandlers
を廃止しましたMediaChannel.native
を追加しましたMediaChannel.webSocketChannel
を追加しました
[UPDATE] システム条件を変更しました
macOS 12.0 以降
Xcode 13.1
Swift 5.5
CocoaPods 1.11.2
[UPDATE] WebRTC 95.4638.3.0 に対応しました
[ADD] DataChannel シグナリングに対応しました
Configuration.dataChannelSignaling
を追加しましたConfiguration.ignoreDisconnectWebSocket
を追加しました
[FIX] Sora 接続時に audioEnabled = false を設定すると answer 生成に失敗してしまう問題についてのワークアラウンドを削除しました
2021.2.1¶
- 日時:
2021-09-29
[FIX] Swift Package Manager に対応するためバージョニングを修正しました
2021.2¶
- 日時:
2021-09-29
[CHANGE] 接続開始時のカメラ・デバイスを指定可能にしました
Configuration.cameraSettings.position
に.front
または.back
を設定して、接続開始時のカメラ・デバイスを指定しますこの修正に伴い、以下の API が変更されました
CameraVideoCapturer
の API を破壊的に変更しましたCameraVideoCapturer.Settings
をCameraSettings
にリネームしましたVideoCapturerHandlers
をCameraVideoCapturerHandlers
にリネームしましたVideoCapturer
を廃止しましたVideoCapturerDevice
を廃止しましたCameraPosition
を廃止しましたConfiguration.videoCapturerDevice
を廃止しましたMediaStream.videoCapturer
を廃止しました
[UPDATE] Swift Package Manager に対応しました
[UPDATE] WebRTC 93.4577.8.0 に対応しました
[UPDATE] システム条件を変更しました
iOS 12.1 以降
[UPDATE] Starscream のバージョンを 4.0.4 に更新しました
[UPDATE] シグナリング・メッセージ re-offer, re-answer に対応しました
[UPDATE] AES-GCM を有効にしました
[UPDATE] SoraDispatcher を追加しました
libwebrtc 内部で利用されているディスパッチ・キューをラップし、 SDK のユーザーから利用しやすくしました
[FIX] 接続、切断の検知に RTCPeerConnectionState を参照するように変更しました
[FIX] 接続終了後に MediaChannel のメモリーが解放されずに残り続ける事象を修正しました
2021.1¶
- 日時:
2021-06-24
[CHANGE] スポットライトに関する API を変更しました
Sora のスポットライトレガシー機能を利用するための API を
Sora.useSpotlightLegacy()
に変更しましたConfiguration.activeSpeakerLimit
を非推奨にして、Configuration.spotlightNumber
に変更しましたConfiguration.spotlightFocusRid
を追加しましたConfiguration.spotlightUnfocusRid
を追加しました
[CHANGE] シグナリングに含まれる JSON 型のフィールドを JSONSerialization でデコードするようにしました
フィールドの型を SignalingMetadata から Any? に変更しました。任意の型にキャストして利用する必要があります
対象のフィールド
SignalingNotifyConnection.metadata
SignalingOffer.metadata
SignalingPush.data
修正にともない
SignalingClientMetadata
をSignalingNotifyMetadata
にリネームしました
[CHANGES] type: notify のシグナリング・メッセージに対応する struct として SignalingNotify を追加しました
event_type 毎に定義されていた以下の struct を廃止し
SignalingNotify
に統合しましたSignalingNotifyConnection
SignalingNotifySpotlightChanged
SignalingNotifyNetworkStatus
[CHANGE] サイマルキャストのオプションを Sora のアップデートへ追従しました
SimulcastQuality
を削除しSimulcastRid
を追加しましたConfiguration.simulcastQuality
を削除しsimulcastRid
を追加しましたSignalingConnect.simulcastQuality
を削除しsimulcastRid
を追加しました
[CHANGE] DeviceModel を廃止し、 hw.machine の結果を表示するよう変更しました
[UPDATE] システム条件を変更しました
Xcode 12.5
Swift 5.4
CocoaPods 1.10.1
[UPDATE] サイマルキャストで VP8 / H.264 (ハードウェアアクセラレーション含む) に対応しました
[UPDATE] WebRTC 91.4472.9.1 に対応しました
[UPDATE] AV1 に対応しました
[ADD] libwebrtc のログレベルを設定する API を追加しました
Sora.setWebRTCLogLevel(_:)
[FIX] SignalingNotify に漏れていたフィールドを追加しました
SignalingNotify.authnMetadata
SignalingNotify.authzMetadata
SignalingNotify.data
SignalingNotify.turnTransportType
[FIX] サイマルキャストのパラメーター active: false が無効化されてしまう問題を修正しました
[FIX] WebSocketChannel 切断時に MediaChannel を切断する処理が漏れていたので追加しました
2020.x¶
2020.7.2¶
- 日時:
2021-05-26
[FIX] Sora 接続時に SDK から client_id が指定できない問題を修正しました
Configuration.clientId
: 追加
2020.7.1¶
- 日時:
2021-01-08
[FIX] スポットライトレガシー機能に対応しました
[FIX] API: スポットライトに関する API について以下を変更しました
Configuration.Spotlight
: 追加しましたConfiguration.spotlightEnabled
: 型をSpotlight
に変更しました
2020.7¶
- 日時:
2020-11-06
[CHANGE] WebRTC 86.4240.10.0 に変更しました
[CHANGE]
AudioMode.swift
がターゲット含まれておらずビルドできなかった事象を修正しました
2020.6¶
- 日時:
2020-11-05
[CHANGE] WebRTC M86 に対応しました
[CHANGE] API: スポットライトに関する API について以下を変更しました
Configuration.spotlight
: 非推奨になりましたConfiguration.spotlightEnabled
: 追加しましたConfiguration.activeSpeakerLimit
: 追加しました
[CHANGE] API: 音声モードに関する API について以下を変更しました
Sora.setAudioMode(_:options:)
: 追加しましたAudioMode
: 追加しましたAudioOutput
: 追加しました
[UPDATE] システム条件を更新しました
Xcode 12.0
Swift 5.3
CocoaPods 1.9.3
[FIX] API:
Sora.connect()
: タイムアウト時にハンドラが実行されない事象を修正しました
2020.5¶
- 日時:
2020-08-11
[UPDATE] システム条件を更新しました
Xcode 11.6
Swift 5.2.4
WebRTC SFU Sora 2020.1 以降
[UPDATE] WebRTC M84 に対応しました
[UPDATE] シグナリング pong に統計情報を追加しました
[FIX] API: 次のイベントハンドラのクラスにコンストラクタを追加しました
MediaChannelHandlers
MediaStreamHandlers
PeerChannelHandlers
SignalingChannelHandlers
SoraHandlers
VideoCapturerHandlers
WebSocketChannelHandlers
[FIX] API:
Sora.connect()
: 接続先ホストが存在しない場合にハンドラが実行されない事象を修正しました
2020.4.1¶
- 日時:
2020-04-08
[FIX] 受信したシグナリングの role が
sendonly
,recvonly
,sendrecv
の場合にデコードに失敗する事象を修正しました[FIX] API:
MediaChannel
:senderStream
: ストリーム ID が接続時に指定した配信用ストリームID と一致するストリームを返すように修正しました (変更前はカメラのストリームを返した)[FIX] API:
MediaChannel
:receiverStreams
:senderStream
以外のストリームを返すように修正しました (変更前はカメラ以外のストリームを返した)
2020.4¶
- 日時:
2021-03-27
[CHANGE] iOS 13 以降の場合に URLSession を使って WebSocket 通信を行うように修正しました
[CHANGE] Plan B に関連する API を削除しました
[CHANGE] シグナリングで送信する JSON にて、 role を upstream/downstream のどちらかで出力するように修正しました
[CHANGE] シグナリングの offer/update/ping を peer connection の状態に関わらず処理するように修正しました
[CHANGE] 端末情報を追加しました (iPhone 11, iPhone 11 Pro, iPhone1 11 Pro Max, iPad 7th)
[CHANGE] ログに出力される WebSocket のエラー内容を詳細にしました
[CHANGE] API:
MediaChannel
:senderStream
プロパティを追加しました[CHANGE] API:
MediaChannel
:receiverStreams
プロパティを追加しました
2020.3¶
- 日時:
2020-02-28
[FIX] マイクが初期化されない事象を修正しました
2020.2¶
- 日時:
2020-02-25
[CHANGE] 受信時にマイクのパーミッションを要求しないようにしました
[FIX]
Sora.remove(mediaChannel:)
実行時にonRemoveMediaChannel
が呼ばれない事象を修正しました
2020.1¶
- 日時:
2020-01-20
本バージョンよりバージョン表記を「リリース年.リリース回数」に変更しました。
[CHANGE] WebRTC M79 に対応しました
[CHANGE] Carthage の使用を止めました
[CHANGE] シグナリングに含める各種バージョン情報を変更しました
[CHANGE] API: SocketRocket の使用を止めて Starscream を採用しました
[CHANGE] API: イベントハンドラのプロパティ名を短縮しました
[CHANGE] API:
Configuration
:init(url:channelId:role:)
を非推奨にしました[CHANGE] API:
Configuration
:init(url:channelId:role:multistreamEnabled:)
を追加しました[CHANGE] API:
Configuration
:webSocketChannelHandlers
プロパティを追加しました[CHANGE] API:
Configuration
:multistreamEnabled
プロパティを追加しました[CHANGE] API:
Role
: Sora の仕様に合わせてsendonly
,recvonly
,sendrecv
を追加しました[CHANGE] API:
Role
:publisher
,subscriber
,group
,groupSub
を非推奨にしました[UPDATE] システム条件を更新しました
Xcode 11.3
CocoaPods 1.8.4 以降
WebRTC SFU Sora 19.10.3 以降
2.x¶
2.6.0¶
CHANGE¶
システム条件を更新しました
macOS 10.15
Xcode 11.1
WebRTC M78 に対応しました
2.5.0¶
CHANGE¶
システム条件を更新しました
Xcode 11
Swift 5.1
2.4.1¶
CHANGE¶
依存するライブラリを変更しました (Cartfile)
sora-webrtc-ios 76.3.1 -> shiguredo-webrtc-ios 76.3.1
対応アーキテクチャから armv7 を外しました
対応アーキテクチャに x86_64 を追加しました (シミュレーターの動作は未保証です)
シグナリングに SDK と端末の情報を含めるようにしました
2.4.0¶
CHANGE¶
システム条件を更新しました
Xcode 10.3
WebRTC M76 に対応しました
サイマルキャスト機能に対応しました
スポットライト機能に対応しました
VAD 機能を削除しました
音声ビットレートの指定に対応しました
シグナリングのメタデータに対応しました
API:
Configuration
:audioBitRate
プロパティを追加しましたAPI:
Configuration
:maxNumberOfSpeakers
プロパティを削除しましたAPI:
Configuration
:simulcastEnabled
プロパティを追加しましたAPI:
Configuration
:simulcastQuality
プロパティを追加しましたAPI:
Configuration
:spotlight
プロパティを追加しましたAPI:
SimulcastQuality
: 追加しましたAPI: シグナリングに関する API の名前を変更しました
SignalingMessage
->Signaling
SignalingNotificationEventType
->SignalingNotifyEventType
SignalingConnectMessage
->SignalingConnect
SignalingOfferMessage
->SignalingOffer
SignalingOfferMessage.Configuration
->SignalingOffer.Configuration
SignalingPongMessage
->SignalingPong
SignalingPushMessage
->SignalingPush
API:
SignalingAnswer
: 追加しましたAPI:
SignalingCandidate
: 追加しましたAPI:
SignalingClientMetadata
: 追加しましたAPI:
SignalingMetadata
: 追加しましたAPI:
SignalingNotifyConnection
: 追加しましたAPI:
SignalingNotifyNetworkStatus
: 追加しましたAPI:
SignalingNotifySpotlightChanged
: 追加しましたAPI:
SignalingOffer.Encoding
: 追加しましたAPI:
SignalingUpdate
: 追加しましたAPI:
Signaling
: 追加しました
2.3.2¶
CHANGE¶
SDP セマンティクスのデフォルトを Unified Plan に変更しました
API: シグナリング "notify" の "connection_id" プロパティに対応しました
API:
SDPSemantics
:case default
を削除しましたAPI:
SignalingNotifyMessage
:connectionId
プロパティを追加しました
FIX¶
接続状態によってシグナリング "notify" が無視される現象を修正しました
2.3.1¶
FIX¶
グループ (マルチストリーム) 時、映像を無効にした状態で接続すると落ちる現象を修正しました
2.3.0¶
CHANGE¶
システム条件を更新しました
WebRTC SFU Sora 19.04.0 以降
macOS 10.14.4 以降
Xcode 10.2
Swift 5
マルチストリーム時に強制的に Plan B に設定していたのを止めました
未知のシグナリングメッセージを受信したら例外を発生するように変更しました
シグナリング "notify" の次のイベントに対応しました
"spotlight.changed"
"network.status"
2.2.1¶
CHANGE¶
システム条件を更新しました
WebRTC SFU Sora 18.10.0 以降
macOS 10.14 以降
iOS 10.0
Xcode 10.1
Swift 4.2.1
シグナリング "push" に対応しました
FIX¶
シグナリング "notify" に含まれるメタデータが解析されていない現象を修正しました
2.2.0¶
CHANGE¶
システム条件を更新しました
iOS 12.0
Xcode 10.0
Swift 4.2
API:
ConnectionTask
: 追加しましたAPI:
Sora
:connect(configuration:webRTCConfiguration:handler:)
: 実行中に接続の試行をキャンセル可能にしました
2.1.3¶
CHANGE¶
システム条件を更新しました
macOS 10.13.6 以降
Xcode 9.4
Swift 4.1
FIX¶
MediaChannel: 接続解除後、Sora にしばらく接続が残る可能性がある現象を修正しました
2.1.2¶
CHANGE¶
WebRTC SFU Sora 18.04 以降に対応しました
WebRTC M66 に対応しました
2.1.1¶
CHANGE¶
システム条件を更新しました
macOS 10.13.2 以降
Xcode 9.3
Swift 4.1
Carthage 0.29.0 以降、または CocoaPods 1.4.0 以降
WebRTC SFU Sora 18.02 以降
API:
MediaStream
:audioVolume
プロパティを非推奨にしましたAPI:
MediaStream
:remoteAudioVolume
プロパティを追加しました
FIX¶
API:
MediaStream
: 配信中にvideoEnabled
プロパティまたはaudioEnabled
プロパティで映像か音声を無効にすると、有効に戻しても他のクライアントに配信が再開されない現象を修正しましたAPI:
WebRTCInfo
:shortRevision
: 戻り値の文字列が 7 桁でない現象を修正しました
2.1.0¶
CHANGE¶
視聴のみのマルチストリームに対応しました
音声検出による映像の動的切替に対応しました
API:
Role
:.groupSub
を追加しましたAPI:
Configuration
:maxNumberOfSpeakers
プロパティを追加しましたAPI:
SignalingConnectMessage
:maxNumberOfSpeakers
プロパティを追加しました
2.0.4¶
CHANGE¶
WebRTC M64 に対応しました
2.0.3¶
CHANGE¶
WebRTC M63 に対応しました
SDWebImage 4.2.2 に対応しました
API:
WebSocketChannelHandlers
:onDisconnectHandler
を追加しましたAPI:
WebSocketChannelHandlers
:onFailureHandler
を削除しましたAPI:
SignalingChannelHandlers
:onDisconnectHandler
を追加しましたAPI:
SignalingChannelHandlers
:onFailureHandler
を削除しましたAPI:
SoraError
: WebSocket に関するエラーを次の二つに分割しましたwebSocketClosed(statusCode:reason:)
webSocketError()
API:
PeerChannelHandlers
:onDisconnectHandler
を追加しましたAPI:
PeerChannelHandlers
:onFailureHandler
を削除しましたAPI:
MediaChannelHandlers
:onFailureHandler
を削除しました
FIX¶
API:
MediaChannel
:PeerChannel
の接続解除時にMediaChannel
の状態が接続解除にならない現象を修正しました
2.0.2¶
CHANGE¶
connect シグナリングメッセージに Offer SDP を含めるようにしました
API: MediaStreamAudioVolume: 追加しました
API: MediaStream: audioVolume プロパティを追加しました
FIX¶
API: MediaStream: videoEnabled: 映像をオフにしても VideoView に反映されない現象を修正しました
API: MediaStream: audioEnabled: 音声の可否がサブスクライバーに反映されない現象を修正しました
2.0.1¶
CHANGE¶
Xcode 9.1 に対応しました
API: MediaStream: 接続中に映像と音声の送受信を停止・再開するプロパティを追加しました
API: MediaStreamHandlers: 追加しました
2.0.0¶
設計と API を大きく見直しました。
CHANGE¶
WebRTC M62 に対応しました
アーキテクチャ armv7 に対応しました
iOS 11 に対応しました
Xcode 9 に対応しました
Swift 4 に対応しました
依存するフレームワークから Unbox.framework を削除しました
WebRTC のネイティブ API (主にクラスやプロトコル名の接頭辞が
RTC
の API) を非公開にしましたクライアントの設定を
Configuration
にまとめましたロールについて、 "パブリッシャー (Publisher)" と "サブスクライバー (Subscriber)" に加えて、マルチストリームで通信を行う "グループ (Group)" を追加しました。
通信を行うオブジェクト (WebSocket 接続、シグナリング接続、ピア接続、メディアストリーム) をプロトコルに変更しました (デフォルトの実装は
private
)内部で使用する WebSocket の API (SRWebSocket.framework の API) を非公開にしました
任意の映像キャプチャーの使用を可能にしました
CMSampleBuffer
を映像フレームとして使用可能にしました映像フレームの編集を可能にしました
CHANGE (API)¶
次のクラス、構造体、列挙体、プロトコルを削除しました
Attendee
: 同等の機能をMediaChannel
に実装しましたBuildInfo
: 同等の機能をWebRTCInfo
に実装しましたConnection
: パブリッシャーとサブスクライバーをそれぞれ独立させたため削除しましたConnectionController
: 同等の機能を削除しましたConnectionController.Request
ConnectionController.Role
ConnectionController.StreamType
ConnectionError
: 同等の機能をSoraError
に実装しましたEvent
: 各イベントをイベントハンドラのみで扱うようにしましたEvent.EventType
EventLog
: ロギング機能を削除しました
MediaConnection
: 同等の機能をMediaChannel
に実装しましたMediaPublisher
: パブリッシャーをMediaChannel
で扱うようにしたため削除しましたMediaSubscriber
: サブスクライバーをMediaChannel
で扱うようにしたため削除しましたMediaOption
: 同等の機能をConfiguration
に実装しましたMessage
: 同等の機能をSignalingMessage
に実装しましたMessage.MessageType
Messagable
PeerConnection
: 同等の機能をPeerChannel
に定義しましたPeerConnectionEventHandlers
: 同等の機能をPeerChannelHandlers
に実装しましたSignalingEventHandlers
: 同等の機能をSignalingChannelHandlers
に実装しましたSignalingNotify
: 同等の機能をSignalingNotifyMessage
に実装しましたSignalingSnapshot
: 同等の機能をSignalingSnapshotMessage
に実装しましたVideoFrameHandle
: 同等の機能をVideoFrame
に実装しましたWebSocketEventHandlers
: 同等の機能をWebSocketChannelHandlers
に実装しました
次のクラスを追加しました
CameraVideoCapturer
CameraVideoCapturer.Settings
ICECandidate
ICEServerInfo
MediaChannel
MediaChannelHandlers
PeerChannelHandlers
SignalingChannelHandlers
Sora
SoraHandlers
VideoCapturerHandlers
WebSocketChannelHandlers
次の構造体を追加しました
Configuration
MediaConstraints
SignalingConnectMessage
SignalingNotifyMessage
SignalingOfferMessage
SignalingOfferMessage.Configuration
SignalingPongMessage
SignalingSnapshotMessage
SignalingUpdateOfferMessage
Snapshot
WebRTCConfiuration
WebRTCInfo
次の列挙体を追加しました
ConnectionState
ICETransportPolicy
LogLevel
NotificationEvent
SignalingNotificationEventType
SignalingMessage
SignalingRole
SoraError
TLSSecurityPolicy
VideoCapturerDecive
VideoFrame
WebSocketMessage
WebSocketMessageStatusCode
次のプロトコルを追加しました
MediaStream
PeerChannel
SignalingChannel
VideoCapturer
ViderFilter
WebSocketChannel
Notification
の使用を中止し、次の関連する構造体と列挙体を削除しましたConnection.NotificationKey
Connection.NotificationKey.UserInfo
MediaConnection.NotificationKey
MediaConnection.NotificationKey.UserInfo
MediaStream.NotificationKey
MediaStream.NotificationKey.UserInfo
AudioCodec
について以下を変更しました.Opus
を.opus
に変更しました.PCMU
を.pcmu
に変更しました
MediaStream
について以下を変更しましたクラスからプロトコルに変更し、 API を一新しました
Role
について以下を変更しました.group
を追加しました
VideoCodec
について以下を変更しました.VP8
を.vp8
に変更しました.VP9
を.vp9
に変更しました.H264
を.h264
に変更しました
VideoFrame
について以下を変更しましたプロトコルから列挙体に変更し、 API を一新しました
VideoRenderer
について以下を変更しましたonChangedSize(_:)
をonChange(size:)
に変更しましたrenderVideoFrame(_:)
をrender(videoFrame:)
に変更しました
1.x¶
1.2.5¶
FIX¶
CircleCI でのビルドエラーを修正しました
1.2.4¶
CHANGE¶
armv7 に対応しました
API: MediaOption を struct に変更しました
API: ConnectionController: ロールとストリーム種別の選択制限を削除しました
FIX¶
API: マルチストリーム時、配信者のストリームが二重に生成されてしまう現象を修正しました
1.2.3¶
- 日時:
2017-8-29
- 対応 Sora:
17.06
CHANGE¶
API: VideoView:
contentMode
に応じて映像のサイズを変更するようにしました
FIX¶
API: 残っていたデバッグプリントを削除しました
1.2.2¶
- 日時:
2017-8-16
- 対応 Sora:
17.06
CHANGE¶
API: 一部の静的変数を定数に変更しました
FIX¶
API: VideoView: メモリー解放時に Key-Value Observing に関する例外が発生する現象を修正しました
API: VideoView: メモリー解放時にクラッシュする現象を修正しました
1.2.1¶
- 日時:
2017-8-3
- 対応 Sora:
17.06
FIX¶
API: ConnectionController: 指定した映像・音声コーデックが UI とシグナリングに反映さ>れない現象を修正しました
1.2.0¶
- 日時:
2017-8-2
- 対応 Sora:
17.06
CHANGE¶
WebRTC M60 に対応しました
Bitcode に対応しました
スナップショットに対応しました
リンクするフレームワークに SDWebImage.framework を追加しました
API: Event.EventType: 次のケースを追加しました
case Snapshot
API: MediaOption: 次のプロパティを追加しました
var snapshotEnabled
API: SignalingEventHandlers: 次のメソッドを追加しました -
func onSnapshot(handler: (SignalingSnapshot) -> Void)
API: SignalingSnapshot: 追加しました
API: Snapshot: 追加しました
API: VideoFrame について以下を変更しました
var width
:Int32
->Int
var height
:Int32
->Int
var timestamp
:CMTime
->CMTime?
API: VideoFrameHandle: 次のプロパティ名を変更しました
case webRTC
->case WebRTC
API: VideoFrameHandle: 次のプロパティを追加しました
case snapshot
API: VideoView: スナップショットの描画に対応しました
API: ConnectionController: スナップショットの項目を追加しました
1.1.0¶
- 日時:
2017-7-7
- 対応 Sora:
17.06
CHANGE¶
CircleCI を利用した自動ビルドを追加しました
examples を削除しました
WebRTC M59 に対応しました
ディレクトリ構造を変更し、プロジェクトのファイルをトップレベルに移動しました
シグナリング "notify" に対応しました
イベントログに接続エラーの詳細を出力するようにしました
次の不要なファイルを削除しました
JSON.swift
API: Attendee: 追加しました
API: BuildInfo: 次のプロパティを削除しました
var VP9Enabled
API: Connection: 次のプロパティとメソッドを削除しました
var numberOfConnections
func onChangeNumberOfConnections(handler:)
API: ConnectionError:
var description
を追加しましたAPI: ConnectionController: ビットレートの設定項目を追加しました
API: ConnectionController: イベントログの画面を追加しました
API: ConnectionController: Cancel ボタンを Back ボタンに変更しました
API: Event.EventType:
ConnectionMonitor
を追加しましたAPI: MediaConnection: 次のプロパティとメソッドを追加しました
var numberOfConnections
func onAttendeeAdded(handler:)
func onAttendeeRemoved(handler:)
func onChangeNumberOfConnections(handler:)
API: MediaStreamRole: 削除しました
API: Role: 追加しました
API: PeerConnection: 接続状態に関わらず WebSocket のイベントハンドラを実行するようにしました
API: SignalingEventHandlers:
func onNotify(handler:)
を追加しましたAPI: SignalingEventType: 追加しました
API: SignalingNotify: 追加しました
API: SignalingRole: 追加しました
API: VideoFrame について以下を変更しました
var width
:Int
->Int32
var height
:Int
->Int32
API: ConnectionController: リファクタリングを行いました
API: ConnectionController: VP9 の有効・無効を示すセルを削除しました
FIX¶
Sora の URL のプロトコルが ws または wss 以外であればエラーにするよう変更しました
接続解除可能な状況でも
connectionBusy
のエラーが発生する現象を修正しました接続解除後も内部で接続状態の監視を続ける現象を修正しました
API: ConnectionController: 接続画面外で接続が解除されても接続画面では接続状態である現象を修正しました
API: VideoView のサイズの変化に動画のサイズが追従しない現象を修正しました
1.0.1¶
- 日時:
2017-06-05
- 対応 Sora:
17.04
[CHANGE] システム条件を更新しました
Xcode 8.1 以降 -> 8.3.2 以降
Swift 3.0.1 -> 3.1
[UPDATE] SoraApp の Cartfile で利用する shiguredo/sora-ios-sdk を 1.0.1 にアップデートしました
1.0.0¶
- 日時:
2017-04-10
- 対応 Sora:
17.02
[CHANGE] WebRTC M57 に対応しました
[CHANGE] 対応アーキテクチャを arm64 のみにしました
[CHANGE] マルチストリームに対応しました
[CHANGE] シグナリング: "notify" に対応しました
[CHANGE] シグナリング: Sora の仕様変更に伴い、 "stats" への対応を廃止しました
[CHANGE] シグナリング: Sora の仕様変更に伴い、 "connect" の "access_token" パラメーターを "metadata" に変更しました
[CHANGE] API: ArchiveFinished: 削除しました
[CHANGE] API: ArchiveFailed: 削除しました
[CHANGE] API: MediaConnection: MediaStream を複数保持するようにしました
[CHANGE] API: MediaConnection:
multistreamEnabled
プロパティを追加しました[CHANGE] API: MediaConnection: 次の変数の型を変更しました
webSocketEventHandlers
:WebSocketEventHandlers?
-->WebSocketEventHandlers
signalingEventHandlers
:SignalingEventHandlers?
-->SignalingEventHandlers
peerConnectionEventHandlers
:PeerConnectionEventHandlers?
-->PeerConnectionEventHandlers
[CHANGE] API: MediaConnection:
connect(accessToken:timeout:handler:)
メソッドの型をconnect(metadata:timeout:handler:)
に変更しました[CHANGE] API: MediaConnection, MediaStream: 次の API を MediaStream に移行しました
var videoRenderer
func startConnectionTimer(timeInterval:handler:)
[CHANGE] API: MediaConnection.State: 削除しました
[CHANGE] API: MediaOption.AudioCodec:
unspecified
をdefault
に変更しました[CHANGE] API: MediaOption.VideoCodec:
unspecified
をdefault
に変更しました[CHANGE] API: MediaPublisher:
autofocusEnabled
プロパティを追加しました[CHANGE] API: MediaStream: RTCPeerConnection のラッパーではなく、 RTCMediaStream のラッパーに変更しました
[CHANGE] API: MediaStream:
startConnectionTimer(timeInterval:handler:)
: タイマーを起動した瞬間もハンドラーを実行するようにしました[CHANGE] API: MediaStream.State: 削除しました
[CHANGE] API: PeerConnection: RTCPeerConnection のラッパーとして追加しました
[CHANGE] API: SignalingConnected: 削除しました
[CHANGE] API: SignalingCompleted: 削除しました
[CHANGE] API: SignalingDisconnected: 削除しました
[CHANGE] API: SignalingFailed: 削除しました
[CHANGE] API: StatisticsReport: RTCStatsReport の変更 (名前が RTCLegacyStatsReport に変更された) に伴い削除しました
[CHANGE] API: VideoView: 映像のアスペクト比を保持するようにしました
[UPDATE] API: MediaCapturer: 同一の RTCPeerConnectionFactory で再利用するようにしました
[UPDATE] API: MediaCapturer: 映像トラック名と音声トラック名を自動生成するようにしました
[UPDATE] API: VideoRenderer: 描画処理をメインスレッドで実行するようにしました
[UPDATE] API: VideoView: UI の設計に Nib ファイルを利用するようにしました
[UPDATE] API: VideoView: バックグラウンド (ビューがキーウィンドウに表示されていない) では描画処理を中止するようにしました
[ADD] API: BuildInfo: 追加しました
[ADD] API: ConnectionController: 追加しました
[ADD] API: Connection: 次の API を追加しました
var numberOfConnections
func onChangeNumberOfConnections(handler:)
[ADD] API: Connection, MediaConnection, MediaStream, PeerConnection: 次のイベントで (NotificationCenter による) 通知を行うようにしました
onConnect
onDisconnect
onFailure
[ADD] API: WebSocketEventHandlers, SignalingEventHandlers, PeerConnectionEventHandlers: イニシャライザーを追加しました
[FIX] シグナリング: 音声コーデック Opus を指定するためのパラメーターの間違いを修正しました
[FIX] 接続解除後にイベントログを記録しようとして落ちる現象を修正しました
[FIX] 接続失敗時にデバイスを初期化しようとして落ちる現象を修正しました (接続成功時のみ初期化するようにしました)
[FIX] 接続試行中にエラーが発生して失敗したにも関わらず、成功と判断されてしまう場合がある現象を修正しました
[FIX] API: MediaConnection: 接続解除後もタイマーが実行されてしまう場合がある現象を修正しました (タイマーに関する API は MediaStream に移動しました)
[FIX] API: PeerConnection: 接続失敗時でもタイムアウト時のイベントハンドラが呼ばれる現象を修正しました
0.x¶
0.1.0¶
- 日時:
2016-12-28
- 対応 Sora:
3.4