werift 0.18.13 → 0.18.15

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 (252) hide show
  1. package/lib/common/src/binary.js.map +1 -1
  2. package/lib/common/src/index.d.ts +0 -1
  3. package/lib/common/src/index.js +0 -1
  4. package/lib/common/src/index.js.map +1 -1
  5. package/lib/dtls/src/client.js.map +1 -1
  6. package/lib/dtls/src/context/cipher.js +1 -1
  7. package/lib/dtls/src/context/cipher.js.map +1 -1
  8. package/lib/dtls/src/context/dtls.js.map +1 -1
  9. package/lib/dtls/src/context/transport.js.map +1 -1
  10. package/lib/dtls/src/flight/client/flight1.js.map +1 -1
  11. package/lib/dtls/src/flight/client/flight5.js.map +1 -1
  12. package/lib/dtls/src/flight/flight.js +1 -1
  13. package/lib/dtls/src/flight/flight.js.map +1 -1
  14. package/lib/dtls/src/flight/server/flight4.js.map +1 -1
  15. package/lib/dtls/src/flight/server/flight6.js.map +1 -1
  16. package/lib/dtls/src/handshake/extensions/ellipticCurves.js +1 -1
  17. package/lib/dtls/src/handshake/extensions/ellipticCurves.js.map +1 -1
  18. package/lib/dtls/src/handshake/extensions/extendedMasterSecret.js +1 -1
  19. package/lib/dtls/src/handshake/extensions/extendedMasterSecret.js.map +1 -1
  20. package/lib/dtls/src/handshake/extensions/renegotiationIndication.js +1 -1
  21. package/lib/dtls/src/handshake/extensions/renegotiationIndication.js.map +1 -1
  22. package/lib/dtls/src/handshake/extensions/signature.js +1 -1
  23. package/lib/dtls/src/handshake/extensions/signature.js.map +1 -1
  24. package/lib/dtls/src/handshake/extensions/useSrtp.js +1 -1
  25. package/lib/dtls/src/handshake/extensions/useSrtp.js.map +1 -1
  26. package/lib/dtls/src/handshake/message/alert.js +1 -1
  27. package/lib/dtls/src/handshake/message/alert.js.map +1 -1
  28. package/lib/dtls/src/handshake/message/certificate.js +1 -1
  29. package/lib/dtls/src/handshake/message/certificate.js.map +1 -1
  30. package/lib/dtls/src/handshake/message/changeCipherSpec.js +1 -1
  31. package/lib/dtls/src/handshake/message/changeCipherSpec.js.map +1 -1
  32. package/lib/dtls/src/handshake/message/client/certificateVerify.js +1 -1
  33. package/lib/dtls/src/handshake/message/client/certificateVerify.js.map +1 -1
  34. package/lib/dtls/src/handshake/message/client/hello.js +1 -1
  35. package/lib/dtls/src/handshake/message/client/hello.js.map +1 -1
  36. package/lib/dtls/src/handshake/message/client/keyExchange.js +1 -1
  37. package/lib/dtls/src/handshake/message/client/keyExchange.js.map +1 -1
  38. package/lib/dtls/src/handshake/message/finished.js.map +1 -1
  39. package/lib/dtls/src/handshake/message/server/certificateRequest.js +1 -1
  40. package/lib/dtls/src/handshake/message/server/certificateRequest.js.map +1 -1
  41. package/lib/dtls/src/handshake/message/server/hello.js +1 -1
  42. package/lib/dtls/src/handshake/message/server/hello.js.map +1 -1
  43. package/lib/dtls/src/handshake/message/server/helloDone.js +1 -1
  44. package/lib/dtls/src/handshake/message/server/helloDone.js.map +1 -1
  45. package/lib/dtls/src/handshake/message/server/helloVerifyRequest.js +1 -1
  46. package/lib/dtls/src/handshake/message/server/helloVerifyRequest.js.map +1 -1
  47. package/lib/dtls/src/handshake/message/server/keyExchange.js +1 -1
  48. package/lib/dtls/src/handshake/message/server/keyExchange.js.map +1 -1
  49. package/lib/dtls/src/handshake/random.js +1 -1
  50. package/lib/dtls/src/handshake/random.js.map +1 -1
  51. package/lib/dtls/src/record/message/fragment.js +1 -1
  52. package/lib/dtls/src/record/message/fragment.js.map +1 -1
  53. package/lib/dtls/src/record/message/header.js +2 -2
  54. package/lib/dtls/src/record/message/header.js.map +1 -1
  55. package/lib/dtls/src/record/message/plaintext.js +1 -1
  56. package/lib/dtls/src/record/message/plaintext.js.map +1 -1
  57. package/lib/dtls/src/server.js.map +1 -1
  58. package/lib/dtls/src/socket.js.map +1 -1
  59. package/lib/dtls/src/transport.js.map +1 -1
  60. package/lib/ice/src/candidate.js.map +1 -1
  61. package/lib/ice/src/exceptions.js.map +1 -1
  62. package/lib/ice/src/helper.js.map +1 -1
  63. package/lib/ice/src/ice.js.map +1 -1
  64. package/lib/ice/src/stun/attributes.js.map +1 -1
  65. package/lib/ice/src/stun/message.js.map +1 -1
  66. package/lib/ice/src/stun/protocol.js.map +1 -1
  67. package/lib/ice/src/stun/transaction.js.map +1 -1
  68. package/lib/ice/src/transport.js.map +1 -1
  69. package/lib/ice/src/turn/protocol.js.map +1 -1
  70. package/lib/rtp/src/codec/av1.js +1 -1
  71. package/lib/rtp/src/codec/av1.js.map +1 -1
  72. package/lib/rtp/src/container/index.d.ts +2 -1
  73. package/lib/rtp/src/container/index.js +2 -1
  74. package/lib/rtp/src/container/index.js.map +1 -1
  75. package/lib/rtp/src/container/mp4/container.d.ts +66 -0
  76. package/lib/rtp/src/container/mp4/container.js +262 -0
  77. package/lib/rtp/src/container/mp4/container.js.map +1 -0
  78. package/lib/rtp/src/container/mp4/exp-golomb.d.ts +20 -0
  79. package/lib/rtp/src/container/mp4/exp-golomb.js +144 -0
  80. package/lib/rtp/src/container/mp4/exp-golomb.js.map +1 -0
  81. package/lib/rtp/src/container/mp4/h264.d.ts +42 -0
  82. package/lib/rtp/src/container/mp4/h264.js +240 -0
  83. package/lib/rtp/src/container/mp4/h264.js.map +1 -0
  84. package/lib/rtp/src/container/mp4/index.d.ts +2 -0
  85. package/lib/rtp/src/container/mp4/index.js +19 -0
  86. package/lib/rtp/src/container/mp4/index.js.map +1 -0
  87. package/lib/rtp/src/container/mp4/mp4box.d.ts +5 -0
  88. package/lib/rtp/src/container/mp4/mp4box.js +32 -0
  89. package/lib/rtp/src/container/mp4/mp4box.js.map +1 -0
  90. package/lib/rtp/src/container/mp4/sps-parser.d.ts +40 -0
  91. package/lib/rtp/src/container/mp4/sps-parser.js +291 -0
  92. package/lib/rtp/src/container/mp4/sps-parser.js.map +1 -0
  93. package/lib/rtp/src/container/ogg/index.d.ts +1 -0
  94. package/lib/rtp/src/container/ogg/index.js +18 -0
  95. package/lib/rtp/src/container/ogg/index.js.map +1 -0
  96. package/lib/rtp/src/container/ogg/parser.d.ts +12 -0
  97. package/lib/rtp/src/container/ogg/parser.js +100 -0
  98. package/lib/rtp/src/container/ogg/parser.js.map +1 -0
  99. package/lib/rtp/src/container/{webm.d.ts → webm/container.d.ts} +1 -1
  100. package/lib/rtp/src/container/{webm.js → webm/container.js} +6 -6
  101. package/lib/rtp/src/container/webm/container.js.map +1 -0
  102. package/lib/rtp/src/container/webm/ebml/ebml.js.map +1 -0
  103. package/lib/rtp/src/container/webm/ebml/id.js.map +1 -0
  104. package/lib/rtp/src/container/webm/ebml/index.js.map +1 -0
  105. package/lib/rtp/src/container/webm/ebml/typedArrayUtils.js.map +1 -0
  106. package/lib/rtp/src/container/webm/index.d.ts +2 -0
  107. package/lib/rtp/src/container/webm/index.js +19 -0
  108. package/lib/rtp/src/container/webm/index.js.map +1 -0
  109. package/lib/rtp/src/processor/depacketizer.js.map +1 -1
  110. package/lib/rtp/src/processor/dtx.d.ts +1 -1
  111. package/lib/rtp/src/processor/dtx.js.map +1 -1
  112. package/lib/rtp/src/processor/index.d.ts +2 -0
  113. package/lib/rtp/src/processor/index.js +2 -0
  114. package/lib/rtp/src/processor/index.js.map +1 -1
  115. package/lib/rtp/src/processor/jitterBuffer.js.map +1 -1
  116. package/lib/rtp/src/processor/jitterBufferTransformer.js.map +1 -1
  117. package/lib/rtp/src/processor/lipsync.js.map +1 -1
  118. package/lib/rtp/src/processor/lipsyncCallback.js.map +1 -1
  119. package/lib/rtp/src/processor/mp4.d.ts +50 -0
  120. package/lib/rtp/src/processor/mp4.js +162 -0
  121. package/lib/rtp/src/processor/mp4.js.map +1 -0
  122. package/lib/rtp/src/processor/mp4Callback.d.ts +12 -0
  123. package/lib/rtp/src/processor/mp4Callback.js +83 -0
  124. package/lib/rtp/src/processor/mp4Callback.js.map +1 -0
  125. package/lib/rtp/src/processor/mute.d.ts +1 -1
  126. package/lib/rtp/src/processor/mute.js +6 -3
  127. package/lib/rtp/src/processor/mute.js.map +1 -1
  128. package/lib/rtp/src/processor/muteCallback.js.map +1 -1
  129. package/lib/rtp/src/processor/nack.js +2 -3
  130. package/lib/rtp/src/processor/nack.js.map +1 -1
  131. package/lib/rtp/src/processor/ntpTime.d.ts +1 -1
  132. package/lib/rtp/src/processor/ntpTime.js.map +1 -1
  133. package/lib/rtp/src/processor/rtcpCallback.js.map +1 -1
  134. package/lib/rtp/src/processor/rtpCallback.js.map +1 -1
  135. package/lib/rtp/src/processor/rtpStream.js.map +1 -1
  136. package/lib/rtp/src/processor/rtpTime.js.map +1 -1
  137. package/lib/rtp/src/processor/webm.d.ts +1 -1
  138. package/lib/rtp/src/processor/webm.js +1 -1
  139. package/lib/rtp/src/processor/webm.js.map +1 -1
  140. package/lib/rtp/src/processor/webmCallback.d.ts +1 -1
  141. package/lib/rtp/src/processor/webmCallback.js.map +1 -1
  142. package/lib/rtp/src/processor/webmStream.d.ts +1 -1
  143. package/lib/rtp/src/processor/webmStream.js.map +1 -1
  144. package/lib/rtp/src/rtcp/psfb/fullIntraRequest.js +1 -1
  145. package/lib/rtp/src/rtcp/psfb/fullIntraRequest.js.map +1 -1
  146. package/lib/rtp/src/rtcp/psfb/index.js +1 -1
  147. package/lib/rtp/src/rtcp/psfb/index.js.map +1 -1
  148. package/lib/rtp/src/rtcp/psfb/pictureLossIndication.js +1 -1
  149. package/lib/rtp/src/rtcp/psfb/pictureLossIndication.js.map +1 -1
  150. package/lib/rtp/src/rtcp/psfb/remb.js +1 -1
  151. package/lib/rtp/src/rtcp/psfb/remb.js.map +1 -1
  152. package/lib/rtp/src/rtcp/rr.js +3 -7
  153. package/lib/rtp/src/rtcp/rr.js.map +1 -1
  154. package/lib/rtp/src/rtcp/rtpfb/index.js +1 -1
  155. package/lib/rtp/src/rtcp/rtpfb/index.js.map +1 -1
  156. package/lib/rtp/src/rtcp/rtpfb/nack.js +6 -13
  157. package/lib/rtp/src/rtcp/rtpfb/nack.js.map +1 -1
  158. package/lib/rtp/src/rtcp/rtpfb/twcc.js +12 -8
  159. package/lib/rtp/src/rtcp/rtpfb/twcc.js.map +1 -1
  160. package/lib/rtp/src/rtcp/sdes.js +1 -1
  161. package/lib/rtp/src/rtcp/sdes.js.map +1 -1
  162. package/lib/rtp/src/rtcp/sr.js +2 -6
  163. package/lib/rtp/src/rtcp/sr.js.map +1 -1
  164. package/lib/rtp/src/rtp/headerExtension.d.ts +5 -0
  165. package/lib/rtp/src/rtp/headerExtension.js +35 -9
  166. package/lib/rtp/src/rtp/headerExtension.js.map +1 -1
  167. package/lib/rtp/src/rtp/red/encoder.js.map +1 -1
  168. package/lib/rtp/src/rtp/red/handler.js.map +1 -1
  169. package/lib/rtp/src/rtp/rtp.js.map +1 -1
  170. package/lib/rtp/src/srtp/cipher/ctr.js.map +1 -1
  171. package/lib/rtp/src/srtp/cipher/gcm.js.map +1 -1
  172. package/lib/rtp/src/srtp/cipher/index.js.map +1 -1
  173. package/lib/rtp/src/srtp/context/context.js.map +1 -1
  174. package/lib/rtp/src/srtp/session.js.map +1 -1
  175. package/lib/rtp/src/srtp/srtcp.js.map +1 -1
  176. package/lib/rtp/src/srtp/srtp.js.map +1 -1
  177. package/lib/rtp/src/util.js.map +1 -1
  178. package/lib/sctp/src/chunk.js +17 -17
  179. package/lib/sctp/src/chunk.js.map +1 -1
  180. package/lib/sctp/src/param.js +3 -3
  181. package/lib/sctp/src/param.js.map +1 -1
  182. package/lib/sctp/src/sctp.js.map +1 -1
  183. package/lib/sctp/src/transport.js.map +1 -1
  184. package/lib/webrtc/src/const.js.map +1 -1
  185. package/lib/webrtc/src/dataChannel.js.map +1 -1
  186. package/lib/webrtc/src/media/parameters.js.map +1 -1
  187. package/lib/webrtc/src/media/receiver/nack.js.map +1 -1
  188. package/lib/webrtc/src/media/receiver/receiverTwcc.js.map +1 -1
  189. package/lib/webrtc/src/media/receiver/statistics.js.map +1 -1
  190. package/lib/webrtc/src/media/router.js.map +1 -1
  191. package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
  192. package/lib/webrtc/src/media/rtpSender.js.map +1 -1
  193. package/lib/webrtc/src/media/rtpTransceiver.d.ts +1 -1
  194. package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
  195. package/lib/webrtc/src/media/sender/senderBWE.js.map +1 -1
  196. package/lib/webrtc/src/media/track.js.map +1 -1
  197. package/lib/webrtc/src/nonstandard/recorder/index.js.map +1 -1
  198. package/lib/webrtc/src/nonstandard/recorder/writer/index.js.map +1 -1
  199. package/lib/webrtc/src/nonstandard/recorder/writer/webm.js.map +1 -1
  200. package/lib/webrtc/src/nonstandard/userMedia.js.map +1 -1
  201. package/lib/webrtc/src/peerConnection.js.map +1 -1
  202. package/lib/webrtc/src/sdp.js.map +1 -1
  203. package/lib/webrtc/src/transport/dtls.d.ts +1 -1
  204. package/lib/webrtc/src/transport/dtls.js.map +1 -1
  205. package/lib/webrtc/src/transport/ice.d.ts +2 -2
  206. package/lib/webrtc/src/transport/ice.js.map +1 -1
  207. package/lib/webrtc/src/transport/sctp.js.map +1 -1
  208. package/lib/webrtc/src/types/domain.d.ts +2 -2
  209. package/lib/webrtc/src/types/domain.js.map +1 -1
  210. package/lib/webrtc/src/utils.d.ts +1 -0
  211. package/lib/webrtc/src/utils.js +9 -1
  212. package/lib/webrtc/src/utils.js.map +1 -1
  213. package/package.json +5 -3
  214. package/src/const.ts +1 -1
  215. package/src/dataChannel.ts +3 -3
  216. package/src/media/parameters.ts +3 -3
  217. package/src/media/receiver/nack.ts +7 -4
  218. package/src/media/receiver/receiverTwcc.ts +5 -5
  219. package/src/media/receiver/statistics.ts +1 -1
  220. package/src/media/router.ts +5 -5
  221. package/src/media/rtpReceiver.ts +9 -9
  222. package/src/media/rtpSender.ts +8 -8
  223. package/src/media/rtpTransceiver.ts +3 -3
  224. package/src/media/sender/senderBWE.ts +2 -2
  225. package/src/media/track.ts +1 -1
  226. package/src/nonstandard/recorder/index.ts +1 -1
  227. package/src/nonstandard/recorder/writer/index.ts +1 -1
  228. package/src/nonstandard/recorder/writer/webm.ts +2 -2
  229. package/src/nonstandard/userMedia.ts +1 -1
  230. package/src/peerConnection.ts +52 -52
  231. package/src/sdp.ts +27 -21
  232. package/src/transport/dtls.ts +13 -10
  233. package/src/transport/ice.ts +6 -6
  234. package/src/transport/sctp.ts +4 -4
  235. package/src/types/domain.ts +2 -2
  236. package/src/utils.ts +11 -2
  237. package/lib/common/src/array.d.ts +0 -1
  238. package/lib/common/src/array.js +0 -15
  239. package/lib/common/src/array.js.map +0 -1
  240. package/lib/rtp/src/container/ebml/ebml.js.map +0 -1
  241. package/lib/rtp/src/container/ebml/id.js.map +0 -1
  242. package/lib/rtp/src/container/ebml/index.js.map +0 -1
  243. package/lib/rtp/src/container/ebml/typedArrayUtils.js.map +0 -1
  244. package/lib/rtp/src/container/webm.js.map +0 -1
  245. /package/lib/rtp/src/container/{ebml → webm/ebml}/ebml.d.ts +0 -0
  246. /package/lib/rtp/src/container/{ebml → webm/ebml}/ebml.js +0 -0
  247. /package/lib/rtp/src/container/{ebml → webm/ebml}/id.d.ts +0 -0
  248. /package/lib/rtp/src/container/{ebml → webm/ebml}/id.js +0 -0
  249. /package/lib/rtp/src/container/{ebml → webm/ebml}/index.d.ts +0 -0
  250. /package/lib/rtp/src/container/{ebml → webm/ebml}/index.js +0 -0
  251. /package/lib/rtp/src/container/{ebml → webm/ebml}/typedArrayUtils.d.ts +0 -0
  252. /package/lib/rtp/src/container/{ebml → webm/ebml}/typedArrayUtils.js +0 -0
