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-18 21:16:59 -0700
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
4b3e230bd817df5e81cad45240c1d6dfa3c1b568
4b3e230b
1 parent
5ae47254
Support for video dimensions
显示空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
28 行增加
和
6 行删除
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/participant/LocalParticipant.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/track/LocalVideoTrack.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/track/Track.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/track/TrackPublication.kt
livekit-android-sdk/src/main/java/io/livekit/android/room/RTCEngine.kt
查看文件 @
4b3e230
...
...
@@ -3,6 +3,7 @@ package io.livekit.android.room
import com.github.ajalt.timberkt.Timber
import io.livekit.android.ConnectOptions
import io.livekit.android.dagger.InjectionNames
import io.livekit.android.room.track.Track
import io.livekit.android.room.track.TrackException
import io.livekit.android.room.util.*
import io.livekit.android.util.CloseableCoroutineScope
...
...
@@ -81,14 +82,14 @@ constructor(
client.join(url, token, options)
}
suspend fun addTrack(cid: String, name: String, kind: LivekitModels.TrackType): LivekitModels.TrackInfo {
suspend fun addTrack(cid: String, name: String, kind: LivekitModels.TrackType
, dimensions: Track.Dimensions? = null
): LivekitModels.TrackInfo {
if (pendingTrackResolvers[cid] != null) {
throw TrackException.DuplicateTrackException("Track with same ID $cid has already been published!")
}
return suspendCoroutine { cont ->
pendingTrackResolvers[cid] = cont
client.sendAddTrack(cid, name, kind)
client.sendAddTrack(cid, name, kind
, dimensions
)
}
}
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt
查看文件 @
4b3e230
...
...
@@ -4,6 +4,7 @@ import com.github.ajalt.timberkt.Timber
import com.google.protobuf.util.JsonFormat
import io.livekit.android.ConnectOptions
import io.livekit.android.dagger.InjectionNames
import io.livekit.android.room.track.Track
import io.livekit.android.util.safe
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString
...
...
@@ -193,12 +194,15 @@ constructor(
sendRequest(request)
}
fun sendAddTrack(cid: String, name: String, type: LivekitModels.TrackType) {
fun sendAddTrack(cid: String, name: String, type: LivekitModels.TrackType
, dimensions: Track.Dimensions? = null
) {
val addTrackRequest = LivekitRtc.AddTrackRequest.newBuilder()
.setCid(cid)
.setName(name)
.setType(type)
.build()
if (dimensions != null) {
addTrackRequest.width = dimensions.width
addTrackRequest.height = dimensions.height
}
val request = LivekitRtc.SignalRequest.newBuilder()
.setAddTrack(addTrackRequest)
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/participant/LocalParticipant.kt
查看文件 @
4b3e230
...
...
@@ -102,7 +102,7 @@ internal constructor(
val cid = track.rtcTrack.id()
val trackInfo =
engine.addTrack(cid = cid, name = track.name, kind = LivekitModels.TrackType.VIDEO)
engine.addTrack(cid = cid, name = track.name, kind = LivekitModels.TrackType.VIDEO
, dimensions = track.dimensions
)
val transInit = RtpTransceiver.RtpTransceiverInit(
RtpTransceiver.RtpTransceiverDirection.SEND_ONLY,
listOf(this.sid)
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/track/LocalVideoTrack.kt
查看文件 @
4b3e230
...
...
@@ -17,6 +17,12 @@ class LocalVideoTrack(
private val options: LocalVideoTrackOptions,
rtcTrack: org.webrtc.VideoTrack
) : VideoTrack(name, rtcTrack) {
val dimensions: Dimensions
init {
dimensions = Dimensions(options.captureParams.width, options.captureParams.height)
}
fun startCapture() {
capturer.startCapture(options.captureParams.width, options.captureParams.height, options.captureParams.maxFps)
}
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/track/Track.kt
查看文件 @
4b3e230
...
...
@@ -45,6 +45,8 @@ open class Track(
}
}
class Dimensions(var width: Int, var height: Int)
open fun stop() {
rtcTrack.setEnabled(false)
rtcTrack.dispose()
...
...
livekit-android-sdk/src/main/java/io/livekit/android/room/track/TrackPublication.kt
查看文件 @
4b3e230
...
...
@@ -23,6 +23,11 @@ open class TrackPublication(
get() {
return track != null
}
var simulcasted: Boolean? = null
internal set
var dimensions: Track.Dimensions? = null
internal set
var participant: WeakReference<Participant>
...
...
@@ -31,7 +36,7 @@ open class TrackPublication(
name = info.name
kind = Track.Kind.fromProto(info.type)
this.participant = WeakReference(participant)
muted = info.muted
updateFromInfo(info)
}
fun updateFromInfo(info: LivekitModels.TrackInfo) {
...
...
@@ -39,5 +44,9 @@ open class TrackPublication(
name = info.name
kind = Track.Kind.fromProto(info.type)
muted = info.muted
if (kind == Track.Kind.VIDEO) {
simulcasted = info.simulcast
dimensions = Track.Dimensions(info.width, info.height)
}
}
}
...
...
请
注册
或
登录
后发表评论