古いリリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2024.3.0, 2024.3.1

日時:

2024-08-30

対応 Sora:

2024.1.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m127.6533.1.1

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

  • [UPDATE] Android Gradle Plugin (AGP) を 8.5.0 にアップデートしました

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

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

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

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

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

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

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

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

  • [FIX] Offer メッセージの encodings 内 maxFramerate の値が整数でない値であった場合にエラーとなる問題を修正

    • Offer メッセージでは W3C の定義に合わせて maxFramerate を Double で定義していますが、 libwebrtc では Integer で定義されているため、 Offer メッセージに設定された maxFramerate を int にキャストして設定するように修正しました

  • [FIX] Offer メッセージでサイマルキャスト有効を指定した場合にサイマルキャストが有効にならない問題を修正しました

2024.2.0

日時:

2024-04-23

対応 Sora:

2023.2.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m122.6261.1.0

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

    • libwebrtc の AV1 デコード機能の脆弱性対応が含まれています

2024.1.0, 2024.1.1

日時:

2024-03-19

対応 Sora:

2023.2.0 以降

対応 Android:

5.0 以降

対応 libwebrtc:

m121.6167.4.0

  • [CHANGE] NotificationMessagemetadata_list を削除しました

    • 2022.1.0 の Sora で metadata_list が廃止されたためあわせて廃止します

    • metadata_listdata に名称が変更されています

  • [CHANGE] NotificationMessagechannel_id を削除しました

    • 未使用項目であり、値が設定されない項目のため削除しました

  • [UPDATE] 転送フィルターの項目追加に対応しました

    • version が指定できるようになりました

    • metadata が指定できるようになりました

  • [UPDATE] 解像度に qHD (960x540, 540x960) を追加しました

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

    • Android Studio 2023.2.1 以降

    • WebRTC SFU Sora 2023.2.0 以降

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

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

  • [FIX] connect メッセージに設定するバージョンの取得方法を変更しました

    • 開発中のブランチでの出力値が意図せぬ結果になるため修正しました

    • リリースされた Sora Android SDK を利用している場合、この問題は発生しません

  • [FIX] ForwardingFilteraction を未指定にできるようにしました

  • [FIX] NotificationMessage に項目を追加しました

    • session_id

    • kind

    • destination_connection_id

    • source_connection_id

    • recv_connection_id

    • send_connection_id

    • stream_id

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 では切断処理を行わないよう変更します

1.x

1.10.0

日時:

2019-11-14

対応 Sora:

19.04.9

対応 libwebrtc:

75.16.0

UPDATE

  • minSdkVersion を 21 にアップデートしました - com.squareup.okhttp3:okhttp 4.2.2 が minSdkVersion 21 以上にのみ対応するため

  • libwebrtc を 78.8.0 にアップデートしました

  • Android Studio 3.5.1 に対応しました

  • Kotlin を 1.3.50 にアップデートしました

  • Dokka を 0.10.0 にアップデートしました

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

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

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

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

  • AudioDeviceManager 生成時のパラメータをオプション SoraAudioOption に追加しました - audioSource: android.media.MediaRecorder.AudioSource のいずれか - useStereoInput: boolean - useStereoOutput: boolean

ADD

  • シグナリング connect メッセージに sdk_type, sdk_versionuser_agent を追加しました

  • シグナリング connect メッセージに audio.opus_params を追加しました

  • 1:N サイマルキャストの視聴に対応しました

CHANGE

  • 時雨堂ビルドの libwebrtc ライブラリ名称を変更しました - 旧: sora-webrtc-android 、 新: shiguredo-webrtc-android - transitive = truesora-android-sdk に依存している場合はアプリケーション側の変更は不要です

  • シグナリング connect メッセージから simulcast_rid を削除しました

FIX

  • 視聴のみかつ H.264 を指定した場合に接続できない現象を修正しました

1.9.0

日時:

2019-08-02

対応 Sora:

19.04.9

対応 libwebrtc:

75.16.0

UPDATE

  • libwebrtc を 75.16.0 にアップデートしました

  • Android Studio 3.4.2 に対応しました

  • Kotlin を 1.3.41 にアップデートしました

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

  • io.reactivex.rxjava2:rxjava を 2.2.10 にアップデートしました

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

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

