davidliu
Committed by GitHub

Change VideoRenderer mirror to use TextureViewRenderer's setMirror function instead (#219)

1 package io.livekit.android.compose 1 package io.livekit.android.compose
2 2
3 -import android.graphics.Matrix  
4 import androidx.compose.runtime.* 3 import androidx.compose.runtime.*
5 import androidx.compose.ui.Modifier 4 import androidx.compose.ui.Modifier
6 import androidx.compose.ui.layout.onGloballyPositioned 5 import androidx.compose.ui.layout.onGloballyPositioned
@@ -26,13 +25,6 @@ fun VideoRenderer( @@ -26,13 +25,6 @@ fun VideoRenderer(
26 val videoSinkVisibility = remember(room, videoTrack) { ComposeVisibility() } 25 val videoSinkVisibility = remember(room, videoTrack) { ComposeVisibility() }
27 var boundVideoTrack by remember { mutableStateOf<VideoTrack?>(null) } 26 var boundVideoTrack by remember { mutableStateOf<VideoTrack?>(null) }
28 var view: TextureViewRenderer? by remember { mutableStateOf(null) } 27 var view: TextureViewRenderer? by remember { mutableStateOf(null) }
29 - var videoScale by remember { mutableStateOf(1f) }  
30 -  
31 - videoScale = if (mirror) {  
32 - -1f  
33 - } else {  
34 - 1f  
35 - }  
36 28
37 fun cleanupVideoTrack() { 29 fun cleanupVideoTrack() {
38 view?.let { boundVideoTrack?.removeRenderer(it) } 30 view?.let { boundVideoTrack?.removeRenderer(it) }
@@ -54,8 +46,8 @@ fun VideoRenderer( @@ -54,8 +46,8 @@ fun VideoRenderer(
54 } 46 }
55 } 47 }
56 48
57 - DisposableEffect(view, videoScale) {  
58 - view?.scaleX = videoScale 49 + DisposableEffect(view, mirror) {
  50 + view?.setMirror(mirror)
59 onDispose { } 51 onDispose { }
60 } 52 }
61 53