Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
livekitAndroidXuningTest
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
davidliu
2022-02-01 17:36:53 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2022-02-01 17:36:53 +0900
Commit
7623f180d5a64f63a9ecca99d6fd4bce19e20610
7623f180
1 parent
9e85c03b
Send UpdateTrackSettings after resume (#51)
* Send UpdateTrackSettings after resume * pr comment fixes
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
24 行增加
和
13 行删除
livekit-android-sdk/src/main/java/io/livekit/android/room/RTCEngine.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/Room.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/track/RemoteTrackPublication.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/RTCEngine.kt
查看文件 @
7623f18
...
...
@@ -18,7 +18,6 @@ import livekit.LivekitRtc
import org.webrtc.*
import java.net.ConnectException
import java.nio.ByteBuffer
import java.util.concurrent.TimeUnit
import javax.inject.Inject
import javax.inject.Named
import javax.inject.Singleton
...
...
@@ -380,14 +379,12 @@ internal constructor(
}
if (connectionState == ConnectionState.CONNECTED) {
if (isFullReconnect) {
listener?.onFullReconnect()
}
listener?.onPostReconnect(isFullReconnect)
return@launch
}
val curReconnectTime = SystemClock.elapsedRealtime() - reconnectStartTime
if
(curReconnectTime > MAX_RECONNECT_TIMEOUT)
{
if
(curReconnectTime > MAX_RECONNECT_TIMEOUT)
{
break
}
}
...
...
@@ -516,9 +513,9 @@ internal constructor(
fun onStreamStateUpdate(streamStates: List<LivekitRtc.StreamStateInfo>)
fun onSubscribedQualityUpdate(subscribedQualityUpdate: LivekitRtc.SubscribedQualityUpdate)
fun onSubscriptionPermissionUpdate(subscriptionPermissionUpdate: LivekitRtc.SubscriptionPermissionUpdate)
fun onSignalConnected(isRe
connect
: Boolean)
fun onSignalConnected(isRe
sume
: Boolean)
fun onFullReconnecting()
suspend fun on
FullReconnect(
)
suspend fun on
PostReconnect(isFullReconnect: Boolean
)
}
companion object {
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/Room.kt
查看文件 @
7623f18
...
...
@@ -23,6 +23,7 @@ import io.livekit.android.room.track.*
import io.livekit.android.util.FlowObservable
import io.livekit.android.util.LKLog
import io.livekit.android.util.flowDelegate
import io.livekit.android.util.invoke
import kotlinx.coroutines.*
import livekit.LivekitModels
import livekit.LivekitRtc
...
...
@@ -616,9 +617,9 @@ constructor(
/**
* @suppress
*/
override fun onSignalConnected(isReconnect: Boolean) {
if (state == State.RECONNECTING && isReconnect) {
// during reconnection, need to send sync state upon signal connection.
override fun onSignalConnected(isResume: Boolean) {
if (state == State.RECONNECTING && isResume) {
// during resume reconnection, need to send sync state upon signal connection.
sendSyncState()
}
}
...
...
@@ -635,8 +636,21 @@ constructor(
/**
* @suppress
*/
override suspend fun onFullReconnect() {
localParticipant.republishTracks()
override suspend fun onPostReconnect(isFullReconnect: Boolean) {
if (isFullReconnect) {
localParticipant.republishTracks()
} else {
val remoteParticipants = remoteParticipants.values.toList()
for (participant in remoteParticipants) {
val pubs = participant.tracks.values.toList()
for (pub in pubs) {
val remotePub = pub as? RemoteTrackPublication ?: continue
if(remotePub.subscribed) {
remotePub.sendUpdateTrackSettings.invoke()
}
}
}
}
}
//------------------------------- ParticipantListener --------------------------------//
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/track/RemoteTrackPublication.kt
查看文件 @
7623f18
...
...
@@ -173,7 +173,7 @@ class RemoteTrackPublication(
}
// Debounce just in case multiple settings get changed at once.
private
val sendUpdateTrackSettings = debounce<Unit, Unit>(100L, CoroutineScope(ioDispatcher)) {
internal
val sendUpdateTrackSettings = debounce<Unit, Unit>(100L, CoroutineScope(ioDispatcher)) {
sendUpdateTrackSettingsImpl()
}
...
...
请
注册
或
登录
后发表评论