リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2023.2.0

日時:

2023-08-29

対応 Sora:

2023.1.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m115.5790.8.0

  • [UPDATE] システム条件を更新しました

    • Android Studio 2022.2.1 以降

    • WebRTC SFU Sora 2023.1.0 以降

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

  • [ADD] 転送フィルター機能を追加しました

  • [ADD] scalability mode に対応しました

    • VP9 / AV1 のサイマルキャストに対応可能になりました

  • [ADD] 映像コーデックパラメータを追加しました

2023.1.0

日時:

2023-04-05

対応 Sora:

2022.2.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m112.5615.1.0

  • [CHANGE] type: offer の mid を必須とする修正をしました

    • この修正の結果、 type: offer に mid が含まれない場合は、エラーになります

    • 最新の Sora をご利用であれば問題は発生しません

  • [UPDATE] システム条件を更新しました

    • Android Studio 2021.3.1 以降

    • WebRTC SFU Sora 2022.2.2 以降

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

  • [UPDATE] 依存ライブラリーのバージョンをアップデートしました

    • org.jetbrains.dokka:dokka-gradle-plugin を 1.8.10 にアップデートしました

    • com.android.tools.build:gradle を 7.4.2 にアップデートしました

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

    • org.jlleitschuh.gradle:ktlint-gradle を 11.3.1 にアップデートしました

    • com.google.code.gson:gson を 2.10.1 にアップデートしました

    • androidx.test:core を 1.5.0 にアップデートしました

    • org.robolectric:robolectric: を 4.9.2 にアップデートしました

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

  • [UPDATE] 映像コーデックに AV1 を追加しました

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

  • [FIX] テストコード内に廃止された role が残っていたため修正しました

  • [FIX] PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY の設定を行なっていましたが Sora がネットワーク変更に対応しておらず不要な設定であるため削除しました

2022.4.0

日時:

2022-09-16

対応 Sora:

2022.1.1 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m105.5195.0.0

  • [CHANGE] type: offer の mid を必須とする修正をしました

    • この修正の結果、 type: offer に mid が含まれない場合は、エラーになります

    • 最新の Sora をご利用であれば問題は発生しません

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

  • [UPDATE] compileSdkVersion を 32 にアップデートしました

  • [UPDATE] targetSdkVersion を 32 にアップデートしました

  • [UPDATE] Kotlin のバージョンを 1.7.10 にアップデートしました

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

  • [UPDATE] 依存ライブラリーのバージョンをアップデートしました

    • com.android.tools.build:gradle を 7.2.2 にアップデートしました

    • org.jetbrains.kotlin:kotlin-gradle-plugin を 1.7.10 にアップデートしました

    • org.ajoberstar.grgit:grgit-gradle を 5.0.0 にアップデートしました

    • org.jetbrains.dokka:dokka-gradle-plugin を 1.7.10 にアップデートしました

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

    • org.jlleitschuh.gradle:ktlint-gradle を 10.3.0 にアップデートしました

    • com.pinterest:ktlint を 0.45.2 にアップデートしました

    • com.google.code.gson:gson を 2.9.1 にアップデートしました

    • com.squareup.okhttp3:okhttp を 4.10.0 にアップデートしました

    • org.jetbrains.kotlinx:kotlinx-coroutines-android を 1.6.4 にアップデートしました

    • org.robolectric:robolectric を 4.8.1 にアップデートしました

  • [FIX] mid を nullable に変更しました

    • develop で開発中に発生した不具合であり、リリース済みの Android SDK でこの問題は発生しません

    • 「type: offer の mid を必須にする」の対応で role が recvonly の時にエラーとなる不具合の修正です

  • [FIX] offer で受信した encodings が反映されない不具合を修正しました

    • develop で開発中に発生した不具合であり、リリース済みの Android SDK でこの問題は発生しません

  • [FIX] EGLContext が取れなかった場合、DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用するよう修正しました

    • EGLContext が取れなかった場合の Decoder を SoftwareVideoDecoderFactory から DefaultVideoDecoderFactory に変更しました

    • EGLContext が取れなかった場合の Encoder を SoftwareVideoEncoderFactory から SoraDefaultVideoEncoderFactory に変更しました

    • EGLContext は null でも Hardware を使用する MediaCodec は動作するため Hardware も動作可能な DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory に変更する対応です

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 で送信しようとした際、解像度調整ありの場合は 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] 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-2023, Shiguredo Inc. Created using Sphinx 7.2.6