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
David Zhao
2021-06-29 16:04:29 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
73793e282548c11bd8edbb467e29d70e53d4b6fa
73793e28
1 parent
4b3e230b
Improved reconnection when network changes.
显示空白字符变更
内嵌
并排对比
正在显示
7 个修改的文件
包含
19 行增加
和
27 行删除
.idea/codeStyles/Project.xml
build.gradle
gradle/wrapper/gradle-wrapper.properties
livekit-android-sdk/src/main/java/io/livekit/android/room/PeerConnectionTransport.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/RTCEngine.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/track/RemoteTrackPublication.kt
.idea/codeStyles/Project.xml
查看文件 @
73793e2
<component
name=
"ProjectCodeStyleConfiguration"
>
<code_scheme
name=
"Project"
version=
"173"
>
<JetCodeStyleSettings>
<option
name=
"PACKAGES_TO_USE_STAR_IMPORTS"
>
<value>
<package
name=
"java.util"
alias=
"false"
withSubpackages=
"false"
/>
<package
name=
"kotlinx.android.synthetic"
alias=
"false"
withSubpackages=
"true"
/>
<package
name=
"io.ktor"
alias=
"false"
withSubpackages=
"true"
/>
</value>
</option>
<option
name=
"PACKAGES_IMPORT_LAYOUT"
>
<value>
<package
name=
""
alias=
"false"
withSubpackages=
"true"
/>
<package
name=
"java"
alias=
"false"
withSubpackages=
"true"
/>
<package
name=
"javax"
alias=
"false"
withSubpackages=
"true"
/>
<package
name=
"kotlin"
alias=
"false"
withSubpackages=
"true"
/>
<package
name=
""
alias=
"true"
withSubpackages=
"true"
/>
</value>
</option>
<option
name=
"CODE_STYLE_DEFAULTS"
value=
"KOTLIN_OFFICIAL"
/>
</JetCodeStyleSettings>
<codeStyleSettings
language=
"XML"
>
...
...
build.gradle
查看文件 @
73793e2
...
...
@@ -11,7 +11,7 @@ buildscript {
}
dependencies
{
classpath
'com.android.tools.build:gradle:7.0.0-beta0
3
'
classpath
'com.android.tools.build:gradle:7.0.0-beta0
4
'
classpath
"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath
"org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath
"org.jetbrains.dokka:dokka-gradle-plugin:$dokka_version"
...
...
gradle/wrapper/gradle-wrapper.properties
查看文件 @
73793e2
#Thu Apr 29 14:50:17 JST 2021
distributionBase
=
GRADLE_USER_HOME
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-7.0-bin.zip
distributionUrl
=
https
\:
//services.gradle.org/distributions/gradle-7.0
.2
-bin.zip
distributionPath
=
wrapper/dists
zipStorePath
=
wrapper/dists
zipStoreBase
=
GRADLE_USER_HOME
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/PeerConnectionTransport.kt
查看文件 @
73793e2
...
...
@@ -25,9 +25,10 @@ constructor(
listener
) ?: throw IllegalStateException("peer connection creation failed?")
val pendingCandidates = mutableListOf<IceCandidate>()
var iceRestart: Boolean = false
fun addIceCandidate(candidate: IceCandidate) {
if (peerConnection.remoteDescription != null) {
if (peerConnection.remoteDescription != null
&& !iceRestart
) {
peerConnection.addIceCandidate(candidate)
} else {
pendingCandidates.add(candidate)
...
...
@@ -42,6 +43,7 @@ constructor(
peerConnection.addIceCandidate(pending)
}
pendingCandidates.clear()
iceRestart = false
super.onSetSuccess()
}
}
...
...
@@ -50,6 +52,10 @@ constructor(
return observer.awaitSet()
}
fun prepareForIceRestart() {
iceRestart = true
}
fun close() {
peerConnection.close()
}
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/RTCEngine.kt
查看文件 @
73793e2
...
...
@@ -276,6 +276,8 @@ constructor(
// trigger ICE restart
iceState = IceState.RECONNECTING
publisher.prepareForIceRestart()
subscriber.prepareForIceRestart()
negotiate()
}
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt
查看文件 @
73793e2
...
...
@@ -114,14 +114,14 @@ constructor(
}
override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) {
Timber.v(t) { "websocket failure: $
{response}
" }
Timber.v(t) { "websocket failure: $
response
" }
super.onFailure(webSocket, t, response)
}
//------------------------------- End WebSocket Listener ------------------------------------//
fun fromProtoSessionDescription(sd: LivekitRtc.SessionDescription): SessionDescription {
private
fun fromProtoSessionDescription(sd: LivekitRtc.SessionDescription): SessionDescription {
val rtcSdpType = when (sd.type) {
SD_TYPE_ANSWER -> SessionDescription.Type.ANSWER
SD_TYPE_OFFER -> SessionDescription.Type.OFFER
...
...
@@ -131,7 +131,7 @@ constructor(
return SessionDescription(rtcSdpType, sd.sdp)
}
fun toProtoSessionDescription(sdp: SessionDescription): LivekitRtc.SessionDescription {
private
fun toProtoSessionDescription(sdp: SessionDescription): LivekitRtc.SessionDescription {
val sdBuilder = LivekitRtc.SessionDescription.newBuilder()
sdBuilder.sdp = sdp.description
sdBuilder.type = when (sdp.type) {
...
...
@@ -224,11 +224,10 @@ constructor(
sendRequest(request)
}
fun sendUpdateSubscription(sid: String, subscribe: Boolean
, videoQuality: LivekitRtc.VideoQuality
) {
fun sendUpdateSubscription(sid: String, subscribe: Boolean) {
val subscription = LivekitRtc.UpdateSubscription.newBuilder()
.addTrackSids(sid)
.setSubscribe(subscribe)
.setQuality(videoQuality)
val request = LivekitRtc.SignalRequest.newBuilder()
.setSubscription(subscription)
...
...
@@ -247,7 +246,8 @@ constructor(
private fun sendRequest(request: LivekitRtc.SignalRequest) {
Timber.v { "sending request: $request" }
if (!isConnected || currentWs == null) {
throw IllegalStateException("not connected!")
Timber.w { "not connected, could not send request $request" }
return
}
val sent: Boolean
if (useJson) {
...
...
@@ -340,7 +340,7 @@ constructor(
const val SD_TYPE_ANSWER = "answer"
const val SD_TYPE_OFFER = "offer"
const val SD_TYPE_PRANSWER = "pranswer"
const val PROTOCOL_VERSION = 2
;
const val PROTOCOL_VERSION = 2
private fun iceServer(url: String) =
PeerConnection.IceServer.builder(url).createIceServer()
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/track/RemoteTrackPublication.kt
查看文件 @
73793e2
...
...
@@ -44,7 +44,7 @@ class RemoteTrackPublication(
unsubscribed = !subscribed
val participant = this.participant.get() as? RemoteParticipant ?: return
participant.signalClient.sendUpdateSubscription(sid, !unsubscribed
, videoQuality
)
participant.signalClient.sendUpdateSubscription(sid, !unsubscribed)
}
/**
...
...
请
注册
或
登录
后发表评论