リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2022.3.0

日時:

2022-06-29

対応 Sora:

2022.1.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m103.5060.4.0

  • [CHANGE] SoraMediaOptionhardwareVideoEncoderResolutionAdjustment を追加しました

    • HW エンコーダーに入力されるフレームの解像度が指定されたピクセル数の倍数になるように調整します。デフォルト値は 16 です。このオプションを実装した経緯は解像度が 16 の倍数でない場合、 HW エンコーダーの初期化がエラーになる変更が libwebrtc のメインストリームに入ったことによります。

    • Sora Android SDK では libwebrtc にパッチを当て、上記の HW エンコーダー初期化時の解像度のチェックを無効化しています。そのため、このフラグを SoraVideoOption.ResolutionAdjustment.NONE に設定することで、従来通り、解像度を調整することなく HW エンコーダーを利用できます。

    • 加えて、解像度調整ありでエンコーダーの初期化またはエンコード処理に失敗した際に、解像度調整なしで操作をリトライする処理を追加しています。

      • Android OS 11 の Xperia 5 II で VGA のサイマルキャストを H.264 で送信しようとした際、解像度調整ありの場合 (= hardwareVideoEncoderResolutionAdjustment が MULTIPLE_OF_16 の場合) は HW エンコーダーの初期化が失敗するが、解像度調整なしの場合は成功する現象を確認したためです。

  • [UPDATE] SoraMediaOption.enableSpotlight() の引数に enableSimulcast を追加し、サイマルキャスト無効の状態でスポットライト機能を利用できるようにしました

  • [UPDATE] libwebrtc を 103.5060.4.0 にアップデートしました

  • [UPDATE] 依存ライブラリー org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9 を追加する

  • [UPDATE] システム条件を Android Studio 2021.2.1 にアップデートしました

  • [ADD] SoraMediaChannelproxy を追加し、接続時に HTTP プロキシの設定を追加できるようにしました

  • [ADD] SoraMediaChannelbundleId を追加しました

2022.2.0

日時:

2022-04-04

対応 Sora:

2021.2.1 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m96.4664.2.1

  • [CHANGE] Sora で廃止となった以下のフィールドを削除しました

    • NotificationMessage.numberOfUpstreamConnections

    • NotificationMessage.numberOfDownstreamConnections

    • ChannelAttendeesCount.numberOfUpstreams

    • ChannelAttendeesCount.numberOfDownstreams

  • [UPDATE] SoraMediaChannelcontactSignalingEndpoint を追加しました

    • 最初に type: connect を送信したエンドポイントが設定されます

  • [UPDATE] SoraMediaOptionrole を追加する

  • [ADD] メッセージング機能に対応する

  • [FIX] SoraMediaChannel.ListeneronOfferMessage を追加する

    • type: offer に含まれる metadata などにアクセスできるよう修正しました

2022.1.0

日時:

2022-01-12

対応 Sora:

2021.2.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m96.4664.2.1

  • [CHANGE] スポットライトレガシー機能を廃止しました

  • [UPDATE] libwebrtc を 96.4664.2.1 アップデートしました

  • [UPDATE] dokka を 1.5.31 にアップデートしました

  • [ADD] 複数シグナリング URL が指定できるようになりました

  • [ADD] redirect メッセージに対応しました

  • [ADD] type: disconnect に reason を追加しました

  • [FIX] 視聴のみかつ H.264 した場合に接続できない問題についてのワークアラウンドを削除しました

    • SoraMediaOption.videoUpstreamContext が無く SoraMediaOption.videoDownstreamContext がある場合はコーデック指定に依らず、 DefaultVideoEncoderFactory を使用するように変更しています

  • [FIX] libwebrtc のアップデート後に発生するようになったサイマルキャストのクラッシュを修正しました

    • SimulcastVideoEncoderFactoryWrapper.kt の Fallback クラスが原因で java.lang.UnsupportedOperationException が発生していました

    • 調査の結果、 Fallback クラスを削除できることがわかったため、その方向で修正をしました

    • libwebrtc に適用している Android のサイマルキャスト対応のパッチを更新し、 SimulcastVideoEncoderFactory の fallback に null を指定できるように修正しました

2021.3

日時:

2021-10-07

対応 Sora:

2021.1 以降

