Sora Android SDK 1.6.0 リリース
時雨堂の WebRTC SFU Sora 向け Android SDK の 1.6.0をリリースしました。
前回の記事は 1.4 のリリース時でしたので、1.6.0 に限らずそこからの更新をまとめてみようと思います。
まず libwebrtc(webrtc.org)のバージョンについて。1.4.0 のときは M63ベースでしたが、SDK 1.5.2 で M64, そして SDK 1.6.0 で M66 と追従していっています。M65 に対応したバージョンが無い理由はサボったからではなく、M65 の libwebrtc ブランチに AAR (Android ARchive)生成バグが有り、動作するライブラリをビルドできなかったためです。
ちょっと横道にそれて時雨堂の libwebrtc のバージョン管理について書いてみます。libwebrtc は Google Chrome(chromium)とはリポジトリは独立で、ビルドも独立に出来ますが、Chrome と歩調を合わせてリリースブランチを切ってメンテナンスされています。時雨堂では Google Chrome の Stable リリースに合わせて対応する libwebrtc のブランチをビルドするという管理方法を取っています。昨日、Chrome の M68 が出ましたので、近々 Sora Android SDK も M68ベースに切り替わる予定です(ビルドできれば)。
次のトピックは、また libwebrtc 絡みですが、ビルドしたlibwebrtc AAR をjitpack.io でホストするようにしました。これまでも Sora Android SDK 自体は jitpack.io に置いていましたが、M67 ビルドからは時雨堂ビルドの libwebrtc AAR 単体でも取得できます。
これには少々下位非互換があり、sora-android-sdk を transitive なしで依存しているアプリケーションは別途 libwebrtc への依存を追加する必要があります。
みっつめはスポットライト機能についてです。Sora 自体の機能としてスポットライト機能が追加されました(18.04)。
SDK 1.6.0 ではスポットライト機能を利用するためのシグナリングのサポートが入りました。また本 SDK のサンプルアプリでは、スポットライト機能のデモとして、複数人でのスポットライトの会議が動き(Sora サーバが必要です)、Google Chrome, Firefox, Android 混在で動作します。デフォルトは映像と音声での参加ですが、自分は音声のみで受信は映像ももらうモードや、配信せず視聴のみのモードも動かすことが出来ます。
その他、libwebrtc のデバッグログ出力スイッチの追加、enableCpuOveruseDetection オプションの追加、シグナリング通知のコールバック追加など細かい機能追加も入っています。
こんなかんじで、Sora Android SDK は、libwebrtc への追従/対応、Sora サーバ本体への追従を行っています。それではまた。