Skip to content

Commit

Permalink
WebSocket を利用した Signaling を切断したときの結果を格納する data class を追加する
Browse files Browse the repository at this point in the history
  • Loading branch information
zztkm committed Feb 25, 2025
1 parent 268ea91 commit 5f6cb5f
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 3 deletions.
2 changes: 2 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
- @zztkm
- [ADD] サイマルキャストの映像のエンコーディングパラメーター `scaleResolutionDownTo` を追加する
- @zztkm
- [ADD] WebSocket シグナリングを切断したときの結果を表す `SignalingDisconnectResult` を追加する
- @zztkm
- [FIX] `SoraMediaChannel.internalDisconnect` での `SoraMediaChannel.Listener.onClose` の呼び出しタイミングを切断処理がすべて完了したあとに修正する
- 切断処理が終了する前に `onClose` を呼び出していたため、切断処理が完了してから呼び出すように修正
- `contactSignalingEndpoint``connectedSignalingEndpoint` は onClose で参照される可能性があるため、onClose 実行よりあとに null になるように onClose に合わせて処理順を変更
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package jp.shiguredo.sora.sdk.channel

data class SignalingDisconnectResult(
val code: Int,
val reason: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package jp.shiguredo.sora.sdk.channel.data

import jp.shiguredo.sora.sdk.error.SoraDisconnectReason

data class SoraCloseEvent(
val title: SoraDisconnectReason,
val code: Int?,
val reason: String?,
)
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package jp.shiguredo.sora.sdk.channel.signaling

import jp.shiguredo.sora.sdk.channel.SignalingDisconnectResult
import jp.shiguredo.sora.sdk.channel.data.SoraCloseEvent
import jp.shiguredo.sora.sdk.channel.option.SoraChannelRole
import jp.shiguredo.sora.sdk.channel.option.SoraForwardingFilterOption
import jp.shiguredo.sora.sdk.channel.option.SoraMediaOption
Expand Down Expand Up @@ -36,7 +38,7 @@ interface SignalingChannel {
fun sendReAnswer(sdp: String)
fun sendCandidate(sdp: String)
fun sendDisconnect(disconnectReason: SoraDisconnectReason)
fun disconnect(disconnectReason: SoraDisconnectReason?)
fun disconnect(disconnectReason: SoraDisconnectReason?): SignalingDisconnectResult?

interface Listener {
fun onConnect(endpoint: String)
Expand Down Expand Up @@ -229,9 +231,9 @@ class SignalingChannelImpl @JvmOverloads constructor(
}
}

override fun disconnect(disconnectReason: SoraDisconnectReason?) {
override fun disconnect(disconnectReason: SoraDisconnectReason?): SignalingDisconnectResult? {
if (closing.get()) {
return
return null
}

closing.set(true)
Expand All @@ -243,6 +245,7 @@ class SignalingChannelImpl @JvmOverloads constructor(
listener?.onDisconnect(disconnectReason)
}
listener = null
return null
}

private fun sendConnectMessage() {
Expand Down

0 comments on commit 5f6cb5f

Please sign in to comment.