対応 libwebrtc:

m93.4577.8.2

  • [UPDATE] libwebrtc を 93.4577.8.2 にアップデートしました

  • [FIX] stats メッセージに含まれる統計情報のフォーマットを修正しました

2021.2

日時:

2021-08-05

対応 Sora:

2021.1

対応 libwebrtc:

m92.4515.9.1

  • [CHANGE] SoraMediaChannel のコンストラクタ引数 channelId の型を String? から String に変更しました

  • [CHANGE] connect メッセージの定義を以下の通り見直しました

    • connectionId の型を String? から String に変更

    • sdp_error を削除

  • [UPDATE] スポットライト接続時に spotlight_focus_rid / spotlight_unfocus_rid を指定できるようにしました

  • [UPDATE] offer に mid が含まれる場合は、 mid を利用して sender を設定するようにしました

  • [UPDATE] libwebrtc を 92.4515.9.1 にアップデートしました

  • [UPDATE] com.android.tools.build:gradle を 4.2.2 にアップデートしました

  • [UPDATE] JCenter サービスの利用を終了しました

  • [UPDATE] AES-GCM を利用可能にしました

  • [ADD] データチャネルシグナリングに対応しました

    • data_channel_signlaing, ignore_disconnect_websocket パラメータ設定を追加

    • onDataChannel コールバックを実装

    • 各 label に対応するデータチャネル関係のコールバックを実装

    • WebSocket 側の type:switched 受信の処理を追加

  • [FIX] 終了前にシグナリング Disconnect メッセージ送信を追加しました

    • 状態により WebSocket, DataChannel どちらかで送信するよう変更

  • [FIX] offer に data_channels が含まれない場合に対応しました

  • [FIX] 接続 / 切断を検知する処理を改善しました

    • 修正前は IceConnectionState を参照していたが、 PeerConnectionState を参照するように修正

    • SoraErrorReason の以下の値を参照するコードは修正が必要です

      • ICE_FAILURE => PEER_CONNECTION_FAILED

      • ICE_CLOSED_BY_SERVER => PEER_CONNECTION_CLOSED

      • ICE_DISCONNECTED => PEER_CONNECTION_DISCONNECTED

  • [FIX] NotificationMessageturnTransportType を追加しました

  • [FIX] SoraSpotlightOption から simulcastRid を削除しました

    • スポットライトでは simulcast_rid を指定しても動作しないためです

  • [FIX] 接続成功時のコールバックが複数回実行されないように修正しました

    • 修正前は、 PeerConnectionState が CONNECTED に遷移する度に PeerChannel.Listener.onConnect が実行される可能性があったため初回のみコールバックが実行されるように修正

2021.1.1

日時:

2021-07-01

対応 Sora:

2021.1

対応 libwebrtc:

m89.4389.7.0

  • [CHANGE] enum class SimulcastRid の定義を jp.shiguredo.sora.sdk.channel.signaling.message から jp.shiguredo.sora.sdk.channel.option.SoraVideoOption に変更しました

  • [FIX] Sora への接続時に simulcast_rid を指定するとエラーになる問題を修正しました

2021.1

日時:

2021-03-31

対応 Sora:

2020.3

対応 libwebrtc:

