2026.1.0
リリース日: 2026-03-02
- [CHANGE]
SoraMediaOption.enableSimulcast(rid: SoraVideoOption.SimulcastRid? = null)のデフォルト値を削除してSoraMediaOption.enableSimulcast(rid: SoraVideoOption.SimulcastRid?)に変更する- 同時に
SoraMediaOption.enableSimulcast(rid: SoraVideoOption.SimulcastRid?)を非推奨化する - 移行先は
enableSimulcast(requestRid: SoraVideoOption.SimulcastRequestRid? = null) - @zztkm
- 同時に
- [UPDATE] libwebrtc を 144.7559.2.2 に上げる
- [UPDATE] SoraMediaChannel.setAudioRecordingPaused を非推奨にする
- 代替として
SoraMediaChannel. setAudioHardMuteを利用できる - @zztkm
- 代替として
- [UPDATE] SoraMediaOption の
enableVideoUpstreamの引数にcameraConfig: SoraCameraConfig? = nullを追加する- SoraMediaChannel.setVideoHardMute などの VideoCapturer を操作する API を利用する場合は cameraConfig を設定する必要がある
- @zztkm
- [ADD] SoraMediaOption に
enableVideoUpstream(eglContext, cameraConfig)を追加する- SDK 内部で CameraVideoCapturer を生成する場合に使用する
- @zztkm
- [ADD] SoraMediaChannel に
getStatsメソッドを追加する- このメソッドを使うことでクライアントの WebRTC 統計情報を取得できる
- 非同期コールバックである PeerChannel.getStats をラップして Kotlin コルーチンから扱いやすい suspend 関数として実装した
- @zztkm
- [ADD] SoraAudioOption に
initialAudioHardMuteプロパティを追加する- このプロパティに true を設定することで、Sora 接続時に音声のハードミュートを有効化できる
setAudioHardMute(false)を呼ぶことで音声のハードミュートを無効化することができる- @zztkm
- [ADD] SoraMediaChannel に
setAudioHardMuteとsetAudioSoftMuteメソッドを追加するsetAudioHardMuteは PeerChannel.setAudioRecordingPaused のラッパーとして実装setAudioSoftMuteは SoraMediaChannel 内部で LocalStream を保持し関連付いている AudioTrack の setEnabled を呼び出すように実装- この 2 つのメソッド追加によって、音声のハードミュート / ソフトミュートを実装する方法が統一されたことでアプリケーションがミュートを実装しやすくなった
- @zztkm
- [ADD] SoraMediaChannel に
setVideoHardMuteとsetVideoSoftMuteメソッドを追加するsetVideoHardMuteは CameraVideoCapturer のstartCaptureとstopCaptureのラッパーであり、ソフトミュートも併用するように実装setVideoSoftMuteは SoraMediaChannel 内部で LocalStream を保持し関連付いている VideoTrack の setEnabled を呼び出すように実装- @zztkm
- [ADD] SoraMediaChannel に
switchCameraとchangeCaptureFormatメソッドを追加するswitchCameraは SDK 内部に保持する VideoCapturer が CameraVideoCapturer である場合に、フロントカメラとリアカメラを切り替えるchangeCaptureFormatは VideoCapturer のキャプチャーフォーマットを変更する- @zztkm
- [ADD] SoraMediaOption に
SoraCameraConfigdata class を追加する- SDK 内部で VideoCapturer.startCapture の引数として利用される
- @zztkm
- [ADD] SoraVideoOption に
CaptureTypeenum を追加する - [ADD] PeerChannel に
localVideoManager: RTCLocalVideoManager?プロパティを追加する- SoraMediaChannel から RTCLocalVideoManager に PeerChannel 経由でアクセスするためのプロパティ
- @zztkm
- [ADD]
SoraMediaOption.enableSimulcast(requestRid: SimulcastRequestRid? = null)を追加する- シグナリング接続時にサイマルキャストを有効化し、視聴 rid を指定することができる
- rid に指定できる値の列挙型として
SimulcastRequestRidenum を追加する - role が sendrecv または recvonly の場合、かつ simulcast が true の場合にのみ有効
- @zztkm
- [ADD] RPC 機能を追加する
- この機能は Sora 2025.2.0 で実験的機能としてリリースされているため正式版では仕様が変更される可能性がある
SoraMediaChannel.rpcで JSON-RPC 2.0 over DataChannel により一部の HTTP API を Sora Android SDK から直接呼び出す- 呼び出し失敗時は
SoraRpcExceptionを送出し、SoraRpcErrorReasonで原因を識別する
- 呼び出し失敗時は
- デフォルトのタイムアウトは 5 秒で、
timeoutMillisにより変更できる SoraMediaChannel.rpcの引数で isNotificationRequest = true を指定した場合、レスポンス不要としてSoraMediaChannel.rpcは null を返す- @zztkm
misc
- [CHANGES] Slack 通知を rtCamp/action-slack-notify から shiguredo/github-actions の slack-notify に変更する
- slack-notify は build から別の job に移す
- @voluntas
- [UPDATE]
Claude Assistantのclaude-responseをubuntu-slimに移行する - [UPDATE] .gitignore に Android Studio 関連の除外設定を追加する
.idea/AndroidProjectSystem.xml.idea/runConfigurations.xml.idea/copilot.data.migration*.xml- @zztkm
- [ADD] pre-commit を導入する
- .pre-commit-config.yaml ファイルを追加する
- コミット時に
./gradlew ktlintFormatと./gradlew ktlintCheckを実行するように設定する - ツールは prek を利用することを前提とする
- @zztkm