Skip to content

Commit dcbb36b

Browse files
authored
Detect screenshare rotation (#552)
* Update gradle and build tools * Update Kotlin to 1.9.25 * Add separate default capture/publish options for screenshare tracks * Detect rotation for screenshare tracks * spotless * Update robolectric to 4.14.1
1 parent e9e477e commit dcbb36b

File tree

16 files changed

+205
-24
lines changed

16 files changed

+205
-24
lines changed

.changeset/nice-clocks-refuse.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"client-sdk-android": minor
3+
---
4+
5+
Detect rotation for screenshare tracks

.changeset/stale-ways-bathe.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"client-sdk-android": patch
3+
---
4+
5+
Update Kotlin dependency to 1.9.25

.changeset/thirty-readers-lie.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"client-sdk-android": minor
3+
---
4+
5+
Add separate default capture/publish options for screenshare tracks

.idea/kotlinc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deps.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
ext {
2-
android_build_tools_version = '8.2.2'
2+
android_build_tools_version = '8.7.2'
33
compose_version = '1.2.1'
4-
compose_compiler_version = '1.4.5'
5-
kotlin_version = '1.8.20'
4+
compose_compiler_version = '1.5.15'
5+
kotlin_version = '1.9.25'
66
java_version = JavaVersion.VERSION_1_8
7-
dokka_version = '1.8.20'
7+
dokka_version = '1.9.20'
88
androidSdk = [
9-
compileVersion: 34,
10-
targetVersion : 34,
9+
compileVersion: 35,
10+
targetVersion : 35,
1111
minVersion : 21,
1212
]
1313
generated = [

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "4.1.
9292
#noinspection GradleDependency
9393
mockito-inline = { module = "org.mockito:mockito-inline", version = "4.11.0" }
9494

95-
robolectric = { module = "org.robolectric:robolectric", version = "4.11.1" }
95+
robolectric = { module = "org.robolectric:robolectric", version = "4.14.1" }
9696
turbine = { module = "app.cash.turbine:turbine", version = "1.0.0" }
9797
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
9898
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#Mon May 01 22:58:53 JST 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

livekit-android-sdk/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ android {
5252
targetCompatibility java_version
5353
}
5454
packagingOptions {
55-
// Exclude our protos from being included in the final aar.
56-
exclude "**/*.proto"
55+
resources {
56+
excludes += ['**/*.proto']
57+
}
5758
}
5859

5960
buildFeatures {

livekit-android-sdk/src/main/java/io/livekit/android/RoomOptions.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,6 @@ data class RoomOptions(
4343
val videoTrackCaptureDefaults: LocalVideoTrackOptions? = null,
4444
val audioTrackPublishDefaults: AudioTrackPublishDefaults? = null,
4545
val videoTrackPublishDefaults: VideoTrackPublishDefaults? = null,
46+
val screenShareTrackCaptureDefaults: LocalVideoTrackOptions? = null,
47+
val screenShareTrackPublishDefaults: VideoTrackPublishDefaults? = null,
4648
)

livekit-android-sdk/src/main/java/io/livekit/android/room/DefaultsManager.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2023 LiveKit, Inc.
2+
* Copyright 2023-2024 LiveKit, Inc.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@ import io.livekit.android.room.participant.AudioTrackPublishDefaults
2020
import io.livekit.android.room.participant.VideoTrackPublishDefaults
2121
import io.livekit.android.room.track.LocalAudioTrackOptions
2222
import io.livekit.android.room.track.LocalVideoTrackOptions
23+
import io.livekit.android.room.track.ScreenSharePresets
2324
import javax.inject.Inject
2425
import javax.inject.Singleton
2526

@@ -31,4 +32,6 @@ constructor() {
3132
var audioTrackPublishDefaults: AudioTrackPublishDefaults = AudioTrackPublishDefaults()
3233
var videoTrackCaptureDefaults: LocalVideoTrackOptions = LocalVideoTrackOptions()
3334
var videoTrackPublishDefaults: VideoTrackPublishDefaults = VideoTrackPublishDefaults()
35+
var screenShareTrackCaptureDefaults: LocalVideoTrackOptions = LocalVideoTrackOptions(isScreencast = true, captureParams = ScreenSharePresets.ORIGINAL.capture)
36+
var screenShareTrackPublishDefaults: VideoTrackPublishDefaults = VideoTrackPublishDefaults(videoEncoding = ScreenSharePresets.ORIGINAL.encoding)
3437
}

0 commit comments

Comments
 (0)