Quellcode durchsuchen

feat: Disable p2p when transcribing is enabled. (#2812)

* feat: Disable p2p when transcribing is enabled.
master
bgrozev vor 4 Monaten
Ursprung
Commit
6abd742f04
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
2 geänderte Dateien mit 13 neuen und 1 gelöschten Zeilen
  1. 10
    1
      JitsiConference.js
  2. 3
    0
      JitsiConferenceEventManager.js

+ 10
- 1
JitsiConference.js Datei anzeigen

@@ -2656,6 +2656,15 @@ JitsiConference.prototype.setStartMutedPolicy = function(policy) {
2656 2656
     });
2657 2657
 };
2658 2658
 
2659
+/** Set the transcribingEnabled flag. When transcribing is enabled p2p is
2660
+ * disabled. */
2661
+JitsiConference.prototype._setTranscribingEnabled = function(enabled) {
2662
+    if (this._transcribingEnabled !== enabled) {
2663
+        this._transcribingEnabled = enabled;
2664
+        this._maybeStartOrStopP2P(true);
2665
+    }
2666
+};
2667
+
2659 2668
 /**
2660 2669
  * Updates conference startMuted policy if needed and fires an event.
2661 2670
  *
@@ -3495,7 +3504,7 @@ JitsiConference.prototype._shouldBeInP2PMode = function() {
3495 3504
     const peers = this.getParticipants();
3496 3505
     const peerCount = peers.length;
3497 3506
     const hasBotPeer = peers.find(p => p.getBotType() === 'poltergeist' || p.hasFeature(FEATURE_JIGASI)) !== undefined;
3498
-    const shouldBeInP2P = peerCount === 1 && !hasBotPeer && !this._hasVisitors;
3507
+    const shouldBeInP2P = peerCount === 1 && !hasBotPeer && !this._hasVisitors && !this._transcribingEnabled;
3499 3508
 
3500 3509
     logger.debug(`P2P? peerCount: ${peerCount}, hasBotPeer: ${hasBotPeer} => ${shouldBeInP2P}`);
3501 3510
 

+ 3
- 0
JitsiConferenceEventManager.js Datei anzeigen

@@ -412,6 +412,9 @@ export default class JitsiConferenceEventManager {
412 412
                 video && (conference.isVideoMutedByFocus = true);
413 413
                 conference._updateStartMutedPolicy(audio, video);
414 414
             }
415
+            if (metadata.recording && typeof metadata.recording.isTranscribingEnabled !== 'undefined') {
416
+                conference._setTranscribingEnabled(Boolean(metadata.recording.isTranscribingEnabled));
417
+            }
415 418
             conference.eventEmitter.emit(JitsiConferenceEvents.METADATA_UPDATED, metadata);
416 419
         });
417 420
     }

Laden…
Abbrechen
Speichern