Skip to content

Releases: shiguredo/sora-android-sdk

2024.2.0

23 Apr 07:49
Compare
Choose a tag to compare
  • [UPDATE] libwebrtc を 122.6261.1.0 に上げる
  • [UPDATE] Github Actions の actions/setup-java@v4 にあげる

2024.1.1

19 Mar 07:24
Compare
Choose a tag to compare

2024.1.1

  • [FIX] jitpack.yml を追加して jdk のバージョンを 11 に指定する
    • JitPack で jdk 8 でビルドが走ってエラーとなったため、明示的に利用する jdk を指定する
    • @miosakuma

2024.1.0

  • [CHANGE] NotificationMessagematadata_list を削除する
    • 2022.1.0 の Sora で metadata_list が廃止されたため
    • NotificationMessage の data で値の取得が可能
    • @miosakuma
  • [CHANGE] NotificationMessagechannel_id を削除する
    • Sora から値を通知しておらず利用していない項目のため削除する
    • @miosakuma
  • [UPDATE] libwebrtc を 121.6167.4.0 に上げる
    • コンバイルに利用する Java のバージョンを 1.8 に上げる
    • @miosakuma
  • [UPDATE] 解像度に qHD (960x540, 540x960) を追加する
  • [UPDATE] ForwardingFilterversionmetadata を追加する
  • [ADD] H.265 に対応する
    • SoraVideoOptionCodecH265 を追加しました
    • @enm10k
  • [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める
    • 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正
    • リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし
    • @enm10k
  • [FIX] ForwardingFilteraction を未指定にできるようにする
  • [FIX] NotificationMessage に項目を追加する
    • session_id
    • kind
    • destination_connection_id
    • source_connection_id
    • recv_connection_id
    • send_connection_id
    • stream_id
    • @miosakuma

2024.1.0

19 Mar 05:56
Compare
Choose a tag to compare

JitPack でのビルドに失敗したため再リリースを行なっています。 2024.1.1 を利用してください。

  • [CHANGE] NotificationMessagematadata_list を削除する
    • 2022.1.0 の Sora で metadata_list が廃止されたため
    • NotificationMessage の data で値の取得が可能
    • @miosakuma
  • [CHANGE] NotificationMessagechannel_id を削除する
    • Sora から値を通知しておらず利用していない項目のため削除する
    • @miosakuma
  • [UPDATE] libwebrtc を 121.6167.4.0 に上げる
    • コンバイルに利用する Java のバージョンを 1.8 に上げる
    • @miosakuma
  • [UPDATE] 解像度に qHD (960x540, 540x960) を追加する
  • [UPDATE] ForwardingFilterversionmetadata を追加する
  • [ADD] H.265 に対応する
    • SoraVideoOptionCodecH265 を追加しました
    • @enm10k
  • [FIX] connect メッセージに設定するバージョンの取得に git describe を使うのを止める
    • 開発中に develop ブランチなどでの出力が意図せぬ結果になるため修正
    • リリースされた Sora Android SDK では正常な出力になるため、ユーザーへの影響はなし
    • @enm10k
  • [FIX] ForwardingFilteraction を未指定にできるようにする
  • [FIX] NotificationMessage に項目を追加する
    • session_id
    • kind
    • destination_connection_id
    • source_connection_id
    • recv_connection_id
    • send_connection_id
    • stream_id
    • @miosakuma

2023.2.0

29 Aug 07:24
Compare
Choose a tag to compare
  • [UPDATE] システム条件を更新する
    • Android Studio 2022.2.1 以降
    • WebRTC SFU Sora 2023.1.0 以降
    • @miosakuma
  • [UPDATE] libwebrtc を 115.5790.8.0 に上げる
  • [ADD] 転送フィルター機能を追加する
  • [ADD] scalability mode に対応する
    • VP9 / AV1 のサイマルキャストに対応可能になる
    • @szktty
  • [ADD] 映像コーデックパラメータを追加する
    • SoraMediaOptionvideoVp9Params, videoAv1Params, videoH264Params を追加する
    • @miosakuma

2023.1.0

05 Apr 05:01
Compare
Choose a tag to compare
  • [UPDATE] システム条件を更新する
    • Android Studio 2022.1.1 以降
    • WebRTC SFU Sora 2022.2.0 以降
    • @miosakuma
  • [UPDATE] Kotlin のバージョンを 1.8.10 に上げる
  • [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 に上げる
    • @miosakuma
  • [UPDATE] libwebrtc を 112.5615.1.0 に上げる
  • [UPDATE] 映像コーデックに AV1 を追加する
  • [ADD] SoraMediaOptionaudioStreamingLanguageCode を追加する
  • [FIX] テストコード内に廃止された role が残っていたため最新化する
  • [FIX] PeerConnection.ContinualGatheringPolicy.GATHER_CONTINUALLY は Sora がネットワーク変更に対応しておらず不要な設定であるため削除する

2022.4.0

16 Sep 08:58
Compare
Choose a tag to compare
  • [CHANGE] type: offer の mid を必須にする
    • この修正の結果、 type: offer に mid が含まれない場合は、エラーになります
    • @enm10k
  • [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 に上げる
    • @miosakuma
  • [FIX] mid を nullable に変更する
    • 「type: offer の mid を必須にする」の対応で role が recvonly の時にエラーとなる不具合の修正
    • @miosakuma
  • [FIX] offer で受信した encodings が反映されない不具合を修正する
  • [FIX] EGLContext が取れなかった場合、DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用する
    • EGLContext が取れなかった場合の Decoder を SoftwareVideoDecoderFactory から DefaultVideoDecoderFactory に変更する
    • EGLContext が取れなかった場合の Encoder を SoftwareVideoEncoderFactory から SoraDefaultVideoEncoderFactory に変更する
    • EGLContext は null でも Hardware を使用する MediaCodec は動作するため HW も動作可能な DefaultVideoDecoderFactory, SoraDefaultVideoEncoderFactory を使用する
    • @miosakuma

2022.3.0

29 Jun 01:38
Compare
Choose a tag to compare
  • [CHANGE] SoraMediaOption に hardwareVideoEncoderResolutionAdjustment を追加する
    • HW エンコーダーに入力されるフレームの解像度が指定された数の倍数になるように調整する
    • デフォルトでは 16 が指定されている
    • このオプションを実装した経緯は以下の通り
    • Sora Android SDK では libwebrtc にパッチを当て、上記の HW エンコーダー初期化時の解像度のチェックを無効化している
    • そのため、このフラグを SoraVideoOption.ResolutionAdjustment.NONE に設定することで、従来通り、解像度を調整することなく HW エンコーダーを利用できる
    • より詳細な情報は以下のリンクを参照
    • 加えて、解像度調整ありでエンコーダーの初期化またはエンコード処理に失敗した際に、解像度調整なしで操作をリトライする処理も実装した
      • Android OS 11 の Xperia 5 II で VGA のサイマルキャストを H.264 で送信しようとした際、解像度調整ありの場合 (= hardwareVideoEncoderResolutionAdjustment が MULTIPLE_OF_16 の場合) は HW エンコーダーの初期化が失敗するが、解像度調整なしの場合は成功する現象を確認したため、この処理を実装した
    • @enm10k
  • [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] HTTP プロキシに対応する
  • [ADD] SoraMediaChannel に bundleId を追加する

2022.2.0

05 Apr 01:05
Compare
Choose a tag to compare
  • [CHANGE] Sora で廃止となった以下のフィールドを削除する
    • NotificationMessage.numberOfUpstreamConnections
    • NotificationMessage.numberOfDownstreamConnections
    • ChannelAttendeesCount.numberOfUpstreams
    • ChannelAttendeesCount.numberOfDownstreams
    • @miosakuma
  • [UPDATE] SoraMediaChannel に contactSignalingEndpoint を追加する
    • 最初に type: connect を送信したエンドポイントを表す
    • この変更と併せて、 connectedSignalingEndpoint をセットするタイミングを、 type: connect 送信時から type: offer 送信時に変更した
    • @enm10k
  • [UPDATE] SoraMediaOption に role を追加する
    • type: connect の role を明示的に指定できるようなった
    • 未指定の場合は、従来通り、 SDK が role を自動的に決定する
    • @enm10k
  • [ADD] メッセージング機能に対応する
  • [FIX] SoraMediaChannel.Listener に onOfferMessage を追加する
    • type: offer に含まれる metadata などにアクセスするために必要だった
    • @enm10k

2022.1.0

12 Jan 02:24
Compare
Choose a tag to compare
  • [CHANGE] スポットライトレガシーを削除する
  • [UPDATE] libwebrtc を 96.4664.2.1 に上げる
  • [UPDATE] dokka を 1.5.31 に上げる
  • [ADD] 複数シグナリング URL の指定に対応する
    • SoraMediaChannel に connectedSignalingEndpoint を追加する
    • @enm10k
  • [ADD] redirect メッセージに対応する
  • [ADD] type: disconnect に reason を追加する
  • [FIX] 視聴のみかつ H.264 した場合に接続できない問題についてのワークアラウンドを削除する
    • SoraMediaOption.videoUpstreamContext が無く SoraMediaOption.videoDownstreamContext
      がある場合はコーデック指定に依らず、 DefaultVideoEncoderFactory を使用する
    • @miosakuma
  • [FIX] libwebrtc の更新で発生するようになったサイマルキャストのクラッシュを修正する
    • SimulcastVideoEncoderFactoryWrapper.kt の Fallback クラスが原因で java.lang.UnsupportedOperationException が発生していた
    • 調査の結果、 Fallback クラスを削除できることがわかったので、その方向で修正した
    • その過程で、 libwebrtc に適用している Android のサイマルキャスト対応のパッチを更新し、 SimulcastVideoEncoderFactory の fallback に null を指定できるようにした
    • @enm10k

2021.3

07 Oct 03:01
Compare
Choose a tag to compare
  • [UPDATE] libwebrtc を 93.4577.8.2 に上げる
  • [FIX] stats メッセージに含まれる統計情報のフォーマットを修正する