Releases: skyway/android-sdk
Releases · skyway/android-sdk
v2.1.4
v2.1.3
- Room: v2.1.3
- Core: v2.1.3
- SFUBot: v2.1.3
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
- 再接続中に
SkyWayContext.dispose
したときの所要時間を改善 Channel.dispose
時にデッドロックする問題の修正unpublish
でクラッシュする問題の修正dispose
をしていない状態におけるSkyWayContext.setup
の複数回呼び出しを無効にするよう修正dispose
済の場合、再接続処理を行わないように修正(内部の軽微な修正)- メディア通信の再接続について軽微な修正
- クライアント起因のエラーが発生した場合は再接続しないように修正
- 再接続処理を別スレッドで実行するように修正
Changed
- SDKが行うhttpリクエストのログを削減
- WebSocketで利用するスレッド数を削減
v2.1.2
- Room: v2.1.2
- Core: v2.1.2
- SFUBot: v2.1.2
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
- ネットワークの再接続中に
dispose
を行うとクラッシュする問題の修正 SkyWayContext
がSetup
されていない状況でremoveRenderer
を行うとクラッシュする問題の修正P2PRoom
を利用時において、Subscribe
をCancel
した時に確率的に時間がかかってしまう問題の修正SFURoom
を利用時において、復旧不可能状態になった場合に再接続処理を行わないように修正
Changed
SkyWay Android SDK
で使用するJavaのバージョンを17に変更
v2.1.1
- Room: v2.1.1
- Core: v2.1.1
- SFUBot: v2.1.1
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
- Resource temporarily unavailableの修正
- 以下の箇所でスレッド作成せず、シングルスレッドで実行するように変更
- RTC-APIのイベントスレッド
- Signalingのイベントスレッド
- Analyticsの送信スレッド
- 以下の箇所でスレッド作成せず、シングルスレッドで実行するように変更
- SFURoomにおいて、StartReceivingとChannel::Disposeが同時に行われるときにクラッシュする問題を修正
v2.1.0
- Room: v2.1.0
- Core: v2.1.0
- SFUBot: v2.1.0
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
- Context.Disposeでクラッシュする問題の修正
- Publication.UpdateEncodingsでクラッシュする問題の修正
- Publication.GetStatsでクラッシュする問題の修正
- 入室中に突然接続が切れる問題の修正
Added
AudioSource
にsetPreferredInputDevice
を追加SkyWayContext.Options
にaudioSource
を追加- 利用する場合は、MediaRecorder.AudioSourceのうち有効な値を指定してください。
v2.0.1
v2.0.0
- Room: v2.0.0
- Core: v2.0.0
- SFUBot: v2.0.0
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Added
- Analyticsに対応
Fixed
- 確率的にSubscribeに失敗するバグを修正
- PublicationOptionsおよびPublicationの
updateEncoding
の引数であるencodings
において、idが設定されていない時に発生する不具合を修正 - WebSocket終了時の不具合を修正
Change
- RoomPublicationとRoomSubscriptionの
getStats
をdeprecatedに変更- 今後はAnalytics機能をご利用ください
onAudioBufferHandler
をdeprecatedに変更
Warning
Breaking Change
- イベントから取得できるSubscriptionにおいて、StreamがSetされるタイミングが未定義になります
- Channel(Room)/Member(RoomMember)/Publicationの
name
やmetadata
をすべてnullableに統一
v1系からv2系へのアップデートの注意点
イベントから取得できるSubscription
において、Stream
がSetされるタイミングが未定義になります
v1系では、onPublicationSubscribedhandler
などで引数からsubscription.stream
を取得でき、addRenderer
することができました。
room.onPublicationSubscribedhandler = {
// streamが存在するならば、LocalRoomMemberのSubscriptionである。
val videoStream = subscription.stream as RemoteVideoStream
videoStream.addRenderer(localRenderer)
}
v2系では、Subscribe
イベントにおいてStream
がSetされるタイミングは未定義になります。
room.onPublicationSubscribedhandler = {
// LocalRoomMemberによるSubscribeのイベントであってもstreamがnilの可能性があるため、以下の実装では映像が表示されない可能性がある。
val videoStream: RemoteVideoStream = subscription.stream as? RemoteVideoStream
videoStream?.addRenderer(localRenderer)
}
LocalRoomMember
のSubscribe
が成功後に得られるSubscription
はStream
がSetされることが保証されるため、こちらを利用してください。
val subscription = localMember.subscribe(publication)
// このsubscription.streamはSetされている。
(subscription.stream as RemoteVideoStream).addRenderer(localRenderer)
v1.6.5
- Room: v1.6.5
- Core: v1.6.5
- SFUBot: v1.6.5
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
- サーバーから切断後、再接続完了してもイベントの再購読を行えていない不具合の修正
dispose
時にネットワーク切断が発生した場合に、再接続処理に不要に時間がかかる不具合の修正- サーバーへのリクエスト失敗と再接続が繰り返されるとデットロックしてしまう不具合の修正
DataChannel
の送信時に確率的にクラッシュしてしまう不具合の修正SFURoom.getBot
で確率的にクラッシュする不具合の修正AudioSource.stop
をしていてもメディア通信開始時に集音が開始されてしまう問題への対応- ワークアラウンドとして、
AudioSource.isStarted
がfalse
の場合はすぐに集音を停止するようにした
- ワークアラウンドとして、
v1.6.4
v1.6.3
- Room: v1.6.3
- Core: v1.6.3
- SFUBot: v1.6.3
- libwebrtc: v1.1.1
- libwebrtc.aarには変更ありませんので、引き続きこちらをご使用ください。
Fixed
isEnabled = false
でpublish
されたstream
において、RemoteStream
もisEnable = false
に変更Channel
に2回join
するとLocalPerson
が破棄されてしまい、イベントが正しく発火されない不具合の修正- SDKによる
Channel
のMember/Publication/Subscription
へのアクセスにおける排他制御の改善