リリースノート¶
- 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] 映像コーデックパラメータを追加しました
SoraMediaOption
にvideoVp9Params
,videoAv1Params
,videoH264Params
を追加しました詳細は 映像コーデックパラメーターの設定 をご確認ください
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]
SoraMediaOption
にaudioStreamingLanguageCode
を追加しました[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]
SoraMediaOption
にhardwareVideoEncoderResolutionAdjustment
を追加しました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]
SoraMediaChannel
にproxy
を追加し、接続時に HTTP プロキシの設定を追加できるようにしました詳細は プロキシ・サーバーの設定 をご確認ください
[ADD]
SoraMediaChannel
にbundleId
を追加しました
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]
SoraMediaChannel
にcontactSignalingEndpoint
を追加しました最初に type: connect を送信したエンドポイントが設定されます
[UPDATE]
SoraMediaOption
にrole
を追加しましたtype: connect の role を明示的に指定できるようになりました
DataChannel を利用したメッセージングのみで接続する ときに利用されることを想定しています
未指定の場合は、従来通り、 SDK が role を自動的に決定しますので影響はありません
[ADD] メッセージング機能に対応しました
詳細は メッセージング機能 をご確認ください
[FIX]
SoraMediaChannel.Listener
にonOfferMessage
を追加しました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 が指定できるようになりました
詳細は 複数のシグナリング URL を指定する をご確認ください
[ADD] redirect メッセージに対応しました
詳細は クラスター機能利用時のシグナリングのリダイレクト をご確認ください
[ADD] type: disconnect に reason を追加しました
Sora クライアント要求仕様 に紐づく修正です
[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]
NotificationMessage
にturnTransportType
を追加しました[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:junit
を4.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.Listener
にonWarning
メソッドを追加しましたこのバージョンでは
ICE_DISCONNECTED
の通知のみに利用していますネットワークが不安定であることを UI に伝えることを想定ユースケースとしています
デフォルト実装は処理なしです
[FIX] IceConnectionState = disconnected では切断処理を行わないよう変更します