werift 0.22.1 → 0.22.2

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.
Files changed (176) hide show
  1. package/lib/common/src/binary.d.ts +6 -6
  2. package/lib/common/src/event.d.ts +1 -0
  3. package/lib/common/src/event.js +5 -0
  4. package/lib/common/src/event.js.map +1 -1
  5. package/lib/common/src/log.d.ts +1 -2
  6. package/lib/common/src/transport.d.ts +2 -1
  7. package/lib/common/src/transport.js +28 -14
  8. package/lib/common/src/transport.js.map +1 -1
  9. package/lib/dtls/src/cipher/prf.d.ts +12 -12
  10. package/lib/dtls/src/cipher/suites/aead.d.ts +3 -2
  11. package/lib/dtls/src/cipher/suites/aead.js +31 -38
  12. package/lib/dtls/src/cipher/suites/aead.js.map +1 -1
  13. package/lib/dtls/src/context/cipher.d.ts +4 -4
  14. package/lib/dtls/src/context/cipher.js +21 -10
  15. package/lib/dtls/src/context/cipher.js.map +1 -1
  16. package/lib/dtls/src/context/srtp.d.ts +3 -3
  17. package/lib/dtls/src/context/srtp.js.map +1 -1
  18. package/lib/dtls/src/flight/client/flight5.js.map +1 -1
  19. package/lib/dtls/src/flight/server/flight2.js.map +1 -1
  20. package/lib/dtls/src/handshake/extensions/ellipticCurves.d.ts +1 -1
  21. package/lib/dtls/src/handshake/extensions/renegotiationIndication.d.ts +2 -2
  22. package/lib/dtls/src/handshake/extensions/signature.d.ts +2 -2
  23. package/lib/dtls/src/handshake/extensions/useSrtp.d.ts +1 -1
  24. package/lib/dtls/src/handshake/message/alert.d.ts +1 -1
  25. package/lib/dtls/src/handshake/message/certificate.d.ts +1 -1
  26. package/lib/dtls/src/handshake/message/changeCipherSpec.d.ts +1 -1
  27. package/lib/dtls/src/handshake/message/client/certificateVerify.d.ts +1 -1
  28. package/lib/dtls/src/handshake/message/client/hello.d.ts +1 -1
  29. package/lib/dtls/src/handshake/message/client/keyExchange.d.ts +1 -1
  30. package/lib/dtls/src/handshake/message/finished.d.ts +1 -1
  31. package/lib/dtls/src/handshake/message/server/certificateRequest.d.ts +1 -1
  32. package/lib/dtls/src/handshake/message/server/hello.d.ts +1 -1
  33. package/lib/dtls/src/handshake/message/server/helloDone.d.ts +1 -1
  34. package/lib/dtls/src/handshake/message/server/helloVerifyRequest.d.ts +1 -1
  35. package/lib/dtls/src/handshake/message/server/keyExchange.d.ts +1 -1
  36. package/lib/dtls/src/handshake/random.d.ts +3 -3
  37. package/lib/dtls/src/record/message/fragment.d.ts +1 -1
  38. package/lib/dtls/src/record/message/header.d.ts +2 -19
  39. package/lib/dtls/src/record/message/header.js +1 -60
  40. package/lib/dtls/src/record/message/header.js.map +1 -1
  41. package/lib/dtls/src/record/message/plaintext.d.ts +6 -27
  42. package/lib/dtls/src/record/message/plaintext.js +34 -16
  43. package/lib/dtls/src/record/message/plaintext.js.map +1 -1
  44. package/lib/dtls/src/socket.d.ts +4 -4
  45. package/lib/dtls/src/socket.js.map +1 -1
  46. package/lib/dtls/src/util/binary.d.ts +1 -1
  47. package/lib/ice/src/helper.d.ts +1 -1
  48. package/lib/ice/src/ice.d.ts +4 -3
  49. package/lib/ice/src/ice.js +89 -68
  50. package/lib/ice/src/ice.js.map +1 -1
  51. package/lib/ice/src/iceBase.d.ts +20 -1
  52. package/lib/ice/src/iceBase.js +46 -0
  53. package/lib/ice/src/iceBase.js.map +1 -1
  54. package/lib/ice/src/stun/attributes.d.ts +2 -2
  55. package/lib/ice/src/stun/attributes.js +47 -27
  56. package/lib/ice/src/stun/attributes.js.map +1 -1
  57. package/lib/ice/src/stun/message.d.ts +2 -2
  58. package/lib/ice/src/stun/message.js +21 -23
  59. package/lib/ice/src/stun/message.js.map +1 -1
  60. package/lib/ice/src/stun/protocol.d.ts +2 -2
  61. package/lib/ice/src/turn/protocol.d.ts +2 -2
  62. package/lib/index.mjs +2252 -1474
  63. package/lib/nonstandard/index.mjs +308 -351
  64. package/lib/rtp/src/codec/av1.d.ts +2 -2
  65. package/lib/rtp/src/codec/opus.d.ts +1 -1
  66. package/lib/rtp/src/extra/container/mp4/container.js +18 -8
  67. package/lib/rtp/src/extra/container/mp4/container.js.map +1 -1
  68. package/lib/rtp/src/extra/container/mp4/h264.d.ts +2 -2
  69. package/lib/rtp/src/extra/container/mp4/sps-parser.d.ts +1 -1
  70. package/lib/rtp/src/extra/container/ogg/parser.d.ts +1 -1
  71. package/lib/rtp/src/extra/container/webm/container.d.ts +7 -7
  72. package/lib/rtp/src/extra/container/webm/container.js +17 -7
  73. package/lib/rtp/src/extra/container/webm/container.js.map +1 -1
  74. package/lib/rtp/src/extra/container/webm/ebml/ebml.d.ts +1 -1
  75. package/lib/rtp/src/extra/container/webm/ebml/id.d.ts +222 -222
  76. package/lib/rtp/src/extra/processor/depacketizerCallback.d.ts +1 -1
  77. package/lib/rtp/src/extra/processor/depacketizerTransformer.d.ts +6 -1
  78. package/lib/rtp/src/extra/processor/dtxCallback.d.ts +1 -1
  79. package/lib/rtp/src/extra/processor/interface.d.ts +1 -1
  80. package/lib/rtp/src/extra/processor/jitterBufferCallback.d.ts +1 -1
  81. package/lib/rtp/src/extra/processor/mp4.js +3 -0
  82. package/lib/rtp/src/extra/processor/mp4.js.map +1 -1
  83. package/lib/rtp/src/extra/processor/nackHandlerCallback.d.ts +1 -1
  84. package/lib/rtp/src/extra/processor/ntpTimeCallback.d.ts +1 -1
  85. package/lib/rtp/src/extra/processor/rtpTimeCallback.d.ts +1 -1
  86. package/lib/rtp/src/extra/processor/webm.d.ts +1 -1
  87. package/lib/rtp/src/helper.d.ts +1 -1
  88. package/lib/rtp/src/rtcp/header.d.ts +1 -1
  89. package/lib/rtp/src/rtcp/psfb/fullIntraRequest.d.ts +1 -1
  90. package/lib/rtp/src/rtcp/psfb/index.d.ts +1 -1
  91. package/lib/rtp/src/rtcp/psfb/pictureLossIndication.d.ts +1 -1
  92. package/lib/rtp/src/rtcp/psfb/remb.d.ts +1 -1
  93. package/lib/rtp/src/rtcp/rr.d.ts +2 -2
  94. package/lib/rtp/src/rtcp/rtcp.d.ts +1 -1
  95. package/lib/rtp/src/rtcp/rtpfb/index.d.ts +1 -1
  96. package/lib/rtp/src/rtcp/rtpfb/nack.d.ts +1 -1
  97. package/lib/rtp/src/rtcp/rtpfb/twcc.d.ts +4 -4
  98. package/lib/rtp/src/rtcp/sdes.d.ts +3 -3
  99. package/lib/rtp/src/rtcp/sr.d.ts +2 -2
  100. package/lib/rtp/src/rtp/headerExtension.d.ts +6 -6
  101. package/lib/rtp/src/rtp/red/packet.d.ts +2 -2
  102. package/lib/rtp/src/rtp/rtp.d.ts +2 -2
  103. package/lib/rtp/src/srtp/cipher/ctr.d.ts +4 -4
  104. package/lib/rtp/src/srtp/cipher/gcm.d.ts +4 -4
  105. package/lib/rtp/src/srtp/const.d.ts +3 -3
  106. package/lib/rtp/src/srtp/const.js.map +1 -1
  107. package/lib/rtp/src/srtp/context/context.d.ts +7 -7
  108. package/lib/rtp/src/srtp/context/context.js +10 -4
  109. package/lib/rtp/src/srtp/context/context.js.map +1 -1
  110. package/lib/rtp/src/srtp/context/srtcp.d.ts +3 -3
  111. package/lib/rtp/src/srtp/context/srtcp.js.map +1 -1
  112. package/lib/rtp/src/srtp/context/srtp.d.ts +3 -3
  113. package/lib/rtp/src/srtp/context/srtp.js.map +1 -1
  114. package/lib/rtp/src/srtp/srtcp.d.ts +2 -2
  115. package/lib/rtp/src/srtp/srtp.d.ts +2 -2
  116. package/lib/sctp/src/chunk.d.ts +12 -12
  117. package/lib/sctp/src/chunk.js +87 -66
  118. package/lib/sctp/src/chunk.js.map +1 -1
  119. package/lib/sctp/src/param.d.ts +3 -3
  120. package/lib/sctp/src/sctp.d.ts +3 -1
  121. package/lib/sctp/src/sctp.js +36 -1
  122. package/lib/sctp/src/sctp.js.map +1 -1
  123. package/lib/webrtc/src/dataChannel.d.ts +15 -4
  124. package/lib/webrtc/src/dataChannel.js +42 -7
  125. package/lib/webrtc/src/dataChannel.js.map +1 -1
  126. package/lib/webrtc/src/index.d.ts +1 -0
  127. package/lib/webrtc/src/index.js +1 -0
  128. package/lib/webrtc/src/index.js.map +1 -1
  129. package/lib/webrtc/src/media/index.d.ts +1 -0
  130. package/lib/webrtc/src/media/index.js +1 -0
  131. package/lib/webrtc/src/media/index.js.map +1 -1
  132. package/lib/webrtc/src/media/parameters.d.ts +2 -2
  133. package/lib/webrtc/src/media/parameters.js.map +1 -1
  134. package/lib/webrtc/src/media/router.js +2 -1
  135. package/lib/webrtc/src/media/router.js.map +1 -1
  136. package/lib/webrtc/src/media/rtpReceiver.d.ts +3 -3
  137. package/lib/webrtc/src/media/rtpReceiver.js +51 -2
  138. package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
  139. package/lib/webrtc/src/media/rtpSender.d.ts +6 -0
  140. package/lib/webrtc/src/media/rtpSender.js +78 -7
  141. package/lib/webrtc/src/media/rtpSender.js.map +1 -1
  142. package/lib/webrtc/src/media/rtpTransceiver.d.ts +12 -9
  143. package/lib/webrtc/src/media/rtpTransceiver.js +45 -8
  144. package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
  145. package/lib/webrtc/src/media/stats.d.ts +279 -0
  146. package/lib/webrtc/src/media/stats.js +35 -1
  147. package/lib/webrtc/src/media/stats.js.map +1 -1
  148. package/lib/webrtc/src/peerConnection.d.ts +34 -64
  149. package/lib/webrtc/src/peerConnection.js +319 -986
  150. package/lib/webrtc/src/peerConnection.js.map +1 -1
  151. package/lib/webrtc/src/sctpManager.d.ts +27 -0
  152. package/lib/webrtc/src/sctpManager.js +147 -0
  153. package/lib/webrtc/src/sctpManager.js.map +1 -0
  154. package/lib/webrtc/src/sdp.d.ts +3 -2
  155. package/lib/webrtc/src/sdp.js +17 -7
  156. package/lib/webrtc/src/sdp.js.map +1 -1
  157. package/lib/webrtc/src/sdpManager.d.ts +78 -0
  158. package/lib/webrtc/src/sdpManager.js +391 -0
  159. package/lib/webrtc/src/sdpManager.js.map +1 -0
  160. package/lib/webrtc/src/secureTransportManager.d.ts +56 -0
  161. package/lib/webrtc/src/secureTransportManager.js +345 -0
  162. package/lib/webrtc/src/secureTransportManager.js.map +1 -0
  163. package/lib/webrtc/src/transceiverManager.d.ts +40 -0
  164. package/lib/webrtc/src/transceiverManager.js +355 -0
  165. package/lib/webrtc/src/transceiverManager.js.map +1 -0
  166. package/lib/webrtc/src/transport/dtls.d.ts +18 -6
  167. package/lib/webrtc/src/transport/dtls.js +119 -11
  168. package/lib/webrtc/src/transport/dtls.js.map +1 -1
  169. package/lib/webrtc/src/transport/ice.d.ts +24 -0
  170. package/lib/webrtc/src/transport/ice.js +86 -0
  171. package/lib/webrtc/src/transport/ice.js.map +1 -1
  172. package/lib/webrtc/src/transport/sctp.js +22 -7
  173. package/lib/webrtc/src/transport/sctp.js.map +1 -1
  174. package/lib/webrtc/src/utils.d.ts +3 -3
  175. package/lib/webrtc/src/utils.js.map +1 -1
  176. package/package.json +15 -21