ADD

  • SoraMediaOptionaudioBitrate 設定を追加しました

  • SoraMediaOptionaudioOption: SoraAudioOption を追加しました

  • SoraAudioOption に libwebrtc 独自の音声処理設定のキーを追加しました

    • media constraints キーとの対応は以下の通りです:

    • ECHO_CANCELLATION_CONSTRAINT: "googEchoCancellation" 設定のキー

    • AUTO_GAIN_CONTROL_CONSTRAINT: "googAutoGainControl" 設定のキー

    • HIGH_PASS_FILTER_CONSTRAINT: "googHighpassFilter" 設定のキー

    • NOISE_SUPPRESSION_CONSTRAINT: "googNoiseSuppression"" 設定のキー

  • SoraAudioOption に音声処理に関するインターフェースを追加しました

    • AudioDeviceModule インスタンスの設定、デフォルトは null で JavaAudioDeviceModule を内部で生成します

    • ハードウェアの AEC (acoustic echo canceler) の利用有無を設定します。デフォルトでは可能であれば利用します。

    • ハードウェアの NS (noise suppressor) の利用有無を設定します。デフォルトでは可能であれば利用します。

    • libwebrtc 独自の音声処理の無効化設定、デフォルトはすべて有効です。 - audioProcessingEchoCancellation: "googEchoCancellation" に対応しました - audioProcessingAutoGainControl: "googAutoGainControl" に対応しました - audioProcessingHighpassFilter: "googHighpassFilter" に対応しました - audioProcessingNoiseSuppression: "googNoiseSuppression"" に対応しました

    • これらの設定の組み合わせ方によっては、端末依存でマイクからの音声が取れないことがあるため、 設定を決める際には実端末での動作確認が必要です

  • SoraErrorReason に音声の録音(audio record)、音声トラック(audio track)のエラーを追加しました

  • SoraMediaChannel.Lister のコールバックに onError(SoraErrorReason, String) を追加しました

    • デフォルトで何もしない実装のため、ソースコード上の変更は不要です

    • このバージョンでは JavaAudioDeviceModule の audio record, audio track 関連のエラーが このコールバックを通して通知されます。

  • rid-based simulcast に部分的に対応しました

    • 現状では、ソフトウェアエンコーダーのみで動作します。

    • 映像コーデックは VP8 のみの対応しています。

    • fixed resolution と一緒に使うとクラッシュ(SEGV)することが分かっています。

  • getStats を定期的に実行し統計を取得する API を追加しました

CHANGE

  • org.webrtc.PeerConnectionFactory に明示的に JavaAudioDeviceModule を渡すように変更しました

  • org.webrtc.audio.JavaAudioDeviceModuleHardwareAcousticEchoCanceler, HardwareNoiseSuppressor をデフォルトで有効にしました

    • 無効化したい場合には、個別に SoraAudioOption で設定し SoraMediaOption 経由で設定を渡せます。

  • audio source 作成時のデフォルト MediaConstraint で、libwebrtc 独自の音声処理をすべて有効化しました

    • 無効化したい場合には、個別に SoraAudioOption で設定し SoraMediaOption 経由で設定を渡せます。

1.8.1

日時:

2019-04-18

対応 Sora:

19.04.0

対応 libwebrtc:

73.10.1

UPDATE

  • libwebrtc を 73.10.1 にアップデートしました

  • encoder/decoder の対応コーデックのログ出力を追加しました

  • Kotlin を 1.3.30 にアップデートしました

  • Android Studio 3.4.0 に対応しました

  • SoraMediaOptionVideoEncoderFactoryVideoDecoderFactory を指定するオプションを追加しました

    • [プレビュー版]

  • SoraMediaChannel のコンストラクタに @JvmOverloads を追加し、Java からオーバーロードされて見えるよう 変更しました

    • これにより第 6 引数のタイムアウト値を省略したコンストラクタを呼び出せるようになります。

  • シグナリング connect メッセージの metadata を文字列だけでなく任意の型を受け付けるよう変更しました

    • 値は gson で変換できる必要があります。 Map, List は利用できます。

    • 文字列化された JSON を受け取った場合には、1.8.0 までと同様に、そのまま文字列値として取扱います。

  • シグナリング connect メッセージに client_id フィールドを追加しました - Sora 19.04 より前のバージョンでは、このフィールドを文字列に設定するとエラーになります

  • シグナリング connect メッセージの signaling_notify_metadataSoraMediaChannel コンストラクタから 指定できるようにしました

    • 値は gson で変換できる必要があります。 Map, List は利用できます。

    • オプション引数のため、これまでのコードでは指定なしで動作します。

    • Java で書かれたアプリケーションでは SoraMediaChannel のコンストラクタで signalingNotifyMetadata を を指定するには clientId を渡す必要があります。アプリケーションとして指定しない場合には null を渡すことで シグナリング connect メッセージには client_id が含まれません。

  • シグナリングパラメータのフィールド、型を Sora 19.04 に合わせ更新しました

  • gradle.properties.example に Robolectric の設定 android.enableUnitTestBinaryResources=true を追加しました

  • Sora 19.04.0 での connection_id 導入に伴い、ローカルトラック判定を connection_id で行うよう変更しました

    • 以前のバージョンでも動作するよう、offer に connection_id がない場合はこれまでどおり client_id を使います。

  • シグナリング通知機能の network.status に対応しました

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

  • io.reactivex.rxjava2:rxandroid を 2.1.1 にアップデートしました

  • io.reactivex.rxjava2:rxjava を 2.2.8 にアップデートしました

