werift 0.14.5 → 0.15.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/lib/common/src/binary.d.ts +0 -1
- package/lib/common/src/binary.js +1 -2
- package/lib/common/src/binary.js.map +1 -1
- package/lib/dtls/src/context/cipher.js +5 -2
- package/lib/dtls/src/context/cipher.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/useSrtp.js +5 -2
- package/lib/dtls/src/handshake/extensions/useSrtp.js.map +1 -1
- package/lib/ice/src/candidate.js +5 -2
- package/lib/ice/src/candidate.js.map +1 -1
- package/lib/ice/src/ice.d.ts +2 -2
- package/lib/ice/src/ice.js +19 -8
- package/lib/ice/src/ice.js.map +1 -1
- package/lib/ice/src/stun/attributes.js +5 -2
- package/lib/ice/src/stun/attributes.js.map +1 -1
- package/lib/rtp/src/rtcp/rr.js +5 -2
- package/lib/rtp/src/rtcp/rr.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/nack.js +6 -3
- package/lib/rtp/src/rtcp/rtpfb/nack.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/twcc.js +6 -6
- package/lib/rtp/src/rtcp/rtpfb/twcc.js.map +1 -1
- package/lib/rtp/src/rtcp/sr.js +5 -2
- package/lib/rtp/src/rtcp/sr.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/ctr.js +5 -2
- package/lib/rtp/src/srtp/cipher/ctr.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/gcm.js +6 -3
- package/lib/rtp/src/srtp/cipher/gcm.js.map +1 -1
- package/lib/sctp/src/param.js +5 -2
- package/lib/sctp/src/param.js.map +1 -1
- package/lib/sctp/src/sctp.js +5 -5
- package/lib/sctp/src/sctp.js.map +1 -1
- package/lib/webrtc/src/dataChannel.js +3 -2
- package/lib/webrtc/src/dataChannel.js.map +1 -1
- package/lib/webrtc/src/media/receiver/nack.js +2 -2
- package/lib/webrtc/src/media/receiver/nack.js.map +1 -1
- package/lib/webrtc/src/media/rtpReceiver.d.ts +3 -2
- package/lib/webrtc/src/media/rtpReceiver.js +4 -2
- package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
- package/lib/webrtc/src/media/rtpSender.d.ts +4 -2
- package/lib/webrtc/src/media/rtpSender.js +15 -7
- package/lib/webrtc/src/media/rtpSender.js.map +1 -1
- package/lib/webrtc/src/media/rtpTransceiver.d.ts +7 -6
- package/lib/webrtc/src/media/rtpTransceiver.js +10 -3
- package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
- package/lib/webrtc/src/peerConnection.d.ts +10 -10
- package/lib/webrtc/src/peerConnection.js +356 -211
- package/lib/webrtc/src/peerConnection.js.map +1 -1
- package/lib/webrtc/src/sdp.js +5 -2
- package/lib/webrtc/src/sdp.js.map +1 -1
- package/lib/webrtc/src/transport/dtls.d.ts +3 -2
- package/lib/webrtc/src/transport/dtls.js +3 -0
- package/lib/webrtc/src/transport/dtls.js.map +1 -1
- package/lib/webrtc/src/transport/sctp.d.ts +5 -3
- package/lib/webrtc/src/transport/sctp.js +46 -34
- package/lib/webrtc/src/transport/sctp.js.map +1 -1
- package/package.json +2 -2
- package/src/dataChannel.ts +4 -2
- package/src/media/receiver/nack.ts +1 -1
- package/src/media/rtpReceiver.ts +6 -5
- package/src/media/rtpSender.ts +18 -9
- package/src/media/rtpTransceiver.ts +17 -6
- package/src/peerConnection.ts +431 -253
- package/src/sdp.ts +1 -1
- package/src/transport/dtls.ts +4 -1
- package/src/transport/sctp.ts +53 -33
package/src/media/rtpReceiver.ts
CHANGED
|
@@ -48,6 +48,7 @@ export class RTCRtpReceiver {
|
|
|
48
48
|
readonly onPacketLost = this.nack.onPacketLost;
|
|
49
49
|
readonly onRtcp = new Event<[RtcpPacket]>();
|
|
50
50
|
|
|
51
|
+
dtlsTransport!: RTCDtlsTransport;
|
|
51
52
|
sdesMid?: string;
|
|
52
53
|
latestRid?: string;
|
|
53
54
|
latestRepairedRid?: string;
|
|
@@ -62,11 +63,11 @@ export class RTCRtpReceiver {
|
|
|
62
63
|
private rtcpCancel = new AbortController();
|
|
63
64
|
private remoteStreams: { [ssrc: number]: StreamStatistics } = {};
|
|
64
65
|
|
|
65
|
-
constructor(
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
constructor(public kind: Kind, public rtcpSsrc: number) {}
|
|
67
|
+
|
|
68
|
+
setDtlsTransport(dtls: RTCDtlsTransport) {
|
|
69
|
+
this.dtlsTransport = dtls;
|
|
70
|
+
}
|
|
70
71
|
|
|
71
72
|
// todo fix
|
|
72
73
|
get track() {
|
package/src/media/rtpSender.ts
CHANGED
|
@@ -93,21 +93,15 @@ export class RTCRtpSender {
|
|
|
93
93
|
private seqOffset = 0;
|
|
94
94
|
private rtpCache: RtpPacket[] = [];
|
|
95
95
|
codec?: RTCRtpCodecParameters;
|
|
96
|
+
public dtlsTransport!: RTCDtlsTransport;
|
|
97
|
+
private dtlsDisposer: (() => void)[] = [];
|
|
96
98
|
|
|
97
99
|
track?: MediaStreamTrack;
|
|
98
100
|
stopped = false;
|
|
99
101
|
rtcpRunning = false;
|
|
100
102
|
private rtcpCancel = new AbortController();
|
|
101
103
|
|
|
102
|
-
constructor(
|
|
103
|
-
public trackOrKind: Kind | MediaStreamTrack,
|
|
104
|
-
public dtlsTransport: RTCDtlsTransport
|
|
105
|
-
) {
|
|
106
|
-
dtlsTransport.onStateChange.subscribe((state) => {
|
|
107
|
-
if (state === "connected") {
|
|
108
|
-
this.onReady.execute();
|
|
109
|
-
}
|
|
110
|
-
});
|
|
104
|
+
constructor(public trackOrKind: Kind | MediaStreamTrack) {
|
|
111
105
|
if (trackOrKind instanceof MediaStreamTrack) {
|
|
112
106
|
if (trackOrKind.streamId) {
|
|
113
107
|
this.streamId = trackOrKind.streamId;
|
|
@@ -116,6 +110,21 @@ export class RTCRtpSender {
|
|
|
116
110
|
}
|
|
117
111
|
}
|
|
118
112
|
|
|
113
|
+
setDtlsTransport(dtlsTransport: RTCDtlsTransport) {
|
|
114
|
+
if (this.dtlsTransport) {
|
|
115
|
+
this.dtlsDisposer.forEach((dispose) => dispose());
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
this.dtlsTransport = dtlsTransport;
|
|
119
|
+
this.dtlsDisposer = [
|
|
120
|
+
this.dtlsTransport.onStateChange.subscribe((state) => {
|
|
121
|
+
if (state === "connected") {
|
|
122
|
+
this.onReady.execute();
|
|
123
|
+
}
|
|
124
|
+
}).unSubscribe,
|
|
125
|
+
];
|
|
126
|
+
}
|
|
127
|
+
|
|
119
128
|
get redDistance() {
|
|
120
129
|
return this._redDistance;
|
|
121
130
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Event from "rx.mini";
|
|
2
2
|
import * as uuid from "uuid";
|
|
3
3
|
|
|
4
|
+
import { RTCDtlsTransport } from "..";
|
|
4
5
|
import { SenderDirections } from "../const";
|
|
5
|
-
import { RTCDtlsTransport } from "../transport/dtls";
|
|
6
6
|
import { Kind } from "../types/domain";
|
|
7
7
|
import {
|
|
8
8
|
RTCRtpCodecParameters,
|
|
@@ -39,12 +39,23 @@ export class RTCRtpTransceiver {
|
|
|
39
39
|
|
|
40
40
|
constructor(
|
|
41
41
|
public readonly kind: Kind,
|
|
42
|
-
|
|
43
|
-
public
|
|
42
|
+
dtlsTransport: RTCDtlsTransport,
|
|
43
|
+
public receiver: RTCRtpReceiver,
|
|
44
|
+
public sender: RTCRtpSender,
|
|
44
45
|
/**RFC 8829 4.2.4. direction the transceiver was initialized with */
|
|
45
|
-
public direction: Direction
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
public direction: Direction
|
|
47
|
+
) {
|
|
48
|
+
this.setDtlsTransport(dtlsTransport);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
get dtlsTransport() {
|
|
52
|
+
return this.receiver.dtlsTransport;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
setDtlsTransport(dtls: RTCDtlsTransport) {
|
|
56
|
+
this.receiver.setDtlsTransport(dtls);
|
|
57
|
+
this.sender.setDtlsTransport(dtls);
|
|
58
|
+
}
|
|
48
59
|
|
|
49
60
|
get msid() {
|
|
50
61
|
return `${this.sender.streamId} ${this.sender.trackId}`;
|