@@ -1,27 +1,28 @@
1
- import { RTCDataChannel } from "./dataChannel";
1
+ import type { RTCDataChannel } from "./dataChannel";
2
2
  import { EventTarget } from "./helper";
3
3
  import { type Address, Event, type InterfaceAddresses } from "./imports/common";
4
4
  import type { CandidatePair, Message, Protocol } from "./imports/ice";
5
- import { type Direction, MediaStream, type MediaStreamTrack, type RTCRtpCodecParameters, type RTCRtpHeaderExtensionParameters, RTCRtpReceiver, RTCRtpSender, RTCRtpTransceiver, type TransceiverOptions } from "./media";
6
- import { GroupDescription, MediaDescription, SessionDescription } from "./sdp";
7
- import { type DtlsKeys, RTCDtlsTransport } from "./transport/dtls";
8
- import { type IceGathererState, type RTCIceCandidate, type RTCIceCandidateInit, type RTCIceConnectionState, RTCIceTransport } from "./transport/ice";
9
- import { RTCSctpTransport } from "./transport/sctp";
10
- import type { ConnectionState, Kind, RTCSignalingState } from "./types/domain";
5
+ import { type MediaStream, type MediaStreamTrack, type RTCRtpCodecParameters, type RTCRtpHeaderExtensionParameters, type RTCRtpReceiver, type RTCRtpSender, type RTCRtpTransceiver, type TransceiverOptions } from "./media";
6
+ import { RTCStatsReport } from "./media/stats";
7
+ import { type BundlePolicy, SessionDescription } from "./sdp";
8
+ import { type RTCSessionDescriptionInit } from "./sdpManager";
9
+ import type { DtlsKeys, RTCDtlsTransport } from "./transport/dtls";
10
+ import type { RTCIceCandidate, RTCIceCandidateInit, RTCIceTransport } from "./transport/ice";
11
+ import type { Kind, RTCSignalingState } from "./types/domain";
11
12
  import type { Callback, CallbackWithValue } from "./types/util";
