From 6f69da321c96a3660e440116fdf47c06e89cadbd Mon Sep 17 00:00:00 2001
From: Avently <7953703+avently@users.noreply.github.com>
Date: Tue, 3 Sep 2024 00:26:35 +0900
Subject: [PATCH] working all 4 streams with mute handling differently
---
.../common/views/call/CallView.android.kt | 3 +-
.../chat/simplex/common/views/call/WebRTC.kt | 8 +-
.../resources/assets/www/android/call.html | 19 ++
.../resources/assets/www/android/style.css | 32 ++
.../commonMain/resources/assets/www/call.js | 273 ++++++++++------
.../resources/assets/www/desktop/call.html | 20 ++
.../resources/assets/www/desktop/style.css | 32 ++
.../resources/assets/www/desktop/ui.js | 30 +-
.../common/views/call/CallView.desktop.kt | 3 +-
.../simplex-chat-webrtc/src/android/call.html | 19 ++
.../simplex-chat-webrtc/src/android/style.css | 32 ++
packages/simplex-chat-webrtc/src/call.ts | 291 ++++++++++++------
.../simplex-chat-webrtc/src/desktop/call.html | 20 ++
.../simplex-chat-webrtc/src/desktop/style.css | 32 ++
.../simplex-chat-webrtc/src/desktop/ui.ts | 27 +-
15 files changed, 624 insertions(+), 217 deletions(-)
diff --git a/apps/multiplatform/common/src/androidMain/kotlin/chat/simplex/common/views/call/CallView.android.kt b/apps/multiplatform/common/src/androidMain/kotlin/chat/simplex/common/views/call/CallView.android.kt
index 8f364ec070..5088869a4e 100644
--- a/apps/multiplatform/common/src/androidMain/kotlin/chat/simplex/common/views/call/CallView.android.kt
+++ b/apps/multiplatform/common/src/androidMain/kotlin/chat/simplex/common/views/call/CallView.android.kt
@@ -168,7 +168,8 @@ actual fun ActiveCallView() {
when (r.source) {
CallMediaSource.Mic -> it.copy(peerMediaSources = sources.copy(mic = r.enabled))
CallMediaSource.Camera -> it.copy(peerMediaSources = sources.copy(camera = r.enabled))
- CallMediaSource.Screen -> it.copy(peerMediaSources = sources.copy(screen = r.enabled))
+ CallMediaSource.ScreenAudio -> it.copy(peerMediaSources = sources.copy(screenAudio = r.enabled))
+ CallMediaSource.ScreenVideo -> it.copy(peerMediaSources = sources.copy(screenVideo = r.enabled))
}
}
}
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/call/WebRTC.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/call/WebRTC.kt
index becedba727..ef6b8b5da2 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/call/WebRTC.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/call/WebRTC.kt
@@ -71,9 +71,10 @@ enum class CallState {
@Serializable data class CallMediaSources(
val mic: Boolean = false,
val camera: Boolean = false,
- val screen: Boolean = false
+ val screenAudio: Boolean = false,
+ val screenVideo: Boolean = false
) {
- fun hasVideo() = camera || screen
+ fun hasVideo() = camera || screenVideo
}
@Serializable
@@ -178,7 +179,8 @@ enum class CallMediaType {
enum class CallMediaSource {
@SerialName("mic") Mic,
@SerialName("camera") Camera,
- @SerialName("screen") Screen
+ @SerialName("screenAudio") ScreenAudio,
+ @SerialName("screenVideo") ScreenVideo
}
@Serializable
diff --git a/apps/multiplatform/common/src/commonMain/resources/assets/www/android/call.html b/apps/multiplatform/common/src/commonMain/resources/assets/www/android/call.html
index cbdf7a23a3..c672ea32aa 100644
--- a/apps/multiplatform/common/src/commonMain/resources/assets/www/android/call.html
+++ b/apps/multiplatform/common/src/commonMain/resources/assets/www/android/call.html
@@ -14,6 +14,16 @@
poster="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAEUlEQVR42mNk+M+AARiHsiAAcCIKAYwFoQ8AAAAASUVORK5CYII="
onclick="javascript:toggleRemoteVideoFitFill()"
>
+
+
+
+
+