CHANGE

  • kotlin-stdlib-jdk7 依存を kotlin-stdlib に変更しました

    • sora-android-sdk の minSdkVersion が 16 であるためです

ADD

  • CameraCapturerFactory に解像度維持を優先するオプションを追加しました

1.8.0

日時:

2019-02-01

対応 Sora:

18.10.5

対応 libwebrtc:

71.16.0

UPDATE

  • libwebrtc を 71.16.0 にアップデートしました

  • Kotlin を 1.3.20 にアップデートしました

  • libwebrtc の M72 をスキップしました

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

  • io.reactivex.rxjava2:rxjava を 2.2.6 にアップデートしました

  • Android Studio 3.3 に対応しました

  • com.github.dcendents:android-maven-gradle-plugin を 2.1 にアップデートしました

  • WebRTC 1.0 spec に一部追従しました

    • offerToReceiveAudio/offerToReceiveVideo から Transceiver API に変更しました。

    • onTrack, onRemoveTrack は libwebrtc android sdk で対応されていないため見送っています。

CHANGE

  • SDP semantics のデフォルト値を Unified Plan に変更しました

    • upstream のシグナリングで audio や video が false の場合でも、他の配信者の audio や video のトラックを受信する SDP が Sora から offer されるように変更されます。

    • Plan B のときには audio false のときには audio track が SDP に含まれず、 video が false のときには video のトラックが含まれていませんでした。 これは Plan B の制限による挙動でした。

1.7.1

日時:

2018-10-18

対応 Sora:

18.04.12

対応 libwebrtc:

70.14.0

UPDATE

  • libwebrtc を 70.14.0 にアップデートしました

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

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

  • io.reactivex.rxjava2:rxandroid を 2.1.0 にアップデートしました

  • io.reactivex.rxjava2:rxjava を 2.2.2 にアップデートしました

  • io.reactivex.rxjava2:rxkotlin を 2.3.0 にアップデートしました

ADD

  • Unified Plan に試験的に対応しました

    • 正式対応ではありません

FIX

  • Sora で turn が無効の場合にシグナリングに失敗する問題を修正しました

1.7.0

日時:

2018-08-14

対応 Sora:

18.04.10

対応 libwebrtc:

68.10.1.1

UPDATE

  • Android Studio 3.1.4 に対応しました

  • libwebrtc を 68.10.1.1 にアップデートしました

ADD

  • webrtc-buildのバージョンと webrtc git のハッシュのログを追加しました

CHANGE

  • SoraSerivceUtil.isRunning を削除しました

    • Oreo で ActivityManager#getRunningSerivces が deprecated になったため

    • このユーティリティを利用していた場合はソースコードの変更が必要です

1.6.0

日時:

2018-07-24

対応 Sora:

18.04.10

対応 libwebrtc:

67.28.0.1

UPDATE

  • Android Studio 3.1.3 に対応しました

  • Kotlin を 1.2.51 にアップデートしました

  • PeerConnectionFactory を builder から作るよう修正しました

  • libwebrtc を 67.28.0.1 にアップデートしました

ADD

  • 時雨堂ビルドの libwebrtc AAR を jitpack.io 上にホストし、本 SDK からは build.gradle での依存としました

    • 本 SDK への依存設定に transitive を使っていないアプリケーションは別途依存を追加する必要があります

  • connect オプションの spotlight に対応しました

  • 映像の解像度の選択肢を増やしました

  • SoraMediaOption に enableCpuOveruseDetection を追加しました

  • SoraMediaOption に sdpSemantics を追加しました

    • ただし動作確認は Plan-B (PLAN_B) のみ

  • SoraMediaOption に tcpCandidatePolicy を追加しました - もともと内部的に用いていたオプションの格上げです - デフォルト値はこれまでと同様に ENABLED としています

  • NotificationMessageclientId を追加しました

    • 必須項目です (SDK が設定します)

  • NotificationMessageaudio, video, metadata, metadataList, channelId, spotlightId, fixed を追加しました

    • すべてオプション(nullable)項目です

  • SoraMediaChannel にシグナリング通知機能のメッセージ受信コールバックを追加しました

    • onNotificationMessage を実装することで独自のメッセージ処理が可能です