@@ -107,10 +107,10 @@ export const IceTransportStates = [
107
107
  "failed",
108
108
  "closed",
109
109
  ] as const;
110
- export type RTCIceConnectionState = typeof IceTransportStates[number];
110
+ export type RTCIceConnectionState = (typeof IceTransportStates)[number];
111
111
 
112
112
  export const IceGathererStates = ["new", "gathering", "complete"] as const;
113
- export type IceGathererState = typeof IceGathererStates[number];
113
+ export type IceGathererState = (typeof IceGathererStates)[number];
114
114
 
115
115
  export class RTCIceGatherer {
116
116
  onIceCandidate: (candidate: IceCandidate) => void = () => {};
@@ -127,7 +127,7 @@ export class RTCIceGatherer {
127
127
  if (this.gatheringState === "new") {
128
128
  this.setState("gathering");
129
129
  await this.connection.gatherCandidates((candidate) =>
130
- this.onIceCandidate(candidateFromIce(candidate))
130
+ this.onIceCandidate(candidateFromIce(candidate)),
131
131
  );
132
132
  this.setState("complete");
133
133
  }
@@ -162,7 +162,7 @@ export function candidateFromIce(c: Candidate) {
162
162
  c.port,
163
163
  c.priority,
164
164
  c.transport,
165
- c.type
165
+ c.type,
166
166
  );
167
167
  candidate.relatedAddress = c.relatedAddress;
168
168
  candidate.relatedPort = c.relatedPort;
@@ -181,7 +181,7 @@ export function candidateToIce(x: IceCandidate) {
181
181
  x.type,
182
182
  x.relatedAddress,
183
183
  x.relatedPort,
184
- x.tcpType
184
+ x.tcpType,
185
185
  );
186
186
  }
187
187
 
@@ -226,7 +226,7 @@ export class IceCandidate {
226
226
  public port: number,
227
227
  public priority: number,
228
228
  public protocol: string,
229
- public type: string
229
+ public type: string,
230
230
  ) {}
231
231
 
232
232
  toJSON(): RTCIceCandidate {
@@ -103,7 +103,7 @@ export class RTCSctpTransport {
103
103
  private datachannelReceive = async (
104
104
  streamId: number,
105
105
  ppId: number,
106
- data: Buffer
106
+ data: Buffer,
107
107
  ) => {
108
108
  if (ppId === WEBRTC_DCEP && data.length > 0) {
109
109
  log("DCEP", streamId, ppId, data);
@@ -228,7 +228,7 @@ export class RTCSctpTransport {
228
228
  if (channel.id) {
229
229
  if (this.dataChannels[channel.id])
230
230
  throw new Error(
231
- `Data channel with ID ${channel.id} already registered`
231
+ `Data channel with ID ${channel.id} already registered`,
232
232
  );
233
233
  this.dataChannels[channel.id] = channel;
234
234
  }
@@ -316,7 +316,7 @@ export class RTCSctpTransport {
316
316
  this.dataChannelQueue.push(
317
317
  typeof data === "string"
318
318
  ? [channel, WEBRTC_STRING, Buffer.from(data)]
319
- : [channel, WEBRTC_BINARY, data]
319
+ : [channel, WEBRTC_BINARY, data],
320
320
  );
321
321
 
322
322
  if (this.sctp.associationState !== SCTP_STATE.ESTABLISHED) {
@@ -361,7 +361,7 @@ export class RTCSctpTransport {
361
361
  }
362
362
  } else {
363
363
  this.dataChannelQueue = this.dataChannelQueue.filter(
364
- (queueItem) => queueItem[0].id !== channel.id
364
+ (queueItem) => queueItem[0].id !== channel.id,
365
365
  );
366
366
  if (channel.id) {
367
367
  delete this.dataChannels[channel.id];
@@ -9,7 +9,7 @@ export const SignalingStates = [
9
9
  "closed",
10
10
  ] as const;
11
11
 
12
- export type RTCSignalingState = typeof SignalingStates[number];
12
+ export type RTCSignalingState = (typeof SignalingStates)[number];
13
13
 
14
14
  export const ConnectionStates = [
15
15
  "closed",
@@ -20,4 +20,4 @@ export const ConnectionStates = [
20
20
  "connected",
21
21
  ] as const;
22
22
 
23
- export type ConnectionState = typeof ConnectionStates[number];
23
+ export type ConnectionState = (typeof ConnectionStates)[number];
package/src/utils.ts CHANGED
@@ -2,6 +2,7 @@
2
2
  import { createHash } from "crypto";
3
3
  import debug from "debug";
4
4
  import { createSocket, RemoteInfo } from "dgram";
5
+ import mergeWith from "lodash/mergeWith";
5
6
  import { performance } from "perf_hooks";
6
7
 
7
8
  import { bufferReader, bufferWriter, randomPort } from "../../common/src";
@@ -79,10 +80,10 @@ export function parseIceServers(iceServers: RTCIceServer[]) {
79
80
  };
80
81
 
81
82
  const stunServer = url2Address(
82
- iceServers.find(({ urls }) => urls.includes("stun:"))?.urls.slice(5)
83
+ iceServers.find(({ urls }) => urls.includes("stun:"))?.urls.slice(5),
83
84
  );
84
85
  const turnServer = url2Address(
85
- iceServers.find(({ urls }) => urls.includes("turn:"))?.urls.slice(5)
86
+ iceServers.find(({ urls }) => urls.includes("turn:"))?.urls.slice(5),
86
87
  );
87
88
  const { credential, username } =
88
89
  iceServers.find(({ urls }) => urls.includes("turn:")) || {};
@@ -131,3 +132,11 @@ export class MediaStreamTrackFactory {
131
132
  return [track, port, dispose] as const;
132
133
  }
133
134
  }
135
+
136
+ export const deepMerge = <T>(dst: T, src: T) =>
137
+ mergeWith(dst, src, (obj, src) => {
138
+ if (!(src == undefined)) {
139
+ return src;
140
+ }
141
+ return obj;
142
+ });
@@ -1 +0,0 @@
1
- export declare const deepMerge: <T>(dst: T, src: T) => T;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.deepMerge = void 0;
7
- const mergeWith_1 = __importDefault(require("lodash/mergeWith"));
8
- const deepMerge = (dst, src) => (0, mergeWith_1.default)(dst, src, (obj, src) => {
9
- if (!(src == undefined)) {
10
- return src;
11
- }
12
- return obj;
13
- });
14
- exports.deepMerge = deepMerge;
15
- //# sourceMappingURL=array.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../common/src/array.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAyC;AAElC,MAAM,SAAS,GAAG,CAAI,GAAM,EAAE,GAAM,EAAE,EAAE,CAC7C,IAAA,mBAAS,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC/B,IAAI,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,CAAC;AANQ,QAAA,SAAS,aAMjB","sourcesContent":["import mergeWith from \"lodash/mergeWith\";\n\nexport const deepMerge = <T>(dst: T, src: T) =>\n mergeWith(dst, src, (obj, src) => {\n if (!(src == undefined)) {\n return src;\n }\n return obj;\n });\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ebml.js","sourceRoot":"","sources":["../../../../../../rtp/src/container/ebml/ebml.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n float32bit,\n numberToByteArray,\n stringToByteArray,\n} from \"./typedArrayUtils\";\n\nexport interface EBMLData {\n write(buf: Uint8Array, pos: number): number;\n countSize(): number;\n}\n\nexport class Value implements EBMLData {\n constructor(public bytes: Uint8Array) {}\n\n public write(buf: Uint8Array, pos: number): number {\n buf.set(this.bytes, pos);\n return pos + this.bytes.length;\n }\n\n public countSize(): number {\n return this.bytes.length;\n }\n}\n\nexport class Element implements EBMLData {\n private readonly size: number;\n private readonly sizeMetaData: Uint8Array;\n\n constructor(\n private id: Uint8Array,\n private children: EBMLData[],\n isSizeUnknown: boolean\n ) {\n const bodySize = this.children.reduce((p, c) => p + c.countSize(), 0);\n this.sizeMetaData = isSizeUnknown\n ? UNKNOWN_SIZE\n : vintEncode(numberToByteArray(bodySize, getEBMLByteLength(bodySize)));\n this.size = this.id.length + this.sizeMetaData.length + bodySize;\n }\n\n public write(buf: Uint8Array, pos: number): number {\n buf.set(this.id, pos);\n buf.set(this.sizeMetaData, pos + this.id.length);\n return this.children.reduce(\n (p, c) => c.write(buf, p),\n pos + this.id.length + this.sizeMetaData.length\n );\n }\n\n public countSize(): number {\n return this.size;\n }\n}\n\nexport const bytes = (data: Uint8Array): Value => {\n return new Value(data);\n};\n\nexport const number = (num: number): Value => {\n return bytes(numberToByteArray(num));\n};\n\nexport const float = (num: number): Value => bytes(float32bit(num));\n\nexport const vintEncodedNumber = (num: number): Value => {\n return bytes(vintEncode(numberToByteArray(num, getEBMLByteLength(num))));\n};\n\nexport const string = (str: string): Value => {\n return bytes(stringToByteArray(str));\n};\n\nexport const element = (\n id: Uint8Array,\n child: EBMLData | EBMLData[]\n): EBMLData => {\n return new Element(id, Array.isArray(child) ? child : [child], false);\n};\n\nexport const unknownSizeElement = (\n id: Uint8Array,\n child: EBMLData | EBMLData[]\n): EBMLData => {\n return new Element(id, Array.isArray(child) ? child : [child], true);\n};\n\nexport const build = (v: EBMLData): Uint8Array => {\n const b = new Uint8Array(v.countSize());\n v.write(b, 0);\n return b;\n};\n\nexport const getEBMLByteLength = (num: number | bigint): number => {\n if (num < 0x7f) {\n return 1;\n } else if (num < 0x3fff) {\n return 2;\n } else if (num < 0x1fffff) {\n return 3;\n } else if (num < 0xfffffff) {\n return 4;\n } else if (num < 0x7ffffffff) {\n return 5;\n } else if (num < 0x3ffffffffff) {\n return 6;\n } else if (num < 0x1ffffffffffff) {\n return 7;\n } else if (num < 0x20000000000000n) {\n return 8;\n } else if (num < 0xffffffffffffffn) {\n throw new Error(\n \"EBMLgetEBMLByteLength: number exceeds Number.MAX_SAFE_INTEGER\"\n );\n } else {\n throw new Error(\n \"EBMLgetEBMLByteLength: data size must be less than or equal to \" +\n (Math.pow(2, 56) - 2)\n );\n }\n};\n\nexport const UNKNOWN_SIZE = new Uint8Array([\n 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,\n]);\n\nexport const vintEncode = (byteArray: Uint8Array): Uint8Array => {\n byteArray[0] = getSizeMask(byteArray.length) | byteArray[0];\n return byteArray;\n};\n\nexport const getSizeMask = (byteLength: number): number => {\n return 0x80 >> (byteLength - 1);\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../../../rtp/src/container/ebml/id.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @see https://www.matroska.org/technical/specs/index.html\n */\nexport const ID = {\n EBML: Uint8Array.of(0x1a, 0x45, 0xdf, 0xa3),\n EBMLVersion: Uint8Array.of(0x42, 0x86),\n EBMLReadVersion: Uint8Array.of(0x42, 0xf7),\n EBMLMaxIDLength: Uint8Array.of(0x42, 0xf2),\n EBMLMaxSizeLength: Uint8Array.of(0x42, 0xf3),\n DocType: Uint8Array.of(0x42, 0x82),\n DocTypeVersion: Uint8Array.of(0x42, 0x87),\n DocTypeReadVersion: Uint8Array.of(0x42, 0x85),\n Void: Uint8Array.of(0xec),\n CRC32: Uint8Array.of(0xbf),\n Segment: Uint8Array.of(0x18, 0x53, 0x80, 0x67),\n SeekHead: Uint8Array.of(0x11, 0x4d, 0x9b, 0x74),\n Seek: Uint8Array.of(0x4d, 0xbb),\n SeekID: Uint8Array.of(0x53, 0xab),\n SeekPosition: Uint8Array.of(0x53, 0xac),\n Info: Uint8Array.of(0x15, 0x49, 0xa9, 0x66),\n SegmentUID: Uint8Array.of(0x73, 0xa4),\n SegmentFilename: Uint8Array.of(0x73, 0x84),\n PrevUID: Uint8Array.of(0x3c, 0xb9, 0x23),\n PrevFilename: Uint8Array.of(0x3c, 0x83, 0xab),\n NextUID: Uint8Array.of(0x3e, 0xb9, 0x23),\n NextFilename: Uint8Array.of(0x3e, 0x83, 0xbb),\n SegmentFamily: Uint8Array.of(0x44, 0x44),\n ChapterTranslate: Uint8Array.of(0x69, 0x24),\n ChapterTranslateEditionUID: Uint8Array.of(0x69, 0xfc),\n ChapterTranslateCodec: Uint8Array.of(0x69, 0xbf),\n ChapterTranslateID: Uint8Array.of(0x69, 0xa5),\n TimecodeScale: Uint8Array.of(0x2a, 0xd7, 0xb1),\n Duration: Uint8Array.of(0x44, 0x89),\n DateUTC: Uint8Array.of(0x44, 0x61),\n Title: Uint8Array.of(0x7b, 0xa9),\n MuxingApp: Uint8Array.of(0x4d, 0x80),\n WritingApp: Uint8Array.of(0x57, 0x41),\n Cluster: Uint8Array.of(0x1f, 0x43, 0xb6, 0x75),\n Timecode: Uint8Array.of(0xe7),\n SilentTracks: Uint8Array.of(0x58, 0x54),\n SilentTrackNumber: Uint8Array.of(0x58, 0xd7),\n Position: Uint8Array.of(0xa7),\n PrevSize: Uint8Array.of(0xab),\n SimpleBlock: Uint8Array.of(0xa3),\n BlockGroup: Uint8Array.of(0xa0),\n Block: Uint8Array.of(0xa1),\n BlockAdditions: Uint8Array.of(0x75, 0xa1),\n BlockMore: Uint8Array.of(0xa6),\n BlockAddID: Uint8Array.of(0xee),\n BlockAdditional: Uint8Array.of(0xa5),\n BlockDuration: Uint8Array.of(0x9b),\n ReferencePriority: Uint8Array.of(0xfa),\n ReferenceBlock: Uint8Array.of(0xfb),\n CodecState: Uint8Array.of(0xa4),\n DiscardPadding: Uint8Array.of(0x75, 0xa2),\n Slices: Uint8Array.of(0x8e),\n TimeSlice: Uint8Array.of(0xe8),\n LaceNumber: Uint8Array.of(0xcc),\n Tracks: Uint8Array.of(0x16, 0x54, 0xae, 0x6b),\n TrackEntry: Uint8Array.of(0xae),\n TrackNumber: Uint8Array.of(0xd7),\n TrackUID: Uint8Array.of(0x73, 0xc5),\n TrackType: Uint8Array.of(0x83),\n FlagEnabled: Uint8Array.of(0xb9),\n FlagDefault: Uint8Array.of(0x88),\n FlagForced: Uint8Array.of(0x55, 0xaa),\n FlagLacing: Uint8Array.of(0x9c),\n MinCache: Uint8Array.of(0x6d, 0xe7),\n MaxCache: Uint8Array.of(0x6d, 0xf8),\n DefaultDuration: Uint8Array.of(0x23, 0xe3, 0x83),\n DefaultDecodedFieldDuration: Uint8Array.of(0x23, 0x4e, 0x7a),\n MaxBlockAdditionID: Uint8Array.of(0x55, 0xee),\n Name: Uint8Array.of(0x53, 0x6e),\n Language: Uint8Array.of(0x22, 0xb5, 0x9c),\n CodecID: Uint8Array.of(0x86),\n CodecPrivate: Uint8Array.of(0x63, 0xa2),\n CodecName: Uint8Array.of(0x25, 0x86, 0x88),\n AttachmentLink: Uint8Array.of(0x74, 0x46),\n CodecDecodeAll: Uint8Array.of(0xaa),\n TrackOverlay: Uint8Array.of(0x6f, 0xab),\n CodecDelay: Uint8Array.of(0x56, 0xaa),\n SeekPreRoll: Uint8Array.of(0x56, 0xbb),\n TrackTranslate: Uint8Array.of(0x66, 0x24),\n TrackTranslateEditionUID: Uint8Array.of(0x66, 0xfc),\n TrackTranslateCodec: Uint8Array.of(0x66, 0xbf),\n TrackTranslateTrackID: Uint8Array.of(0x66, 0xa5),\n Video: Uint8Array.of(0xe0),\n FlagInterlaced: Uint8Array.of(0x9a),\n FieldOrder: Uint8Array.of(0x9d),\n StereoMode: Uint8Array.of(0x53, 0xb8),\n AlphaMode: Uint8Array.of(0x53, 0xc0),\n PixelWidth: Uint8Array.of(0xb0),\n PixelHeight: Uint8Array.of(0xba),\n PixelCropBottom: Uint8Array.of(0x54, 0xaa),\n PixelCropTop: Uint8Array.of(0x54, 0xbb),\n PixelCropLeft: Uint8Array.of(0x54, 0xcc),\n PixelCropRight: Uint8Array.of(0x54, 0xdd),\n DisplayWidth: Uint8Array.of(0x54, 0xb0),\n DisplayHeight: Uint8Array.of(0x54, 0xba),\n DisplayUnit: Uint8Array.of(0x54, 0xb2),\n AspectRatioType: Uint8Array.of(0x54, 0xb3),\n ColourSpace: Uint8Array.of(0x2e, 0xb5, 0x24),\n Colour: Uint8Array.of(0x55, 0xb0),\n MatrixCoefficients: Uint8Array.of(0x55, 0xb1),\n BitsPerChannel: Uint8Array.of(0x55, 0xb2),\n ChromaSubsamplingHorz: Uint8Array.of(0x55, 0xb3),\n ChromaSubsamplingVert: Uint8Array.of(0x55, 0xb4),\n CbSubsamplingHorz: Uint8Array.of(0x55, 0xb5),\n CbSubsamplingVert: Uint8Array.of(0x55, 0xb6),\n ChromaSitingHorz: Uint8Array.of(0x55, 0xb7),\n ChromaSitingVert: Uint8Array.of(0x55, 0xb8),\n Range: Uint8Array.of(0x55, 0xb9),\n TransferCharacteristics: Uint8Array.of(0x55, 0xba),\n Primaries: Uint8Array.of(0x55, 0xbb),\n MaxCLL: Uint8Array.of(0x55, 0xbc),\n MaxFALL: Uint8Array.of(0x55, 0xbd),\n MasteringMetadata: Uint8Array.of(0x55, 0xd0),\n PrimaryRChromaticityX: Uint8Array.of(0x55, 0xd1),\n PrimaryRChromaticityY: Uint8Array.of(0x55, 0xd2),\n PrimaryGChromaticityX: Uint8Array.of(0x55, 0xd3),\n PrimaryGChromaticityY: Uint8Array.of(0x55, 0xd4),\n PrimaryBChromaticityX: Uint8Array.of(0x55, 0xd5),\n PrimaryBChromaticityY: Uint8Array.of(0x55, 0xd6),\n WhitePointChromaticityX: Uint8Array.of(0x55, 0xd7),\n WhitePointChromaticityY: Uint8Array.of(0x55, 0xd8),\n LuminanceMax: Uint8Array.of(0x55, 0xd9),\n LuminanceMin: Uint8Array.of(0x55, 0xda),\n Audio: Uint8Array.of(0xe1),\n SamplingFrequency: Uint8Array.of(0xb5),\n OutputSamplingFrequency: Uint8Array.of(0x78, 0xb5),\n Channels: Uint8Array.of(0x9f),\n BitDepth: Uint8Array.of(0x62, 0x64),\n TrackOperation: Uint8Array.of(0xe2),\n TrackCombinePlanes: Uint8Array.of(0xe3),\n TrackPlane: Uint8Array.of(0xe4),\n TrackPlaneUID: Uint8Array.of(0xe5),\n TrackPlaneType: Uint8Array.of(0xe6),\n TrackJoinBlocks: Uint8Array.of(0xe9),\n TrackJoinUID: Uint8Array.of(0xed),\n ContentEncodings: Uint8Array.of(0x6d, 0x80),\n ContentEncoding: Uint8Array.of(0x62, 0x40),\n ContentEncodingOrder: Uint8Array.of(0x50, 0x31),\n ContentEncodingScope: Uint8Array.of(0x50, 0x32),\n ContentEncodingType: Uint8Array.of(0x50, 0x33),\n ContentCompression: Uint8Array.of(0x50, 0x34),\n ContentCompAlgo: Uint8Array.of(0x42, 0x54),\n ContentCompSettings: Uint8Array.of(0x42, 0x55),\n ContentEncryption: Uint8Array.of(0x50, 0x35),\n ContentEncAlgo: Uint8Array.of(0x47, 0xe1),\n ContentEncKeyID: Uint8Array.of(0x47, 0xe2),\n ContentSignature: Uint8Array.of(0x47, 0xe3),\n ContentSigKeyID: Uint8Array.of(0x47, 0xe4),\n ContentSigAlgo: Uint8Array.of(0x47, 0xe5),\n ContentSigHashAlgo: Uint8Array.of(0x47, 0xe6),\n Cues: Uint8Array.of(0x1c, 0x53, 0xbb, 0x6b),\n CuePoint: Uint8Array.of(0xbb),\n CueTime: Uint8Array.of(0xb3),\n CueTrackPositions: Uint8Array.of(0xb7),\n CueTrack: Uint8Array.of(0xf7),\n CueClusterPosition: Uint8Array.of(0xf1),\n CueRelativePosition: Uint8Array.of(0xf0),\n CueDuration: Uint8Array.of(0xb2),\n CueBlockNumber: Uint8Array.of(0x53, 0x78),\n CueCodecState: Uint8Array.of(0xea),\n CueReference: Uint8Array.of(0xdb),\n CueRefTime: Uint8Array.of(0x96),\n Attachments: Uint8Array.of(0x19, 0x41, 0xa4, 0x69),\n AttachedFile: Uint8Array.of(0x61, 0xa7),\n FileDescription: Uint8Array.of(0x46, 0x7e),\n FileName: Uint8Array.of(0x46, 0x6e),\n FileMimeType: Uint8Array.of(0x46, 0x60),\n FileData: Uint8Array.of(0x46, 0x5c),\n FileUID: Uint8Array.of(0x46, 0xae),\n Chapters: Uint8Array.of(0x10, 0x43, 0xa7, 0x70),\n EditionEntry: Uint8Array.of(0x45, 0xb9),\n EditionUID: Uint8Array.of(0x45, 0xbc),\n EditionFlagHidden: Uint8Array.of(0x45, 0xbd),\n EditionFlagDefault: Uint8Array.of(0x45, 0xdb),\n EditionFlagOrdered: Uint8Array.of(0x45, 0xdd),\n EncryptionAlgorithm: Uint8Array.of(0x47, 0xe1),\n EncryptionKeyID: Uint8Array.of(0x47, 0xe2),\n ContentEncAESSettings: Uint8Array.of(0x47, 0xe7),\n AESSettingsCipherMode: Uint8Array.of(0x47, 0xe8),\n ChapterAtom: Uint8Array.of(0xb6),\n ChapterUID: Uint8Array.of(0x73, 0xc4),\n ChapterStringUID: Uint8Array.of(0x56, 0x54),\n ChapterTimeStart: Uint8Array.of(0x91),\n ChapterTimeEnd: Uint8Array.of(0x92),\n ChapterFlagHidden: Uint8Array.of(0x98),\n ChapterFlagEnabled: Uint8Array.of(0x45, 0x98),\n ChapterSegmentUID: Uint8Array.of(0x6e, 0x67),\n ChapterSegmentEditionUID: Uint8Array.of(0x6e, 0xbc),\n ChapterPhysicalEquiv: Uint8Array.of(0x63, 0xc3),\n ChapterTrack: Uint8Array.of(0x8f),\n ChapterTrackNumber: Uint8Array.of(0x89),\n ChapterDisplay: Uint8Array.of(0x80),\n ChapString: Uint8Array.of(0x85),\n ChapLanguage: Uint8Array.of(0x43, 0x7c),\n ChapCountry: Uint8Array.of(0x43, 0x7e),\n ChapProcess: Uint8Array.of(0x69, 0x44),\n ChapProcessCodecID: Uint8Array.of(0x69, 0x55),\n ChapProcessPrivate: Uint8Array.of(0x45, 0x0d),\n ChapProcessCommand: Uint8Array.of(0x69, 0x11),\n ChapProcessTime: Uint8Array.of(0x69, 0x22),\n ChapProcessData: Uint8Array.of(0x69, 0x33),\n Tags: Uint8Array.of(0x12, 0x54, 0xc3, 0x67),\n Tag: Uint8Array.of(0x73, 0x73),\n Targets: Uint8Array.of(0x63, 0xc0),\n TargetTypeValue: Uint8Array.of(0x68, 0xca),\n TargetType: Uint8Array.of(0x63, 0xca),\n TagTrackUID: Uint8Array.of(0x63, 0xc5),\n TagEditionUID: Uint8Array.of(0x63, 0xc9),\n TagChapterUID: Uint8Array.of(0x63, 0xc4),\n TagAttachmentUID: Uint8Array.of(0x63, 0xc6),\n SimpleTag: Uint8Array.of(0x67, 0xc8),\n TagName: Uint8Array.of(0x45, 0xa3),\n TagLanguage: Uint8Array.of(0x44, 0x7a),\n TagDefault: Uint8Array.of(0x44, 0x84),\n TagString: Uint8Array.of(0x44, 0x87),\n TagBinary: Uint8Array.of(0x44, 0x85),\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../rtp/src/container/ebml/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,uCAAqB;AACrB,oDAAkC","sourcesContent":["export * from \"./ebml\";\nexport * from \"./id\";\nexport * from \"./typedArrayUtils\";\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"typedArrayUtils.js","sourceRoot":"","sources":["../../../../../../rtp/src/container/ebml/typedArrayUtils.ts"],"names":[],"mappings":"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","sourcesContent":["export const numberToByteArray = (\n num: number,\n byteLength: number = getNumberByteLength(num)\n): Uint8Array => {\n let byteArray;\n if (byteLength === 1) {\n byteArray = new DataView(new ArrayBuffer(1));\n byteArray.setUint8(0, num);\n } else if (byteLength === 2) {\n byteArray = new DataView(new ArrayBuffer(2));\n byteArray.setUint16(0, num);\n } else if (byteLength === 3) {\n byteArray = new DataView(new ArrayBuffer(3));\n byteArray.setUint8(0, num >> 16);\n byteArray.setUint16(1, num & 0xffff);\n } else if (byteLength === 4) {\n byteArray = new DataView(new ArrayBuffer(4));\n byteArray.setUint32(0, num);\n } else if (/* byteLength === 5 && */ num < 0xffffffff) {\n // 4GB (upper limit for int32) should be enough in most cases\n byteArray = new DataView(new ArrayBuffer(5));\n byteArray.setUint32(1, num);\n } else if (byteLength === 5) {\n // Naive emulations of int64 bitwise opreators\n byteArray = new DataView(new ArrayBuffer(5));\n byteArray.setUint8(0, (num / 0x100000000) | 0);\n byteArray.setUint32(1, num % 0x100000000);\n } else if (byteLength === 6) {\n byteArray = new DataView(new ArrayBuffer(6));\n byteArray.setUint16(0, (num / 0x100000000) | 0);\n byteArray.setUint32(2, num % 0x100000000);\n } else if (byteLength === 7) {\n byteArray = new DataView(new ArrayBuffer(7));\n byteArray.setUint8(0, (num / 0x1000000000000) | 0);\n byteArray.setUint16(1, (num / 0x100000000) & 0xffff);\n byteArray.setUint32(3, num % 0x100000000);\n } else if (byteLength === 8) {\n byteArray = new DataView(new ArrayBuffer(8));\n byteArray.setUint32(0, (num / 0x100000000) | 0);\n byteArray.setUint32(4, num % 0x100000000);\n } else {\n throw new Error(\n \"EBML.typedArrayUtils.numberToByteArray: byte length must be less than or equal to 8\"\n );\n }\n return new Uint8Array(byteArray.buffer);\n};\n\nexport const stringToByteArray = (str: string): Uint8Array => {\n return Uint8Array.from(Array.from(str).map((_) => _.codePointAt(0)!));\n};\n\nexport function getNumberByteLength(num: number | bigint): number {\n if (num < 0) {\n throw new Error(\n \"EBML.typedArrayUtils.getNumberByteLength: negative number not implemented\"\n );\n } else if (num < 0x100) {\n return 1;\n } else if (num < 0x10000) {\n return 2;\n } else if (num < 0x1000000) {\n return 3;\n } else if (num < 0x100000000) {\n return 4;\n } else if (num < 0x10000000000) {\n return 5;\n } else if (num < 0x1000000000000) {\n return 6;\n } else if (num < 0x20000000000000n) {\n return 7;\n } else {\n throw new Error(\n \"EBML.typedArrayUtils.getNumberByteLength: number exceeds Number.MAX_SAFE_INTEGER\"\n );\n }\n}\n\nexport const int16Bit = (num: number): Uint8Array => {\n const ab = new ArrayBuffer(2);\n new DataView(ab).setInt16(0, num);\n return new Uint8Array(ab);\n};\n\nexport const float32bit = (num: number): Uint8Array => {\n const ab = new ArrayBuffer(4);\n new DataView(ab).setFloat32(0, num);\n return new Uint8Array(ab);\n};\n\nexport const dumpBytes = (b: ArrayBuffer): string => {\n return Array.from(new Uint8Array(b))\n .map((_) => `0x${_.toString(16)}`)\n .join(\", \");\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"webm.js","sourceRoot":"","sources":["../../../../../rtp/src/container/webm.ts"],"names":[],"mappings":"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","sourcesContent":["import { createCipheriv, randomBytes, randomFillSync } from \"crypto\";\n\nimport { BitWriter2, BufferChain } from \"../../../common/src\";\nimport { OpusRtpPayload } from \"..\";\nimport * as EBML from \"./ebml\";\n\nexport class WEBMBuilder {\n readonly ebmlHeader = EBML.build(\n EBML.element(EBML.ID.EBML, [\n EBML.element(EBML.ID.EBMLVersion, EBML.number(1)),\n EBML.element(EBML.ID.EBMLReadVersion, EBML.number(1)),\n EBML.element(EBML.ID.EBMLMaxIDLength, EBML.number(4)),\n EBML.element(EBML.ID.EBMLMaxSizeLength, EBML.number(8)),\n EBML.element(EBML.ID.DocType, EBML.string(\"webm\")),\n EBML.element(EBML.ID.DocTypeVersion, EBML.number(2)),\n EBML.element(EBML.ID.DocTypeReadVersion, EBML.number(2)),\n ])\n );\n trackEntries: EBML.EBMLData[] = [];\n private trackIvs: { [trackNumber: number]: Uint32Array } = {};\n trackKeyIds: { [trackNumber: number]: Buffer } = {};\n encryptionKey?: Buffer;\n readonly encryptionKeyID = randomBytes(16);\n\n constructor(\n tracks: {\n width?: number;\n height?: number;\n kind: \"audio\" | \"video\";\n codec: SupportedCodec;\n trackNumber: number;\n }[],\n encryptionKey?: Buffer\n ) {\n this.encryptionKey = encryptionKey;\n\n this.trackEntries = tracks.map(\n ({ width, height, kind, codec, trackNumber }) => {\n const track = this.createTrackEntry(kind, trackNumber, codec, {\n width,\n height,\n });\n const ivCounter = new Uint32Array(2);\n randomFillSync(ivCounter);\n this.trackIvs[trackNumber] = ivCounter;\n\n return track;\n }\n );\n }\n\n createTrackEntry(\n kind: string,\n trackNumber: number,\n codec: string,\n {\n width,\n height,\n }: Partial<{\n kind: string;\n width: number;\n height: number;\n }> = {}\n ) {\n const trackElements: EBML.EBMLData[] = [];\n\n if (kind === \"video\") {\n if (!width || !height) {\n throw new Error();\n }\n trackElements.push(\n EBML.element(EBML.ID.Video, [\n EBML.element(EBML.ID.PixelWidth, EBML.number(width)),\n EBML.element(EBML.ID.PixelHeight, EBML.number(height)),\n ])\n );\n } else {\n trackElements.push(\n EBML.element(EBML.ID.Audio, [\n EBML.element(EBML.ID.SamplingFrequency, EBML.float(48000.0)),\n EBML.element(EBML.ID.Channels, EBML.number(2)),\n ])\n );\n // only support OPUS\n trackElements.push(\n EBML.element(\n EBML.ID.CodecPrivate,\n EBML.bytes(OpusRtpPayload.createCodecPrivate())\n )\n );\n }\n\n if (this.encryptionKey) {\n const encryptionKeyID = this.encryptionKeyID;\n this.trackKeyIds[trackNumber] = encryptionKeyID;\n\n trackElements.push(\n EBML.element(\n EBML.ID.ContentEncodings,\n EBML.element(EBML.ID.ContentEncoding, [\n EBML.element(EBML.ID.ContentEncodingOrder, EBML.number(0)),\n EBML.element(EBML.ID.ContentEncodingScope, EBML.number(1)),\n EBML.element(EBML.ID.ContentEncodingType, EBML.number(1)),\n EBML.element(EBML.ID.ContentEncryption, [\n EBML.element(EBML.ID.EncryptionAlgorithm, EBML.number(5)),\n EBML.element(\n EBML.ID.EncryptionKeyID,\n EBML.bytes(encryptionKeyID)\n ),\n EBML.element(\n EBML.ID.ContentEncAESSettings,\n EBML.element(EBML.ID.AESSettingsCipherMode, EBML.number(1))\n ),\n ]),\n ])\n )\n );\n }\n\n const trackEntry = EBML.element(EBML.ID.TrackEntry, [\n EBML.element(EBML.ID.TrackNumber, EBML.number(trackNumber)),\n EBML.element(EBML.ID.TrackUID, EBML.number(trackNumber)),\n EBML.element(EBML.ID.CodecName, EBML.string(codec)),\n EBML.element(EBML.ID.TrackType, EBML.number(kind === \"video\" ? 1 : 2)),\n EBML.element(\n EBML.ID.CodecID,\n EBML.string(`${kind === \"video\" ? \"V\" : \"A\"}_${codec}`)\n ),\n ...trackElements,\n ]);\n return trackEntry;\n }\n\n createSegment(\n /**ms */\n duration?: number\n ) {\n const elements = [\n EBML.element(EBML.ID.TimecodeScale, EBML.number(millisecond)),\n EBML.element(EBML.ID.MuxingApp, EBML.string(\"webrtc\")),\n EBML.element(EBML.ID.WritingApp, EBML.string(\"webrtc\")),\n ];\n if (duration != undefined) {\n elements.push(EBML.element(EBML.ID.Duration, EBML.float(duration)));\n }\n return EBML.build(\n EBML.unknownSizeElement(EBML.ID.Segment, [\n EBML.element(EBML.ID.SeekHead, []),\n EBML.element(EBML.ID.Info, elements),\n EBML.element(EBML.ID.Tracks, this.trackEntries),\n ])\n );\n }\n\n createDuration(\n /**ms */\n duration: number\n ) {\n return EBML.build(EBML.element(EBML.ID.Duration, EBML.float(duration)));\n }\n\n createCuePoint(\n relativeTimestamp: number,\n trackNumber: number,\n clusterPosition: number,\n blockNumber: number\n ) {\n return EBML.element(EBML.ID.CuePoint, [\n EBML.element(EBML.ID.CueTime, EBML.number(relativeTimestamp)),\n EBML.element(EBML.ID.CueTrackPositions, [\n EBML.element(EBML.ID.CueTrack, EBML.number(trackNumber)),\n EBML.element(EBML.ID.CueClusterPosition, EBML.number(clusterPosition)),\n EBML.element(EBML.ID.CueBlockNumber, EBML.number(blockNumber)),\n ]),\n ]);\n }\n\n createCues(cuePoints: EBML.EBMLData[]) {\n return EBML.build(EBML.element(EBML.ID.Cues, cuePoints));\n }\n\n createCluster(timecode: number) {\n return EBML.build(\n EBML.unknownSizeElement(EBML.ID.Cluster, [\n EBML.element(EBML.ID.Timecode, EBML.number(timecode)),\n ])\n );\n }\n\n createSimpleBlock(\n frame: Buffer,\n isKeyframe: boolean,\n trackNumber: number,\n relativeTimestamp: number\n ) {\n const elementId = Buffer.from([0xa3]);\n\n if (this.encryptionKey) {\n // 4.7 Signal Byte Format\n // 0 1 2 3 4 5 6 7\n // +-+-+-+-+-+-+-+-+\n // |X| RSV |P|E|\n // +-+-+-+-+-+-+-+-+\n const singleByte = new BitWriter2(8).set(0).set(0, 5).set(0).set(1);\n\n const iv = Buffer.alloc(16);\n const ivCounter = this.trackIvs[trackNumber];\n iv.writeUInt32BE(ivCounter[0], 0);\n iv.writeUInt32BE(ivCounter[1], 4);\n ivCounter[1]++;\n if (ivCounter[1] === 0) {\n ivCounter[0]++;\n }\n\n const cipher = createCipheriv(\"AES-128-CTR\", this.encryptionKey, iv);\n\n frame = Buffer.concat([\n singleByte.buffer,\n iv.subarray(0, 8),\n cipher.update(frame),\n cipher.final(),\n ]);\n }\n\n const contentSize: Uint8Array = EBML.vintEncodedNumber(\n 1 + 2 + 1 + frame.length\n ).bytes;\n\n const keyframe = isKeyframe ? 1 : 0;\n const flags = new BitWriter2(8)\n .set(keyframe)\n .set(0, 3)\n .set(0)\n .set(0, 2)\n .set(0);\n\n const simpleBlock = Buffer.concat([\n elementId,\n contentSize,\n EBML.vintEncodedNumber(trackNumber).bytes,\n new BufferChain(2).writeInt16BE(relativeTimestamp).buffer,\n new BufferChain(1).writeUInt8(flags.value).buffer,\n frame,\n ]);\n return simpleBlock;\n }\n}\n\nexport const supportedCodecs = [\n \"MPEG4/ISO/AVC\",\n \"VP8\",\n \"VP9\",\n \"AV1\",\n \"OPUS\",\n] as const;\nexport type SupportedCodec = typeof supportedCodecs[number];\nconst millisecond = 1000000;\n"]}
File without changes