瀏覽代碼

feat(ts) migrate LiteModeContext to TS

dev0
Naman Jain 7 月之前
父節點
當前提交
9a3eab4c0e
沒有連結到貢獻者的電子郵件帳戶。
共有 2 個檔案被更改,包括 14 行新增3 行删除
  1. 6
    0
      globals.d.ts
  2. 8
    3
      modules/litemode/LiteModeContext.ts

+ 6
- 0
globals.d.ts 查看文件

4
     interface Window {
4
     interface Window {
5
         connectionTimes: any;
5
         connectionTimes: any;
6
     }
6
     }
7
+    interface RTCRtpReceiver {
8
+        createEncodedStreams?: () => {
9
+            readable: ReadableStream<RTCEncodedAudioFrame | RTCEncodedVideoFrame>;
10
+            writable: WritableStream<RTCEncodedAudioFrame | RTCEncodedVideoFrame>;
11
+        }
12
+    }
7
 }
13
 }

modules/litemode/LiteModeContext.js → modules/litemode/LiteModeContext.ts 查看文件

1
 import { getLogger } from '@jitsi/logger';
1
 import { getLogger } from '@jitsi/logger';
2
 
2
 
3
+import JitsiConference from '../../JitsiConference';
3
 import RTCEvents from '../../service/RTC/RTCEvents';
4
 import RTCEvents from '../../service/RTC/RTCEvents';
5
+import JitsiRemoteTrack from '../RTC/JitsiRemoteTrack';
6
+import TraceablePeerConnection from '../RTC/TraceablePeerConnection';
4
 import FeatureFlags from '../flags/FeatureFlags';
7
 import FeatureFlags from '../flags/FeatureFlags';
5
 
8
 
6
 // Flag to set on receivers to avoid setting up the lite mode
9
 // Flag to set on receivers to avoid setting up the lite mode
13
  * This module implements a discard-all insertable stream.  Use to reduce decoder CPU load for testing.
16
  * This module implements a discard-all insertable stream.  Use to reduce decoder CPU load for testing.
14
  */
17
  */
15
 export class LiteModeContext {
18
 export class LiteModeContext {
19
+    private enabled: boolean;
20
+
16
     /**
21
     /**
17
      * A constructor.
22
      * A constructor.
18
      * @param {JitsiConference} conference - The conference instance for which lite mode is to be enabled.
23
      * @param {JitsiConference} conference - The conference instance for which lite mode is to be enabled.
19
      */
24
      */
20
-    constructor(conference) {
25
+    constructor(conference: JitsiConference) {
21
         this.enabled = FeatureFlags.isRunInLiteModeEnabled();
26
         this.enabled = FeatureFlags.isRunInLiteModeEnabled();
22
         if (!this.enabled) {
27
         if (!this.enabled) {
23
             return;
28
             return;
25
 
30
 
26
         conference.rtc.on(
31
         conference.rtc.on(
27
             RTCEvents.REMOTE_TRACK_ADDED,
32
             RTCEvents.REMOTE_TRACK_ADDED,
28
-            (track, tpc) => this._setupLiteModeForTrack(tpc, track));
33
+            (track: JitsiRemoteTrack, tpc: TraceablePeerConnection) => this._setupLiteModeForTrack(tpc, track));
29
     }
34
     }
30
 
35
 
31
     /**
36
     /**
33
      *
38
      *
34
      * @private
39
      * @private
35
      */
40
      */
36
-    _setupLiteModeForTrack(tpc, track) {
41
+    private _setupLiteModeForTrack(tpc: TraceablePeerConnection, track: JitsiRemoteTrack): void {
37
         if (!this.enabled) {
42
         if (!this.enabled) {
38
             return;
43
             return;
39
         }
44
         }

Loading…
取消
儲存