正在显示
1 个修改的文件
包含
9 行增加
和
3 行删除
| @@ -43,7 +43,7 @@ internal constructor( | @@ -43,7 +43,7 @@ internal constructor( | ||
| 43 | var videoTrackCaptureDefaults: LocalVideoTrackOptions by defaultsManager::videoTrackCaptureDefaults | 43 | var videoTrackCaptureDefaults: LocalVideoTrackOptions by defaultsManager::videoTrackCaptureDefaults |
| 44 | var videoTrackPublishDefaults: VideoTrackPublishDefaults by defaultsManager::videoTrackPublishDefaults | 44 | var videoTrackPublishDefaults: VideoTrackPublishDefaults by defaultsManager::videoTrackPublishDefaults |
| 45 | 45 | ||
| 46 | - var republishes = emptyList<LocalTrackPublication>() | 46 | + var republishes: List<LocalTrackPublication>? = null |
| 47 | private val localTrackPublications | 47 | private val localTrackPublications |
| 48 | get() = tracks.values | 48 | get() = tracks.values |
| 49 | .mapNotNull { it as? LocalTrackPublication } | 49 | .mapNotNull { it as? LocalTrackPublication } |
| @@ -524,7 +524,12 @@ internal constructor( | @@ -524,7 +524,12 @@ internal constructor( | ||
| 524 | 524 | ||
| 525 | fun prepareForFullReconnect() { | 525 | fun prepareForFullReconnect() { |
| 526 | val pubs = localTrackPublications.toList() // creates a copy, so is safe from the following removal. | 526 | val pubs = localTrackPublications.toList() // creates a copy, so is safe from the following removal. |
| 527 | - republishes = pubs | 527 | + |
| 528 | + // Only set the first time we start a full reconnect. | ||
| 529 | + if (republishes == null) { | ||
| 530 | + republishes = pubs | ||
| 531 | + } | ||
| 532 | + | ||
| 528 | tracks = tracks.toMutableMap().apply { clear() } | 533 | tracks = tracks.toMutableMap().apply { clear() } |
| 529 | 534 | ||
| 530 | for (publication in pubs) { | 535 | for (publication in pubs) { |
| @@ -534,8 +539,9 @@ internal constructor( | @@ -534,8 +539,9 @@ internal constructor( | ||
| 534 | } | 539 | } |
| 535 | 540 | ||
| 536 | suspend fun republishTracks() { | 541 | suspend fun republishTracks() { |
| 537 | - val publish = republishes.toList() | 542 | + val publish = republishes?.toList() ?: emptyList() |
| 538 | republishes = emptyList() | 543 | republishes = emptyList() |
| 544 | + | ||
| 539 | for (pub in publish) { | 545 | for (pub in publish) { |
| 540 | val track = pub.track ?: continue | 546 | val track = pub.track ?: continue |
| 541 | unpublishTrack(track, false) | 547 | unpublishTrack(track, false) |
-
请 注册 或 登录 后发表评论