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.
- package/lib/common/src/binary.js.map +1 -1
- package/lib/common/src/index.d.ts +0 -1
- package/lib/common/src/index.js +0 -1
- package/lib/common/src/index.js.map +1 -1
- package/lib/dtls/src/client.js.map +1 -1
- package/lib/dtls/src/context/cipher.js +1 -1
- package/lib/dtls/src/context/cipher.js.map +1 -1
- package/lib/dtls/src/context/dtls.js.map +1 -1
- package/lib/dtls/src/context/transport.js.map +1 -1
- package/lib/dtls/src/flight/client/flight1.js.map +1 -1
- package/lib/dtls/src/flight/client/flight5.js.map +1 -1
- package/lib/dtls/src/flight/flight.js +1 -1
- package/lib/dtls/src/flight/flight.js.map +1 -1
- package/lib/dtls/src/flight/server/flight4.js.map +1 -1
- package/lib/dtls/src/flight/server/flight6.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/ellipticCurves.js +1 -1
- package/lib/dtls/src/handshake/extensions/ellipticCurves.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/extendedMasterSecret.js +1 -1
- package/lib/dtls/src/handshake/extensions/extendedMasterSecret.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/renegotiationIndication.js +1 -1
- package/lib/dtls/src/handshake/extensions/renegotiationIndication.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/signature.js +1 -1
- package/lib/dtls/src/handshake/extensions/signature.js.map +1 -1
- package/lib/dtls/src/handshake/extensions/useSrtp.js +1 -1
- package/lib/dtls/src/handshake/extensions/useSrtp.js.map +1 -1
- package/lib/dtls/src/handshake/message/alert.js +1 -1
- package/lib/dtls/src/handshake/message/alert.js.map +1 -1
- package/lib/dtls/src/handshake/message/certificate.js +1 -1
- package/lib/dtls/src/handshake/message/certificate.js.map +1 -1
- package/lib/dtls/src/handshake/message/changeCipherSpec.js +1 -1
- package/lib/dtls/src/handshake/message/changeCipherSpec.js.map +1 -1
- package/lib/dtls/src/handshake/message/client/certificateVerify.js +1 -1
- package/lib/dtls/src/handshake/message/client/certificateVerify.js.map +1 -1
- package/lib/dtls/src/handshake/message/client/hello.js +1 -1
- package/lib/dtls/src/handshake/message/client/hello.js.map +1 -1
- package/lib/dtls/src/handshake/message/client/keyExchange.js +1 -1
- package/lib/dtls/src/handshake/message/client/keyExchange.js.map +1 -1
- package/lib/dtls/src/handshake/message/finished.js.map +1 -1
- package/lib/dtls/src/handshake/message/server/certificateRequest.js +1 -1
- package/lib/dtls/src/handshake/message/server/certificateRequest.js.map +1 -1
- package/lib/dtls/src/handshake/message/server/hello.js +1 -1
- package/lib/dtls/src/handshake/message/server/hello.js.map +1 -1
- package/lib/dtls/src/handshake/message/server/helloDone.js +1 -1
- package/lib/dtls/src/handshake/message/server/helloDone.js.map +1 -1
- package/lib/dtls/src/handshake/message/server/helloVerifyRequest.js +1 -1
- package/lib/dtls/src/handshake/message/server/helloVerifyRequest.js.map +1 -1
- package/lib/dtls/src/handshake/message/server/keyExchange.js +1 -1
- package/lib/dtls/src/handshake/message/server/keyExchange.js.map +1 -1
- package/lib/dtls/src/handshake/random.js +1 -1
- package/lib/dtls/src/handshake/random.js.map +1 -1
- package/lib/dtls/src/record/message/fragment.js +1 -1
- package/lib/dtls/src/record/message/fragment.js.map +1 -1
- package/lib/dtls/src/record/message/header.js +2 -2
- package/lib/dtls/src/record/message/header.js.map +1 -1
- package/lib/dtls/src/record/message/plaintext.js +1 -1
- package/lib/dtls/src/record/message/plaintext.js.map +1 -1
- package/lib/dtls/src/server.js.map +1 -1
- package/lib/dtls/src/socket.js.map +1 -1
- package/lib/dtls/src/transport.js.map +1 -1
- package/lib/ice/src/candidate.js.map +1 -1
- package/lib/ice/src/exceptions.js.map +1 -1
- package/lib/ice/src/helper.js.map +1 -1
- package/lib/ice/src/ice.js.map +1 -1
- package/lib/ice/src/stun/attributes.js.map +1 -1
- package/lib/ice/src/stun/message.js.map +1 -1
- package/lib/ice/src/stun/protocol.js.map +1 -1
- package/lib/ice/src/stun/transaction.js.map +1 -1
- package/lib/ice/src/transport.js.map +1 -1
- package/lib/ice/src/turn/protocol.js.map +1 -1
- package/lib/rtp/src/codec/av1.js +1 -1
- package/lib/rtp/src/codec/av1.js.map +1 -1
- package/lib/rtp/src/container/index.d.ts +2 -1
- package/lib/rtp/src/container/index.js +2 -1
- package/lib/rtp/src/container/index.js.map +1 -1
- package/lib/rtp/src/container/mp4/container.d.ts +66 -0
- package/lib/rtp/src/container/mp4/container.js +262 -0
- package/lib/rtp/src/container/mp4/container.js.map +1 -0
- package/lib/rtp/src/container/mp4/exp-golomb.d.ts +20 -0
- package/lib/rtp/src/container/mp4/exp-golomb.js +144 -0
- package/lib/rtp/src/container/mp4/exp-golomb.js.map +1 -0
- package/lib/rtp/src/container/mp4/h264.d.ts +42 -0
- package/lib/rtp/src/container/mp4/h264.js +240 -0
- package/lib/rtp/src/container/mp4/h264.js.map +1 -0
- package/lib/rtp/src/container/mp4/index.d.ts +2 -0
- package/lib/rtp/src/container/mp4/index.js +19 -0
- package/lib/rtp/src/container/mp4/index.js.map +1 -0
- package/lib/rtp/src/container/mp4/mp4box.d.ts +5 -0
- package/lib/rtp/src/container/mp4/mp4box.js +32 -0
- package/lib/rtp/src/container/mp4/mp4box.js.map +1 -0
- package/lib/rtp/src/container/mp4/sps-parser.d.ts +40 -0
- package/lib/rtp/src/container/mp4/sps-parser.js +291 -0
- package/lib/rtp/src/container/mp4/sps-parser.js.map +1 -0
- package/lib/rtp/src/container/ogg/index.d.ts +1 -0
- package/lib/rtp/src/container/ogg/index.js +18 -0
- package/lib/rtp/src/container/ogg/index.js.map +1 -0
- package/lib/rtp/src/container/ogg/parser.d.ts +12 -0
- package/lib/rtp/src/container/ogg/parser.js +100 -0
- package/lib/rtp/src/container/ogg/parser.js.map +1 -0
- package/lib/rtp/src/container/{webm.d.ts → webm/container.d.ts} +1 -1
- package/lib/rtp/src/container/{webm.js → webm/container.js} +6 -6
- package/lib/rtp/src/container/webm/container.js.map +1 -0
- package/lib/rtp/src/container/webm/ebml/ebml.js.map +1 -0
- package/lib/rtp/src/container/webm/ebml/id.js.map +1 -0
- package/lib/rtp/src/container/webm/ebml/index.js.map +1 -0
- package/lib/rtp/src/container/webm/ebml/typedArrayUtils.js.map +1 -0
- package/lib/rtp/src/container/webm/index.d.ts +2 -0
- package/lib/rtp/src/container/webm/index.js +19 -0
- package/lib/rtp/src/container/webm/index.js.map +1 -0
- package/lib/rtp/src/processor/depacketizer.js.map +1 -1
- package/lib/rtp/src/processor/dtx.d.ts +1 -1
- package/lib/rtp/src/processor/dtx.js.map +1 -1
- package/lib/rtp/src/processor/index.d.ts +2 -0
- package/lib/rtp/src/processor/index.js +2 -0
- package/lib/rtp/src/processor/index.js.map +1 -1
- package/lib/rtp/src/processor/jitterBuffer.js.map +1 -1
- package/lib/rtp/src/processor/jitterBufferTransformer.js.map +1 -1
- package/lib/rtp/src/processor/lipsync.js.map +1 -1
- package/lib/rtp/src/processor/lipsyncCallback.js.map +1 -1
- package/lib/rtp/src/processor/mp4.d.ts +50 -0
- package/lib/rtp/src/processor/mp4.js +162 -0
- package/lib/rtp/src/processor/mp4.js.map +1 -0
- package/lib/rtp/src/processor/mp4Callback.d.ts +12 -0
- package/lib/rtp/src/processor/mp4Callback.js +83 -0
- package/lib/rtp/src/processor/mp4Callback.js.map +1 -0
- package/lib/rtp/src/processor/mute.d.ts +1 -1
- package/lib/rtp/src/processor/mute.js +6 -3
- package/lib/rtp/src/processor/mute.js.map +1 -1
- package/lib/rtp/src/processor/muteCallback.js.map +1 -1
- package/lib/rtp/src/processor/nack.js +2 -3
- package/lib/rtp/src/processor/nack.js.map +1 -1
- package/lib/rtp/src/processor/ntpTime.d.ts +1 -1
- package/lib/rtp/src/processor/ntpTime.js.map +1 -1
- package/lib/rtp/src/processor/rtcpCallback.js.map +1 -1
- package/lib/rtp/src/processor/rtpCallback.js.map +1 -1
- package/lib/rtp/src/processor/rtpStream.js.map +1 -1
- package/lib/rtp/src/processor/rtpTime.js.map +1 -1
- package/lib/rtp/src/processor/webm.d.ts +1 -1
- package/lib/rtp/src/processor/webm.js +1 -1
- package/lib/rtp/src/processor/webm.js.map +1 -1
- package/lib/rtp/src/processor/webmCallback.d.ts +1 -1
- package/lib/rtp/src/processor/webmCallback.js.map +1 -1
- package/lib/rtp/src/processor/webmStream.d.ts +1 -1
- package/lib/rtp/src/processor/webmStream.js.map +1 -1
- package/lib/rtp/src/rtcp/psfb/fullIntraRequest.js +1 -1
- package/lib/rtp/src/rtcp/psfb/fullIntraRequest.js.map +1 -1
- package/lib/rtp/src/rtcp/psfb/index.js +1 -1
- package/lib/rtp/src/rtcp/psfb/index.js.map +1 -1
- package/lib/rtp/src/rtcp/psfb/pictureLossIndication.js +1 -1
- package/lib/rtp/src/rtcp/psfb/pictureLossIndication.js.map +1 -1
- package/lib/rtp/src/rtcp/psfb/remb.js +1 -1
- package/lib/rtp/src/rtcp/psfb/remb.js.map +1 -1
- package/lib/rtp/src/rtcp/rr.js +3 -7
- package/lib/rtp/src/rtcp/rr.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/index.js +1 -1
- package/lib/rtp/src/rtcp/rtpfb/index.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/nack.js +6 -13
- package/lib/rtp/src/rtcp/rtpfb/nack.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/twcc.js +12 -8
- package/lib/rtp/src/rtcp/rtpfb/twcc.js.map +1 -1
- package/lib/rtp/src/rtcp/sdes.js +1 -1
- package/lib/rtp/src/rtcp/sdes.js.map +1 -1
- package/lib/rtp/src/rtcp/sr.js +2 -6
- package/lib/rtp/src/rtcp/sr.js.map +1 -1
- package/lib/rtp/src/rtp/headerExtension.d.ts +5 -0
- package/lib/rtp/src/rtp/headerExtension.js +35 -9
- package/lib/rtp/src/rtp/headerExtension.js.map +1 -1
- package/lib/rtp/src/rtp/red/encoder.js.map +1 -1
- package/lib/rtp/src/rtp/red/handler.js.map +1 -1
- package/lib/rtp/src/rtp/rtp.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/ctr.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/gcm.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/index.js.map +1 -1
- package/lib/rtp/src/srtp/context/context.js.map +1 -1
- package/lib/rtp/src/srtp/session.js.map +1 -1
- package/lib/rtp/src/srtp/srtcp.js.map +1 -1
- package/lib/rtp/src/srtp/srtp.js.map +1 -1
- package/lib/rtp/src/util.js.map +1 -1
- package/lib/sctp/src/chunk.js +17 -17
- package/lib/sctp/src/chunk.js.map +1 -1
- package/lib/sctp/src/param.js +3 -3
- package/lib/sctp/src/param.js.map +1 -1
- package/lib/sctp/src/sctp.js.map +1 -1
- package/lib/sctp/src/transport.js.map +1 -1
- package/lib/webrtc/src/const.js.map +1 -1
- package/lib/webrtc/src/dataChannel.js.map +1 -1
- package/lib/webrtc/src/media/parameters.js.map +1 -1
- package/lib/webrtc/src/media/receiver/nack.js.map +1 -1
- package/lib/webrtc/src/media/receiver/receiverTwcc.js.map +1 -1
- package/lib/webrtc/src/media/receiver/statistics.js.map +1 -1
- package/lib/webrtc/src/media/router.js.map +1 -1
- package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
- package/lib/webrtc/src/media/rtpSender.js.map +1 -1
- package/lib/webrtc/src/media/rtpTransceiver.d.ts +1 -1
- package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
- package/lib/webrtc/src/media/sender/senderBWE.js.map +1 -1
- package/lib/webrtc/src/media/track.js.map +1 -1
- package/lib/webrtc/src/nonstandard/recorder/index.js.map +1 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/index.js.map +1 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/webm.js.map +1 -1
- package/lib/webrtc/src/nonstandard/userMedia.js.map +1 -1
- package/lib/webrtc/src/peerConnection.js.map +1 -1
- package/lib/webrtc/src/sdp.js.map +1 -1
- package/lib/webrtc/src/transport/dtls.d.ts +1 -1
- package/lib/webrtc/src/transport/dtls.js.map +1 -1
- package/lib/webrtc/src/transport/ice.d.ts +2 -2
- package/lib/webrtc/src/transport/ice.js.map +1 -1
- package/lib/webrtc/src/transport/sctp.js.map +1 -1
- package/lib/webrtc/src/types/domain.d.ts +2 -2
- package/lib/webrtc/src/types/domain.js.map +1 -1
- package/lib/webrtc/src/utils.d.ts +1 -0
- package/lib/webrtc/src/utils.js +9 -1
- package/lib/webrtc/src/utils.js.map +1 -1
- package/package.json +5 -3
- package/src/const.ts +1 -1
- package/src/dataChannel.ts +3 -3
- package/src/media/parameters.ts +3 -3
- package/src/media/receiver/nack.ts +7 -4
- package/src/media/receiver/receiverTwcc.ts +5 -5
- package/src/media/receiver/statistics.ts +1 -1
- package/src/media/router.ts +5 -5
- package/src/media/rtpReceiver.ts +9 -9
- package/src/media/rtpSender.ts +8 -8
- package/src/media/rtpTransceiver.ts +3 -3
- package/src/media/sender/senderBWE.ts +2 -2
- package/src/media/track.ts +1 -1
- package/src/nonstandard/recorder/index.ts +1 -1
- package/src/nonstandard/recorder/writer/index.ts +1 -1
- package/src/nonstandard/recorder/writer/webm.ts +2 -2
- package/src/nonstandard/userMedia.ts +1 -1
- package/src/peerConnection.ts +52 -52
- package/src/sdp.ts +27 -21
- package/src/transport/dtls.ts +13 -10
- package/src/transport/ice.ts +6 -6
- package/src/transport/sctp.ts +4 -4
- package/src/types/domain.ts +2 -2
- package/src/utils.ts +11 -2
- package/lib/common/src/array.d.ts +0 -1
- package/lib/common/src/array.js +0 -15
- package/lib/common/src/array.js.map +0 -1
- package/lib/rtp/src/container/ebml/ebml.js.map +0 -1
- package/lib/rtp/src/container/ebml/id.js.map +0 -1
- package/lib/rtp/src/container/ebml/index.js.map +0 -1
- package/lib/rtp/src/container/ebml/typedArrayUtils.js.map +0 -1
- package/lib/rtp/src/container/webm.js.map +0 -1
- /package/lib/rtp/src/container/{ebml → webm/ebml}/ebml.d.ts +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/ebml.js +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/id.d.ts +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/id.js +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/index.d.ts +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/index.js +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/typedArrayUtils.d.ts +0 -0
- /package/lib/rtp/src/container/{ebml → webm/ebml}/typedArrayUtils.js +0 -0
package/src/transport/ice.ts
CHANGED
|
@@ -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 {
|
package/src/transport/sctp.ts
CHANGED
|
@@ -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];
|
package/src/types/domain.ts
CHANGED
|
@@ -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;
|
package/lib/common/src/array.js
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|