古いリリースノート

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 の際に、自動的にサイマルキャストを有効化しない変更を行いました

  • [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 の指定に対応しました

  • [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 に遷移した際の切断処理中にクラッシュする問題を修正しました

    • BasicPeerChannelContextPeerChannel の循環参照を防ぐために弱参照を利用していましたが、それが原因で 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.SettingsCameraSettings にリネームしました

      • VideoCapturerHandlersCameraVideoCapturerHandlers にリネームしました

      • 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

    • 修正にともない SignalingClientMetadataSignalingNotifyMetadata にリネームしました

  • [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: unspecifieddefault に変更しました

  • [CHANGE] API: MediaOption.VideoCodec: unspecifieddefault に変更しました

  • [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

© Copyright 2018-2024, Shiguredo Inc. Created using Sphinx 8.1.3