12
13
  export declare class RTCPeerConnection extends EventTarget {
13
14
  readonly cname: string;
14
- sctpTransport?: RTCSctpTransport;
15
15
  config: Required<PeerConfig>;
16
- connectionState: ConnectionState;
17
- iceConnectionState: RTCIceConnectionState;
18
- iceGatheringState: IceGathererState;
19
16
  signalingState: RTCSignalingState;
20
17
  negotiationneeded: boolean;
21
- private readonly transceivers;
22
- private pushTransceiver;
23
- private replaceTransceiver;
24
18
  needRestart: boolean;
19
+ private readonly router;
20
+ private readonly sdpManager;
21
+ private readonly transceiverManager;
22
+ private readonly sctpManager;
23
+ private readonly secureManager;
24
+ private isClosed;
25
+ private shouldNegotiationneeded;
25
26
  readonly iceGatheringStateChange: Event<["complete" | "new" | "gathering"]>;
26
27
  readonly iceConnectionStateChange: Event<["disconnected" | "closed" | "completed" | "new" | "connected" | "failed" | "checking"]>;
27
28
  readonly signalingStateChange: Event<["closed" | "stable" | "have-local-offer" | "have-remote-offer" | "have-local-pranswer" | "have-remote-pranswer"]>;
@@ -34,43 +35,41 @@ export declare class RTCPeerConnection extends EventTarget {
34
35
  readonly onTrack: Event<[MediaStreamTrack]>;
35
36
  ondatachannel?: CallbackWithValue<RTCDataChannelEvent>;
36
37
  onicecandidate?: CallbackWithValue<RTCPeerConnectionIceEvent>;
38
+ onicecandidateerror?: CallbackWithValue<any>;
39
+ onicegatheringstatechange?: CallbackWithValue<any>;
37
40
  onnegotiationneeded?: CallbackWithValue<any>;
38
41
  onsignalingstatechange?: CallbackWithValue<any>;
39
42
  ontrack?: CallbackWithValue<RTCTrackEvent>;
40
43
  onconnectionstatechange?: Callback;
41
44
  oniceconnectionstatechange?: Callback;
42
- private readonly router;
43
- private certificate?;
44
- sctpRemotePort?: number;
45
- private seenMid;
46
- private currentLocalDescription?;
47
- private currentRemoteDescription?;
48
- private pendingLocalDescription?;
49
- private pendingRemoteDescription?;
50
- private isClosed;
51
- private shouldNegotiationneeded;
45
+ constructor(config?: Partial<PeerConfig>);
46
+ get connectionState(): "disconnected" | "closed" | "new" | "connected" | "connecting" | "failed";
47
+ get iceConnectionState(): "disconnected" | "closed" | "completed" | "new" | "connected" | "failed" | "checking";
48
+ get iceGathererState(): "complete" | "new" | "gathering";
49
+ get iceGatheringState(): "complete" | "new" | "gathering";
52
50
  get dtlsTransports(): RTCDtlsTransport[];
51
+ get sctpTransport(): import(".").RTCSctpTransport | undefined;
52
+ get sctpRemotePort(): number | undefined;
53
53
  get iceTransports(): RTCIceTransport[];
54
54
  get extIdUriMap(): {
55
55
  [id: number]: string;
56
56
  };
57
57
  get iceGeneration(): number;
58
- constructor(config?: Partial<PeerConfig>);
59
- setConfiguration(config: Partial<PeerConfig>): void;
60
58
  get localDescription(): import("./sdp").RTCSessionDescription | undefined;
61
59
  get remoteDescription(): import("./sdp").RTCSessionDescription | undefined;
62
60
  /**@private */
63
61
  get _localDescription(): SessionDescription | undefined;
64
62
  /**@private */
65
63
  get _remoteDescription(): SessionDescription | undefined;
66
- private getTransceiverByMid;
67
- private getTransceiverByMLineIndex;
64
+ getTransceivers(): RTCRtpTransceiver[];
65
+ getSenders(): RTCRtpSender[];
66
+ getReceivers(): RTCRtpReceiver[];
67
+ setConfiguration(config: Partial<PeerConfig>): void;
68
68
  getConfiguration(): Required<PeerConfig>;
69
69
  createOffer({ iceRestart }?: {
70
70
  iceRestart?: boolean;
71
71
  }): Promise<import("./sdp").RTCSessionDescription>;
72
- private assignTransceiverCodecs;
73
- buildOfferSdp(): SessionDescription;
72
+ private createSctpTransport;
74
73
  createDataChannel(label: string, options?: Partial<{
75
74
  maxPacketLifeTime?: number;
76
75
  protocol: string;
@@ -81,51 +80,27 @@ export declare class RTCPeerConnection extends EventTarget {
81
80
  }>): RTCDataChannel;
82
81
  removeTrack(sender: RTCRtpSender): void;
83
82
  private needNegotiation;
84
- private createTransport;
85
- private createSctpTransport;
86
- setLocalDescription(sessionDescription: {
83
+ private findOrCreateTransport;
84
+ setLocalDescription(sessionDescription?: {
87
85
  type: "offer" | "answer";
88
86
  sdp: string;
89
87
  }): Promise<SessionDescription>;
90
88
  private gatherCandidates;
91
- private setLocal;
92
- private getTransportByMid;
93
- private getTransportByMLineIndex;
94
89
  addIceCandidate(candidateMessage: RTCIceCandidate | RTCIceCandidateInit): Promise<void>;
95
90
  private connect;
96
- private getLocalRtpParams;
97
- private getRemoteRtpParams;
98
- get remoteIsBundled(): GroupDescription | undefined;
99
91
  restartIce(): void;
100
92
  setRemoteDescription(sessionDescription: RTCSessionDescriptionInit): Promise<void>;
101
- private setRemoteRTP;
102
- private setRemoteSCTP;
103
- private validateDescription;
104
- private fireOnTrack;
105
93
  addTransceiver(trackOrKind: Kind | MediaStreamTrack, options?: Partial<TransceiverOptions>): RTCRtpTransceiver;
106
- private _addTransceiver;
107
- getTransceivers(): RTCRtpTransceiver[];
108
- getSenders(): RTCRtpSender[];
109
- getReceivers(): RTCRtpReceiver[];
110
94
  addTrack(track: MediaStreamTrack,
111
95
  /**todo impl */
112
96
  ms?: MediaStream): RTCRtpSender;
113
- private ensureCerts;
114
97
  createAnswer(): Promise<import("./sdp").RTCSessionDescription>;
115
- private buildAnswer;
116
- close(): Promise<void>;
117
98
  private assertNotClosed;
118
- private updateIceGatheringState;
119
- private updateIceConnectionState;
120
99
  private setSignalingState;
121
- private setConnectionState;
122
- private dispose;
100
+ private createPeerConnectionStats;
101
+ getStats(selector?: MediaStreamTrack | null): Promise<RTCStatsReport>;
102
+ close(): Promise<void>;
123
103
  }
124
- export declare function createMediaDescriptionForTransceiver(transceiver: RTCRtpTransceiver, cname: string, direction: Direction): MediaDescription;
125
- export declare function createMediaDescriptionForSctp(sctp: RTCSctpTransport): MediaDescription;
126
- export declare function addTransportDescription(media: MediaDescription, dtlsTransport: RTCDtlsTransport): void;
127
- export declare function allocateMid(mids: Set<string>, type: "dc" | "av" | ""): string;
128
- export type BundlePolicy = "max-compat" | "max-bundle" | "disable";
129
104
  export interface PeerConfig {
130
105
  codecs: Partial<{
131
106
  /**
@@ -193,8 +168,3 @@ export interface RTCDataChannelEvent {
193
168
  export interface RTCPeerConnectionIceEvent {
194
169
  candidate?: RTCIceCandidate;
195
170
  }
196
- export interface RTCSessionDescriptionInit {
197
- sdp?: string;
198
- type: RTCSdpType;
199
- }
200
- export type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";