Selaa lähdekoodia

[RN] Use _switchCameras provided by lib-jitsi-meet

The functionality to use the react-native-webrtc custom API for fast switching
cameras was moved to JitsiLocalTrack in lib-jitsi-meet. Use that.

Ref: https://github.com/jitsi/lib-jitsi-meet/pull/444
master
Saúl Ibarra Corretgé 8 vuotta sitten
vanhempi
commit
37157dc9e2
1 muutettua tiedostoa jossa 12 lisäystä ja 17 poistoa
  1. 12
    17
      react/features/base/tracks/middleware.js

+ 12
- 17
react/features/base/tracks/middleware.js Näytä tiedosto

2
 
2
 
3
 import { LIB_DID_DISPOSE, LIB_DID_INIT } from '../lib-jitsi-meet';
3
 import { LIB_DID_DISPOSE, LIB_DID_INIT } from '../lib-jitsi-meet';
4
 import {
4
 import {
5
+    CAMERA_FACING_MODE,
5
     MEDIA_TYPE,
6
     MEDIA_TYPE,
6
     SET_AUDIO_MUTED,
7
     SET_AUDIO_MUTED,
7
     SET_CAMERA_FACING_MODE,
8
     SET_CAMERA_FACING_MODE,
68
     case TOGGLE_CAMERA_FACING_MODE: {
69
     case TOGGLE_CAMERA_FACING_MODE: {
69
         const localTrack = _getLocalTrack(store, MEDIA_TYPE.VIDEO);
70
         const localTrack = _getLocalTrack(store, MEDIA_TYPE.VIDEO);
70
         let jitsiTrack;
71
         let jitsiTrack;
71
-        let mediaStreamTrack;
72
-
73
-        if (localTrack
74
-                && (jitsiTrack = localTrack.jitsiTrack)
75
-                && (mediaStreamTrack = jitsiTrack.track)) {
76
-            // XXX MediaStreamTrack._switchCamera a custom function implemented
77
-            // in react-native-webrtc for video which switches between the
78
-            // cameras via a native WebRTC library implementation without making
79
-            // any changes to the track.
80
-            // FIXME JitsiLocalTrack defines getCameraFacingMode. By calling
81
-            // _switchCamera on MediaStreamTrack without the knowledge of
82
-            // lib-jitsi-meet we are likely introducing an inconsistency in
83
-            // JitsiLocalTrack's state.
84
-            mediaStreamTrack._switchCamera();
72
+
73
+        if (localTrack && (jitsiTrack = localTrack.jitsiTrack)) {
74
+            // XXX MediaStreamTrack._switchCamera is a custom function
75
+            // implemented in react-native-webrtc for video which switches
76
+            // between the cameras via a native WebRTC library implementation
77
+            // without making any changes to the track.
78
+            jitsiTrack._switchCamera();
85
 
79
 
86
             // Don't mirror the video of the back/environment-facing camera.
80
             // Don't mirror the video of the back/environment-facing camera.
87
-            // FIXME Relies on the fact that we always open the camera in
88
-            // user-facing mode first.
81
+            const mirror
82
+                = jitsiTrack.getCameraFacingMode() === CAMERA_FACING_MODE.USER;
83
+
89
             store.dispatch({
84
             store.dispatch({
90
                 type: TRACK_UPDATED,
85
                 type: TRACK_UPDATED,
91
                 track: {
86
                 track: {
92
                     jitsiTrack,
87
                     jitsiTrack,
93
-                    mirror: !localTrack.mirror
88
+                    mirror
94
                 }
89
                 }
95
             });
90
             });
96
         }
91
         }

Loading…
Peruuta
Tallenna