### CHANGE

  • NotificationMessagerole, connectionTime, numberOfConnections, numberOfUpstreamConnections, numberOfDownstreamConnections フィールドをオプション(nullable)に変更しました

    • 型として下位互換性を壊す変更です これらのフィールドを参照しているソースコードは修正の必要があります

  • スナップショット機能を削除しました

  • MediaStream#label() の代わりに id を使うよう変更しました

    • libwebrtc の変更の影響です

    • label() を用いているアプリケーションコードは id に変更してください

### FIX

  • 自分のストリーム判断に配信ストリームがある場合のみの条件があったが、マルチストリームの場合という 条件に置き換えました

    • single stream (pub, sub) およびマルチストリームではこの変更は影響ありません

    • スポットライトのみ影響があり、視聴モードでも自分の clientId が MSID のストリームについて onAddRemotestream イベントを発火させないようになっています

1.5.4

日時:

2018-03-28

対応 Sora:

18.02.2

対応 libwebrtc:

66.8.1

UPDATE

  • PeerConnectionFactory.createPeerConnection/3 deprecated に対応しました

1.5.3

日時:

2018-03-28

対応 Sora:

18.02.2

対応 libwebrtc:

66.8.1

UPDATE

  • libwebrtc を 66.8.1 にアップデートしました

  • Kotlin を 1.2.31 にアップデートしました

1.5.2

日時:

2018-03-07

対応 Sora:

18.02

対応 libwebrtc:

64.5.0

UPDATE

  • libwebrtc を 64.5.0 にアップデートしました

  • deprecated warning を修正しました

  • Signaling connect 時に client offer の SDP を追加しました

  • Kotlin 1.2.30 にアップデートしました

1.5.1

日時:

2018-02-16

対応 Sora:

18.01

対応 libwebrtc:

63.13.0

ADD

  • Sora Android SDK の API ドキュメントを追加しました

1.5.0

日時:

2018-02-15

対応 Sora:

18.01

対応 libwebrtc:

63.13.0

ADD

  • Sora のプッシュ API のメッセージを SoraMediaChannel.Listener に伝える機能を追加しました

1.4.1

日時:

2017-12-22

対応 Sora:

17.10

対応 libwebrtc:

63.13.0

UPDATE

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

1.4.0

日時:

2017-12-22

対応 Sora:

17.10

対応 libwebrtc:

63.13.0

UPDATE

  • Android Studio 3.0 に対応しました

    • gradle: 4.1

    • android-maven-gradle-plugin: 2.0

  • Kotlin 1.2.10 にアップデートしました

1.3.1

日時:

2017-12-21

対応 Sora:

17.10

対応 libwebrtc:

63.13.0

UPDATE

  • libwebrtc を 63.13.0 にアップデートしました

  • Kotlin 1.1.51 にアップデートしました

1.3.0

日時:

2017-09-22

対応 Sora:

17.08

対応 libwebrtc:

61.5.0

FIX

  • 自身が down を持たない場合に multistream が有効にならない現象を修正しました

  • 自身が up を持たない場合にリモートストリームが通知されない現象を修正しました

1.2.0

日時:

2017-09-21

対応 Sora:

17.08

対応 libwebrtc:

61.5.0

UPDATE

  • libwebrtc のバージョンをアップデートしました

1.1.0

日時:

2017-09-07

対応 Sora:

17.08

対応 libwebrtc:

60.11.0

UPDATE

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

ADD

  • sources jar 生成の設定を追加しました

  • libwebrtc.aar ダウンロードを gradle task 化しました

  • JitPack でにビルドと配布に対応しました

CHANGE

  • libwebrtc.aar を sora-android-sdk AAR に含めました

1.0.0

日時:

2017-08-30

対応 Sora:

17.08

対応 libwebrtc:

60.11.0

Sora Android SDK 最初のリリースです。

© Copyright 2018-2025, Shiguredo Inc. Created using Sphinx 8.2.3