m89.4389.7.0

  • [UPDATE] libwebrtc を 89.4389.7.0 にアップデートしました

  • [UPDATE] Kotlin を 1.4.31 にアップデートしました

  • [UPDATE] Gradle を 6.8.3 にアップデートしました

  • [UPDATE] com.android.tools.build:gradle を 4.1.2 にアップデートしました

  • [UPDATE] com.squareup.okhttp3:okhttp を 4.8.1 にアップデートしました

  • [UPDATE] io.reactivex.rxjava2:rxjava を 2.2.19 にアップデートしました

  • [UPDATE] io.reactivex.rxjava2:rxkotlin を 2.4.0 にアップデートしました

  • [UPDATE] com.github.ben-manes:gradle-versions-plugin を 0.38.0 にアップデートしました

  • [UPDATE] org.ajoberstar.grgit:grgit-gradle を 4.1.0 にアップデートしました

  • [UPDATE] com.squareup.okhttp3:okhttp を 4.9.1 にアップデートしました

  • [UPDATE] io.reactivex.rxjava2:rxjava を 2.2.21 にアップデートしました

  • [UPDATE] シグナリング pong に統計情報を含めるようにしました

  • [UPDATE] 最新のサイマルキャストの仕様に追従しました

  • [UPDATE] サイマルキャストで VP8 / H.264 (ハードウェアアクセラレーション含む) に対応しました

  • [UPDATE] サイマルキャストで TextureBuffer のエンコードに対応しました

  • [UPDATE] 最新のスポットライトの仕様に追従しました

  • [UPDATE] SoraMediaOption.enableSimulcast() に引数を追加しました

  • [UPDATE] SoraMediaOption.enableSpotlight() を追加しました

  • [UPDATE] SoraSpotlightOption を追加しました

  • [UPDATE] SoraMediaChannel.connectionId を追加しました

  • [UPDATE] 廃止予定のプロパティに Deprecated アノテーションを追加しました

    • ChannelAttendeesCount.numberOfUpstreams

    • ChannelAttendeesCount.numberOfDownstreams

    • NotificationMessage.numberOfUpstreamConnections

    • NotificationMessage.numberOfDownstreamConnections

  • [FIX] NotificationMessage に漏れていた以下のフィールドを追加しました

    • authn_metadata

    • authz_metadata

    • channel_sendrecv_connections

    • channel_sendonly_connections

    • channel_recvonly_connections

  • [FIX] サイマルキャストパラメータ active: false が無効化されてしまう問題を修正しました

  • [FIX] スポットライトレガシーに対応しました

    • スポットライトレガシーを利用する際は Sora.usesSpotlightLegacy = true を設定する必要があります

    • スポットライトレガシーは 2021 年 12 月に予定されている Sora のアップデートで廃止されます

2020.3

日時:

2020-07-04

対応 Sora:

2020.1

対応 libwebrtc:

m83.4103.12

  • [CHANGE] 古いロール upstream, downstream を削除しました

  • [CHANGE] SoraAudioOption.audioSource のデフォルト値を VOICE_COMMUNICATION に変更しました

  • [UPDATE] libwebrtc を 83.4103.12.2 にアップデートしました

  • [UPDATE] com.android.tools.build:gradle を 4.0.0 にアップデートしました

  • [UPDATE] com.squareup.okhttp3:okhttp を 4.7.2 にアップデートしました

  • [ADD] 新しいロール sendonly, recvonly, sendrecv に対応しました

2020.2

日時:

2020-05-19

  • [CHANGE] compileSdkVersion を 29 に変更しました

  • [CHANGE] targetSdkVersion を 29 に変更しました

  • [CHANGE] シグナリング connect に含めるクライアント情報を変更しました

  • [UPDATE] Kotlin を 1.3.72 にアップデートしました

  • [UPDATE] Dokka を 0.10.1 にアップデートしました

  • [UPDATE] libwebrtc を 79.5.1 にアップデートしました

  • [UPDATE] com.android.tools.build:gradle を 3.6.3 にアップデートしました

  • [UPDATE] com.squareup.okhttp3:okhttp を 4.6.0 にアップデートしました

  • [UPDATE] junit:junit4.13 にアップデートしました

  • [UPDATE] Offer SDP 生成失敗時、エラーメッセージをシグナリング connect の sdp_error に含めて送信するよう変更しました

2020.1

日時:

2020-04-07

  • [UPDATE] com.android.tools.build:gradle を 3.5.3 にアップデートしました

  • [ADD] CameraCapturerFactory にフロント/リアカメラの優先順位のオプションを追加しました

  • [ADD] サイマルキャスト配信のエンコーダ設定変更用コールバックを追加しました

    • SoraMediaChannel.Listener#onSenderEncodings()

  • [ADD] 定数 SoraErrorReason.ICE_DISCONNECTED を追加しました

  • [ADD] SoraMediaChannel.ListeneronWarning メソッドを追加しました

    • このバージョンでは ICE_DISCONNECTED の通知のみに利用しています

    • ネットワークが不安定であることを UI に伝えることを想定ユースケースとしています

    • デフォルト実装は処理なしです

  • [FIX] IceConnectionState = disconnected では切断処理を行わないよう変更します

© Copyright 2018-2022, Shiguredo Inc. Created using Sphinx 5.0.2