@livedigital/client 2.0.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/events.d.ts +2 -0
- package/dist/constants/simulcastEncodings.d.ts +2 -1
- package/dist/engine/Peer.d.ts +8 -16
- package/dist/engine/PeerConsumer.d.ts +37 -0
- package/dist/engine/PeerProducer.d.ts +5 -1
- package/dist/engine/media/tracks/BaseTrack.d.ts +3 -0
- package/dist/engine/media/tracks/PeerTrack.d.ts +29 -0
- package/dist/engine/media/tracks/VideoTrack.d.ts +4 -0
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/common.d.ts +26 -0
- package/package.json +2 -2
- package/src/constants/events.ts +2 -0
- package/src/constants/simulcastEncodings.ts +19 -5
- package/src/engine/Peer.ts +58 -172
- package/src/engine/PeerConsumer.ts +144 -0
- package/src/engine/PeerProducer.ts +11 -1
- package/src/engine/handlers/MediaSoupEventHandler.ts +80 -1
- package/src/engine/index.ts +47 -12
- package/src/engine/media/index.ts +8 -0
- package/src/engine/media/tracks/BaseTrack.ts +16 -0
- package/src/engine/media/tracks/PeerTrack.ts +214 -0
- package/src/engine/media/tracks/VideoTrack.ts +30 -0
- package/src/types/common.ts +32 -0
- package/dist/engine/media/Consumer.d.ts +0 -6
- package/dist/engine/media/VideoConsumer.d.ts +0 -14
- package/src/engine/media/Consumer.ts +0 -9
- package/src/engine/media/VideoConsumer.ts +0 -48
|
@@ -32,6 +32,8 @@ export declare const MEDIASOUP_EVENTS: {
|
|
|
32
32
|
pauseProducer: string;
|
|
33
33
|
resumeProducer: string;
|
|
34
34
|
producerScoreChanged: string;
|
|
35
|
+
producerSetMaxSpatialLayer: string;
|
|
36
|
+
producerRequestMaxSpatialLayer: string;
|
|
35
37
|
createConsumer: string;
|
|
36
38
|
closeConsumer: string;
|
|
37
39
|
pauseConsumer: string;
|
package/dist/engine/Peer.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { ProducerData, ConnectionQuality, PayloadOfPublishedMedia, Role } from '../types/common';
|
|
2
|
-
import Consumer from './media/Consumer';
|
|
3
|
-
import VideoConsumer from './media/VideoConsumer';
|
|
4
2
|
import EnhancedEventEmitter from '../EnhancedEventEmitter';
|
|
5
3
|
import Engine from './index';
|
|
6
4
|
import PeerProducer from './PeerProducer';
|
|
5
|
+
import PeerConsumer from './PeerConsumer';
|
|
6
|
+
import PeerTrack from './media/tracks/PeerTrack';
|
|
7
7
|
interface PeerConstructor {
|
|
8
8
|
id: string;
|
|
9
9
|
channelIds: string[];
|
|
10
10
|
appId: string;
|
|
11
11
|
producers: ProducerData[];
|
|
12
|
-
videoConsumer?:
|
|
13
|
-
audioConsumer?:
|
|
12
|
+
videoConsumer?: PeerConsumer;
|
|
13
|
+
audioConsumer?: PeerConsumer;
|
|
14
14
|
engine: Engine;
|
|
15
15
|
soundLevel?: number;
|
|
16
16
|
loginDate: Date;
|
|
@@ -32,7 +32,7 @@ declare class Peer {
|
|
|
32
32
|
appData: Record<string, unknown>;
|
|
33
33
|
role: Role;
|
|
34
34
|
private producers;
|
|
35
|
-
|
|
35
|
+
readonly tracks: Map<string, PeerTrack>;
|
|
36
36
|
private readonly engine;
|
|
37
37
|
private readonly _observer;
|
|
38
38
|
private readonly logger;
|
|
@@ -43,22 +43,14 @@ declare class Peer {
|
|
|
43
43
|
get isMe(): boolean;
|
|
44
44
|
get publishedMedia(): PayloadOfPublishedMedia[];
|
|
45
45
|
subscribe(producerId: string): Promise<void>;
|
|
46
|
-
setMinResolution(consumerId: string): Promise<void>;
|
|
47
|
-
setMediumResolution(consumerId: string): Promise<void>;
|
|
48
|
-
setMaxResolution(consumerId: string): Promise<void>;
|
|
49
|
-
pause(consumerId: string): Promise<void>;
|
|
50
|
-
resume(consumerId: string): Promise<void>;
|
|
51
|
-
setPriority(consumerId: string, priority: number): Promise<void>;
|
|
52
|
-
private setConsumerPriority;
|
|
53
46
|
private createConsumer;
|
|
54
|
-
private changeConsumerPreferredLayers;
|
|
55
|
-
private pauseRemoteConsumer;
|
|
56
|
-
private resumeRemoteConsumer;
|
|
57
47
|
private handleNewProducer;
|
|
58
48
|
private handlePeerEvents;
|
|
59
49
|
private emitConnectionQuality;
|
|
60
50
|
static getConnectionQualityByScore(score: number): ConnectionQuality;
|
|
61
|
-
getAllConsumers
|
|
51
|
+
private getAllConsumers;
|
|
62
52
|
getAllProducers(): PeerProducer[];
|
|
53
|
+
getConsumerByProducerId(producerId: string): PeerConsumer | undefined;
|
|
54
|
+
getConsumerById(id: string): PeerConsumer | undefined;
|
|
63
55
|
}
|
|
64
56
|
export default Peer;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { MediaKind, RtpEncodingParameters } from 'mediasoup-client/lib/RtpParameters';
|
|
2
|
+
import { Consumer as MediasoupConsumer } from 'mediasoup-client/lib/types';
|
|
3
|
+
import { ConsumerData, SpatialLayerParams } from '../types/common';
|
|
4
|
+
declare class PeerConsumer {
|
|
5
|
+
score: number;
|
|
6
|
+
producerScore: number;
|
|
7
|
+
spatialLayers: number;
|
|
8
|
+
temporalLayers: number;
|
|
9
|
+
currentSpatialLayer: number;
|
|
10
|
+
currentTemporalLayer: number;
|
|
11
|
+
requestedSpatialLayer?: number;
|
|
12
|
+
currentMaxSpatialLayer: number;
|
|
13
|
+
availableSpatialLayers: SpatialLayerParams[];
|
|
14
|
+
currentSpatialLayerParams?: SpatialLayerParams;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly kind: MediaKind;
|
|
17
|
+
readonly producerId: string;
|
|
18
|
+
readonly appData: ConsumerData;
|
|
19
|
+
private readonly consumer;
|
|
20
|
+
private readonly logger;
|
|
21
|
+
constructor(consumer: MediasoupConsumer);
|
|
22
|
+
get paused(): boolean;
|
|
23
|
+
pause(): void;
|
|
24
|
+
resume(): void;
|
|
25
|
+
close(): void;
|
|
26
|
+
get isVideo(): boolean;
|
|
27
|
+
get isAudio(): boolean;
|
|
28
|
+
parseScalabilityMode(): void;
|
|
29
|
+
setSpatialLayersParams(): void;
|
|
30
|
+
setCurrentSpatialLayerParams(): void;
|
|
31
|
+
parseSpatialLayerParams(encoding: RtpEncodingParameters): SpatialLayerParams;
|
|
32
|
+
setCurrentSpatialLayer(currentSpatialLayer: number): void;
|
|
33
|
+
setCurrentTemporalLayer(currentTemporalLayer: number): void;
|
|
34
|
+
setRequestedSpatialLayer(spatialLayer: number | undefined): void;
|
|
35
|
+
setCurrentMaxSpatialLayer(spatialLayer: number): void;
|
|
36
|
+
}
|
|
37
|
+
export default PeerConsumer;
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { MediaKind } from 'mediasoup-client/lib/RtpParameters';
|
|
2
|
-
import {
|
|
2
|
+
import { RtpEncodingParameters } from 'mediasoup-client/lib/types';
|
|
3
|
+
import { ProducerData, TrackLabel, TrackTransformParams } from '../types/common';
|
|
3
4
|
declare class PeerProducer {
|
|
4
5
|
readonly id: string;
|
|
5
6
|
readonly kind: MediaKind;
|
|
6
7
|
readonly peerId: string;
|
|
7
8
|
readonly label: TrackLabel;
|
|
9
|
+
readonly encodings: RtpEncodingParameters[];
|
|
10
|
+
readonly trackTransformParams: TrackTransformParams;
|
|
11
|
+
readonly maxSpatialLayer: number;
|
|
8
12
|
score: number;
|
|
9
13
|
constructor(params: ProducerData);
|
|
10
14
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Producer } from 'mediasoup-client/lib/Producer';
|
|
2
2
|
import { MediaKind } from 'mediasoup-client/lib/RtpParameters';
|
|
3
3
|
import { EncoderConfig, TrackLabel } from '../../../types/common';
|
|
4
|
+
import Logger from '../../Logger';
|
|
4
5
|
declare class BaseTrack {
|
|
5
6
|
#private;
|
|
6
7
|
protected encoderConfig: EncoderConfig;
|
|
7
8
|
private producer?;
|
|
8
9
|
private label;
|
|
10
|
+
protected logger: Logger;
|
|
9
11
|
constructor(mediaStreamTrack: MediaStreamTrack);
|
|
10
12
|
get mediaStreamTrack(): MediaStreamTrack;
|
|
11
13
|
get id(): string;
|
|
@@ -19,5 +21,6 @@ declare class BaseTrack {
|
|
|
19
21
|
setProducer(producer: Producer): void;
|
|
20
22
|
getProducer(): Producer | undefined;
|
|
21
23
|
closeProducer(): void;
|
|
24
|
+
setPriority(priority: RTCPriorityType): Promise<void>;
|
|
22
25
|
}
|
|
23
26
|
export default BaseTrack;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { PreferredLayersParams, SpatialLayerParams, TrackLabel } from '../../../types/common';
|
|
2
|
+
import PeerConsumer from '../../PeerConsumer';
|
|
3
|
+
import Engine from '../../index';
|
|
4
|
+
interface PeerTrackConstructor {
|
|
5
|
+
mediaStreamTrack: MediaStreamTrack;
|
|
6
|
+
label: TrackLabel;
|
|
7
|
+
consumer?: PeerConsumer;
|
|
8
|
+
engine: Engine;
|
|
9
|
+
}
|
|
10
|
+
declare class PeerTrack {
|
|
11
|
+
#private;
|
|
12
|
+
readonly mediaStreamTrack: MediaStreamTrack;
|
|
13
|
+
readonly label: TrackLabel;
|
|
14
|
+
readonly consumer?: PeerConsumer;
|
|
15
|
+
constructor(payload: PeerTrackConstructor);
|
|
16
|
+
get consumerId(): string | undefined;
|
|
17
|
+
get currentSpatialLayer(): number;
|
|
18
|
+
close(): void;
|
|
19
|
+
pause(): Promise<void>;
|
|
20
|
+
resume(): Promise<void>;
|
|
21
|
+
setPriority(priority: number): Promise<void>;
|
|
22
|
+
private setConsumerPriority;
|
|
23
|
+
private pauseRemoteConsumer;
|
|
24
|
+
private resumeRemoteConsumer;
|
|
25
|
+
requestVideoPreferredLayers({ spatialLayer, temporalLayer }: PreferredLayersParams): Promise<void>;
|
|
26
|
+
getVideoAvailableLayers(): SpatialLayerParams[] | undefined;
|
|
27
|
+
private requestMaxSpatialLayer;
|
|
28
|
+
}
|
|
29
|
+
export default PeerTrack;
|
|
@@ -5,9 +5,13 @@ import BaseTrack from './BaseTrack';
|
|
|
5
5
|
import TrackWithCodecOptions from './TrackWithCodecOptions';
|
|
6
6
|
import TrackWithEncodings from './TrackWithEncodings';
|
|
7
7
|
declare class VideoTrack extends BaseTrack implements TrackWithCodecOptions, TrackWithEncodings {
|
|
8
|
+
transformParams: {};
|
|
8
9
|
getEncoderConfig(): VideoEncoderConfig;
|
|
9
10
|
getCodecOptions(): ProducerCodecOptions;
|
|
10
11
|
getPreferredCodec(): VideoCodec;
|
|
11
12
|
getEncodings(): RtpEncodingParameters[];
|
|
13
|
+
setTransformParams(transformParams: {}): void;
|
|
14
|
+
setMaxSpatialLayer(spatialLayer: number): Promise<void>;
|
|
15
|
+
getMaxSpatialLayer(): number | undefined;
|
|
12
16
|
}
|
|
13
17
|
export default VideoTrack;
|