[Android] Add remote access compression support
Robert Stone
git at videolan.org
Mon Feb 10 10:38:29 UTC 2025
vlc-android | branch: master | Robert Stone <rhstone at gmail.com> | Sun Feb 9 10:39:15 2025 -0800| [f2a67d74d3ba3810d419ceb3498735f8d562473c] | committer: Robert Stone
Add remote access compression support
> https://code.videolan.org/videolan/vlc-android/commit/f2a67d74d3ba3810d419ceb3498735f8d562473c
---
application/remote-access-server/build.gradle | 1 +
.../videolan/vlc/remoteaccessserver/RemoteAccessServer.kt | 15 +++++++++++++++
2 files changed, 16 insertions(+)
diff --git a/application/remote-access-server/build.gradle b/application/remote-access-server/build.gradle
index cb7d371d05..045a8078a0 100644
--- a/application/remote-access-server/build.gradle
+++ b/application/remote-access-server/build.gradle
@@ -70,6 +70,7 @@ dependencies {
implementation "io.ktor:ktor-server-netty:$rootProject.ext.ktorVersion"
implementation "io.ktor:ktor-server-websockets:$rootProject.ext.ktorVersion"
implementation "io.ktor:ktor-server-caching-headers:$rootProject.ext.ktorVersion"
+ implementation "io.ktor:ktor-server-compression:$rootProject.ext.ktorVersion"
implementation "io.ktor:ktor-server-cors:$rootProject.ext.ktorVersion"
implementation("io.ktor:ktor-server-auth:$rootProject.ext.ktorVersion")
implementation("io.ktor:ktor-server-partial-content:$rootProject.ext.ktorVersion")
diff --git a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessServer.kt b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessServer.kt
index 64f743e7cd..b52bd29aa2 100644
--- a/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessServer.kt
+++ b/application/remote-access-server/src/main/java/org/videolan/vlc/remoteaccessserver/RemoteAccessServer.kt
@@ -54,6 +54,9 @@ import io.ktor.server.netty.Netty
import io.ktor.server.netty.NettyApplicationEngine
import io.ktor.server.plugins.cachingheaders.CachingHeaders
import io.ktor.server.plugins.callloging.CallLogging
+import io.ktor.server.plugins.compression.Compression
+import io.ktor.server.plugins.compression.matchContentType
+import io.ktor.server.plugins.compression.minimumSize
import io.ktor.server.plugins.cors.routing.CORS
import io.ktor.server.plugins.origin
import io.ktor.server.plugins.partialcontent.PartialContent
@@ -492,6 +495,18 @@ class RemoteAccessServer(private val context: Context) : PlaybackService.Callbac
maxFrameSize = Long.MAX_VALUE
masking = false
}
+ install(Compression) {
+ default()
+ matchContentType(
+ ContentType.Text.Plain,
+ ContentType.Image.SVG,
+ ContentType.Text.CSS,
+ ContentType.Text.Xml,
+ ContentType.Text.Html,
+ ContentType.Text.JavaScript,
+ ContentType.Application.JavaScript
+ )
+ }
install(CachingHeaders) {
options { _, content ->
when (content.contentType?.withoutParameters()) {
More information about the Android
mailing list