werift 0.18.17 → 0.19.1
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/network.js.map +1 -1
- package/lib/common/src/promise.js.map +1 -1
- package/lib/dtls/src/cipher/const.d.ts +8 -0
- package/lib/dtls/src/cipher/const.js +10 -2
- package/lib/dtls/src/cipher/const.js.map +1 -1
- package/lib/dtls/src/cipher/create.js +10 -10
- package/lib/dtls/src/cipher/create.js.map +1 -1
- package/lib/dtls/src/cipher/ec.d.ts +9 -0
- package/lib/dtls/src/cipher/ec.js +22 -0
- package/lib/dtls/src/cipher/ec.js.map +1 -0
- package/lib/dtls/src/cipher/namedCurve.js +6 -29
- package/lib/dtls/src/cipher/namedCurve.js.map +1 -1
- package/lib/dtls/src/cipher/prf.js +7 -32
- package/lib/dtls/src/cipher/prf.js.map +1 -1
- package/lib/dtls/src/cipher/suites/aead.d.ts +1 -1
- package/lib/dtls/src/cipher/suites/aead.js.map +1 -1
- package/lib/dtls/src/client.js.map +1 -1
- package/lib/dtls/src/context/cipher.js +2 -2
- 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/srtp.js.map +1 -1
- package/lib/dtls/src/flight/client/flight5.js +8 -6
- 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/flight2.js +1 -1
- package/lib/dtls/src/flight/server/flight2.js.map +1 -1
- package/lib/dtls/src/flight/server/flight4.js +1 -7
- 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/const.js +1 -1
- package/lib/dtls/src/handshake/const.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/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 +2 -2
- package/lib/dtls/src/handshake/random.js.map +1 -1
- package/lib/dtls/src/helper.d.ts +1 -1
- package/lib/dtls/src/helper.js.map +1 -1
- package/lib/dtls/src/record/const.js +2 -2
- package/lib/dtls/src/record/const.js.map +1 -1
- package/lib/dtls/src/record/message/fragment.d.ts +1 -1
- package/lib/dtls/src/record/message/fragment.js +3 -3
- 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/record/receive.js.map +1 -1
- package/lib/dtls/src/server.js.map +1 -1
- package/lib/dtls/src/socket.js +1 -4
- package/lib/dtls/src/socket.js.map +1 -1
- package/lib/dtls/src/transport.js.map +1 -1
- package/lib/ice/src/candidate.js +1 -1
- package/lib/ice/src/candidate.js.map +1 -1
- package/lib/ice/src/dns/lookup.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.d.ts +5 -13
- package/lib/ice/src/ice.js +57 -154
- package/lib/ice/src/ice.js.map +1 -1
- package/lib/ice/src/stun/attributes.js.map +1 -1
- package/lib/ice/src/stun/const.d.ts +1 -1
- package/lib/ice/src/stun/const.js +2 -2
- package/lib/ice/src/stun/const.js.map +1 -1
- package/lib/ice/src/stun/message.js +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 +1 -1
- package/lib/ice/src/transport.js.map +1 -1
- package/lib/ice/src/turn/protocol.js.map +1 -1
- package/lib/ice/src/utils.d.ts +1 -0
- package/lib/ice/src/utils.js +72 -1
- package/lib/ice/src/utils.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/codec/h264.js.map +1 -1
- package/lib/rtp/src/codec/index.js.map +1 -1
- package/lib/rtp/src/codec/opus.js.map +1 -1
- package/lib/rtp/src/codec/vp8.js.map +1 -1
- package/lib/rtp/src/codec/vp9.js.map +1 -1
- package/lib/rtp/src/extra/container/index.js.map +1 -0
- package/lib/rtp/src/extra/container/mp4/container.js.map +1 -0
- package/lib/rtp/src/extra/container/mp4/exp-golomb.js.map +1 -0
- package/lib/rtp/src/{container → extra/container}/mp4/h264.js +1 -1
- package/lib/rtp/src/extra/container/mp4/h264.js.map +1 -0
- package/lib/rtp/src/extra/container/mp4/index.js.map +1 -0
- package/lib/rtp/src/extra/container/mp4/mp4box.js.map +1 -0
- package/lib/rtp/src/{container → extra/container}/mp4/sps-parser.js +4 -4
- package/lib/rtp/src/extra/container/mp4/sps-parser.js.map +1 -0
- package/lib/rtp/src/extra/container/ogg/index.js.map +1 -0
- package/lib/rtp/src/extra/container/ogg/parser.js.map +1 -0
- package/lib/rtp/src/{container → extra/container}/webm/container.js +3 -3
- package/lib/rtp/src/extra/container/webm/container.js.map +1 -0
- package/lib/rtp/src/{container → extra/container}/webm/ebml/ebml.js +1 -1
- package/lib/rtp/src/extra/container/webm/ebml/ebml.js.map +1 -0
- package/lib/rtp/src/extra/container/webm/ebml/id.js.map +1 -0
- package/lib/rtp/src/extra/container/webm/ebml/index.js.map +1 -0
- package/lib/rtp/src/extra/container/webm/ebml/typedArrayUtils.js.map +1 -0
- package/lib/rtp/src/extra/container/webm/index.js.map +1 -0
- package/lib/rtp/src/extra/index.d.ts +2 -0
- package/lib/rtp/src/extra/index.js +19 -0
- package/lib/rtp/src/extra/index.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/depacketizer.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/depacketizer.js +1 -1
- package/lib/rtp/src/extra/processor/depacketizer.js.map +1 -0
- package/lib/rtp/src/extra/processor/depacketizerCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/depacketizerTransformer.d.ts +1 -1
- package/lib/rtp/src/extra/processor/depacketizerTransformer.js.map +1 -0
- package/lib/rtp/src/extra/processor/dtx.js.map +1 -0
- package/lib/rtp/src/extra/processor/dtxCallback.js.map +1 -0
- package/lib/rtp/src/extra/processor/index.js.map +1 -0
- package/lib/rtp/src/extra/processor/interface.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/jitterBuffer.js +1 -1
- package/lib/rtp/src/extra/processor/jitterBuffer.js.map +1 -0
- package/lib/rtp/src/extra/processor/jitterBufferCallback.js.map +1 -0
- package/lib/rtp/src/extra/processor/jitterBufferTransformer.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/lipsync.js +1 -1
- package/lib/rtp/src/extra/processor/lipsync.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/lipsyncCallback.d.ts +1 -1
- package/lib/rtp/src/extra/processor/lipsyncCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/mp4.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/mp4.js +4 -3
- package/lib/rtp/src/extra/processor/mp4.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/mp4Callback.js +2 -2
- package/lib/rtp/src/extra/processor/mp4Callback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/mute.js +1 -1
- package/lib/rtp/src/extra/processor/mute.js.map +1 -0
- package/lib/rtp/src/extra/processor/muteCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/nack.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/nack.js +1 -1
- package/lib/rtp/src/extra/processor/nack.js.map +1 -0
- package/lib/rtp/src/extra/processor/nackHandlerCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/ntpTime.d.ts +2 -1
- package/lib/rtp/src/{processor → extra/processor}/ntpTime.js +4 -3
- package/lib/rtp/src/extra/processor/ntpTime.js.map +1 -0
- package/lib/rtp/src/extra/processor/ntpTimeCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/rtcpCallback.d.ts +1 -1
- package/lib/rtp/src/extra/processor/rtcpCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/rtpCallback.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/rtpCallback.js +1 -1
- package/lib/rtp/src/extra/processor/rtpCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/rtpStream.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/rtpStream.js +1 -1
- package/lib/rtp/src/extra/processor/rtpStream.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/rtpTime.d.ts +1 -1
- package/lib/rtp/src/{processor → extra/processor}/rtpTime.js +4 -3
- package/lib/rtp/src/extra/processor/rtpTime.js.map +1 -0
- package/lib/rtp/src/extra/processor/rtpTimeCallback.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/webm.js +4 -4
- package/lib/rtp/src/extra/processor/webm.js.map +1 -0
- package/lib/rtp/src/{processor → extra/processor}/webmCallback.js +1 -1
- package/lib/rtp/src/extra/processor/webmCallback.js.map +1 -0
- package/lib/rtp/src/extra/processor/webmStream.js.map +1 -0
- package/lib/rtp/src/index.d.ts +1 -2
- package/lib/rtp/src/index.js +0 -2
- package/lib/rtp/src/index.js.map +1 -1
- package/lib/rtp/src/rtcp/header.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 +1 -1
- package/lib/rtp/src/rtcp/rr.js.map +1 -1
- package/lib/rtp/src/rtcp/rtcp.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 +2 -2
- package/lib/rtp/src/rtcp/rtpfb/nack.js.map +1 -1
- package/lib/rtp/src/rtcp/rtpfb/twcc.js +3 -3
- 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 +1 -1
- package/lib/rtp/src/rtcp/sr.js.map +1 -1
- 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/red/packet.js +0 -1
- package/lib/rtp/src/rtp/red/packet.js.map +1 -1
- package/lib/rtp/src/rtp/rtp.js +3 -2
- package/lib/rtp/src/rtp/rtp.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/ctr.d.ts +1 -1
- package/lib/rtp/src/srtp/cipher/ctr.js +1 -1
- package/lib/rtp/src/srtp/cipher/ctr.js.map +1 -1
- package/lib/rtp/src/srtp/cipher/gcm.d.ts +1 -1
- package/lib/rtp/src/srtp/cipher/gcm.js +1 -1
- package/lib/rtp/src/srtp/cipher/gcm.js.map +1 -1
- package/lib/rtp/src/srtp/const.js.map +1 -1
- package/lib/rtp/src/srtp/context/context.js +1 -1
- package/lib/rtp/src/srtp/context/context.js.map +1 -1
- package/lib/rtp/src/srtp/context/srtcp.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/const.js +2 -2
- package/lib/sctp/src/const.js.map +1 -1
- package/lib/sctp/src/param.js +5 -5
- package/lib/sctp/src/param.js.map +1 -1
- package/lib/sctp/src/sctp.js +5 -1
- package/lib/sctp/src/sctp.js.map +1 -1
- package/lib/sctp/src/transport.js.map +1 -1
- package/lib/webrtc/src/dataChannel.d.ts +1 -1
- package/lib/webrtc/src/dataChannel.js +1 -1
- package/lib/webrtc/src/dataChannel.js.map +1 -1
- package/lib/webrtc/src/helper.js.map +1 -1
- package/lib/webrtc/src/index.d.ts +0 -2
- package/lib/webrtc/src/index.js +0 -2
- package/lib/webrtc/src/index.js.map +1 -1
- package/lib/webrtc/src/media/parameters.d.ts +1 -2
- 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 +4 -2
- package/lib/webrtc/src/media/router.js.map +1 -1
- package/lib/webrtc/src/media/rtpReceiver.d.ts +1 -1
- package/lib/webrtc/src/media/rtpReceiver.js +1 -1
- package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
- package/lib/webrtc/src/media/rtpSender.js +1 -1
- package/lib/webrtc/src/media/rtpSender.js.map +1 -1
- package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
- package/lib/webrtc/src/media/sender/cumulativeResult.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/index.d.ts +2 -0
- package/lib/webrtc/src/nonstandard/index.js +19 -0
- package/lib/webrtc/src/nonstandard/index.js.map +1 -0
- package/lib/webrtc/src/nonstandard/recorder/index.js.map +1 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/index.d.ts +1 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/index.js.map +1 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/webm.d.ts +2 -1
- package/lib/webrtc/src/nonstandard/recorder/writer/webm.js +11 -10
- 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.d.ts +2 -2
- package/lib/webrtc/src/peerConnection.js +11 -8
- package/lib/webrtc/src/peerConnection.js.map +1 -1
- package/lib/webrtc/src/sdp.js +47 -37
- package/lib/webrtc/src/sdp.js.map +1 -1
- package/lib/webrtc/src/transport/dtls.js.map +1 -1
- package/lib/webrtc/src/transport/ice.js.map +1 -1
- package/lib/webrtc/src/transport/sctp.js +9 -7
- package/lib/webrtc/src/transport/sctp.js.map +1 -1
- package/lib/webrtc/src/utils.js +1 -1
- package/lib/webrtc/src/utils.js.map +1 -1
- package/package.json +20 -19
- package/src/dataChannel.ts +1 -1
- package/src/index.ts +0 -2
- package/src/media/parameters.ts +2 -2
- package/src/media/receiver/nack.ts +4 -7
- package/src/media/router.ts +36 -40
- package/src/media/rtpReceiver.ts +12 -15
- package/src/media/rtpSender.ts +69 -82
- package/src/nonstandard/index.ts +2 -0
- package/src/nonstandard/recorder/writer/index.ts +1 -1
- package/src/nonstandard/recorder/writer/webm.ts +5 -6
- package/src/nonstandard/userMedia.ts +1 -3
- package/src/peerConnection.ts +28 -24
- package/src/sdp.ts +49 -55
- package/src/transport/dtls.ts +3 -6
- package/src/transport/ice.ts +1 -1
- package/src/transport/sctp.ts +60 -66
- package/src/utils.ts +1 -1
- package/lib/rtp/src/container/index.js.map +0 -1
- package/lib/rtp/src/container/mp4/container.js.map +0 -1
- package/lib/rtp/src/container/mp4/exp-golomb.js.map +0 -1
- package/lib/rtp/src/container/mp4/h264.js.map +0 -1
- package/lib/rtp/src/container/mp4/index.js.map +0 -1
- package/lib/rtp/src/container/mp4/mp4box.js.map +0 -1
- package/lib/rtp/src/container/mp4/sps-parser.js.map +0 -1
- package/lib/rtp/src/container/ogg/index.js.map +0 -1
- package/lib/rtp/src/container/ogg/parser.js.map +0 -1
- package/lib/rtp/src/container/webm/container.js.map +0 -1
- package/lib/rtp/src/container/webm/ebml/ebml.js.map +0 -1
- package/lib/rtp/src/container/webm/ebml/id.js.map +0 -1
- package/lib/rtp/src/container/webm/ebml/index.js.map +0 -1
- package/lib/rtp/src/container/webm/ebml/typedArrayUtils.js.map +0 -1
- package/lib/rtp/src/container/webm/index.js.map +0 -1
- package/lib/rtp/src/processor/depacketizer.js.map +0 -1
- package/lib/rtp/src/processor/depacketizerCallback.js.map +0 -1
- package/lib/rtp/src/processor/depacketizerTransformer.js.map +0 -1
- package/lib/rtp/src/processor/dtx.js.map +0 -1
- package/lib/rtp/src/processor/dtxCallback.js.map +0 -1
- package/lib/rtp/src/processor/index.js.map +0 -1
- package/lib/rtp/src/processor/interface.js.map +0 -1
- package/lib/rtp/src/processor/jitterBuffer.js.map +0 -1
- package/lib/rtp/src/processor/jitterBufferCallback.js.map +0 -1
- package/lib/rtp/src/processor/jitterBufferTransformer.js.map +0 -1
- package/lib/rtp/src/processor/lipsync.js.map +0 -1
- package/lib/rtp/src/processor/lipsyncCallback.js.map +0 -1
- package/lib/rtp/src/processor/mp4.js.map +0 -1
- package/lib/rtp/src/processor/mp4Callback.js.map +0 -1
- package/lib/rtp/src/processor/mute.js.map +0 -1
- package/lib/rtp/src/processor/muteCallback.js.map +0 -1
- package/lib/rtp/src/processor/nack.js.map +0 -1
- package/lib/rtp/src/processor/nackHandlerCallback.js.map +0 -1
- package/lib/rtp/src/processor/ntpTime.js.map +0 -1
- package/lib/rtp/src/processor/ntpTimeCallback.js.map +0 -1
- package/lib/rtp/src/processor/rtcpCallback.js.map +0 -1
- package/lib/rtp/src/processor/rtpCallback.js.map +0 -1
- package/lib/rtp/src/processor/rtpStream.js.map +0 -1
- package/lib/rtp/src/processor/rtpTime.js.map +0 -1
- package/lib/rtp/src/processor/rtpTimeCallback.js.map +0 -1
- package/lib/rtp/src/processor/webm.js.map +0 -1
- package/lib/rtp/src/processor/webmCallback.js.map +0 -1
- package/lib/rtp/src/processor/webmStream.js.map +0 -1
- /package/lib/rtp/src/{container → extra/container}/index.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/index.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/container.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/container.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/exp-golomb.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/exp-golomb.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/h264.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/index.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/index.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/mp4box.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/mp4box.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/mp4/sps-parser.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/ogg/index.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/ogg/index.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/ogg/parser.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/ogg/parser.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/container.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/ebml.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/id.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/id.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/index.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/index.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/typedArrayUtils.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/ebml/typedArrayUtils.js +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/index.d.ts +0 -0
- /package/lib/rtp/src/{container → extra/container}/webm/index.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/depacketizerCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/depacketizerCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/depacketizerTransformer.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/dtx.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/dtx.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/dtxCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/dtxCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/index.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/index.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/interface.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/interface.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/jitterBuffer.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/jitterBufferCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/jitterBufferCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/jitterBufferTransformer.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/jitterBufferTransformer.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/lipsync.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/lipsyncCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/mp4Callback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/mute.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/muteCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/muteCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/nackHandlerCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/nackHandlerCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/ntpTimeCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/ntpTimeCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/rtcpCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/rtpTimeCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/rtpTimeCallback.js +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/webm.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/webmCallback.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/webmStream.d.ts +0 -0
- /package/lib/rtp/src/{processor → extra/processor}/webmStream.js +0 -0
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WebmFactory = void 0;
|
|
4
4
|
const promises_1 = require("fs/promises");
|
|
5
5
|
const rx_mini_1 = require("rx.mini");
|
|
6
|
-
const __1 = require("../../..");
|
|
7
6
|
const _1 = require(".");
|
|
7
|
+
const __1 = require("../../..");
|
|
8
|
+
const extra_1 = require("../../../../../rtp/src/extra");
|
|
8
9
|
const sourcePath = "packages/webrtc/src/nonstandard/recorder/writer/webm.ts";
|
|
9
10
|
class WebmFactory extends _1.MediaWriter {
|
|
10
11
|
constructor() {
|
|
@@ -67,13 +68,13 @@ class WebmFactory extends _1.MediaWriter {
|
|
|
67
68
|
};
|
|
68
69
|
}
|
|
69
70
|
});
|
|
70
|
-
const webm = new
|
|
71
|
+
const webm = new extra_1.WebmCallback(inputTracks, {
|
|
71
72
|
duration: this.options.defaultDuration ?? 1000 * 60 * 60 * 24,
|
|
72
73
|
});
|
|
73
|
-
const lipsync = new
|
|
74
|
+
const lipsync = new extra_1.LipsyncCallback();
|
|
74
75
|
this.rtpSources = inputTracks.map(({ track, clockRate, codec }) => {
|
|
75
|
-
const rtpSource = new
|
|
76
|
-
const rtcpSource = new
|
|
76
|
+
const rtpSource = new extra_1.RtpSourceCallback();
|
|
77
|
+
const rtcpSource = new extra_1.RtcpSourceCallback();
|
|
77
78
|
track.onReceiveRtp
|
|
78
79
|
.subscribe((rtp) => {
|
|
79
80
|
rtpSource.input(rtp.clone());
|
|
@@ -84,12 +85,12 @@ class WebmFactory extends _1.MediaWriter {
|
|
|
84
85
|
rtcpSource.input(rtcp);
|
|
85
86
|
})
|
|
86
87
|
.disposer(this.unSubscribers);
|
|
87
|
-
const ntpTime = new
|
|
88
|
+
const ntpTime = new extra_1.NtpTimeCallback(clockRate);
|
|
88
89
|
if (track.kind === "video") {
|
|
89
|
-
const depacketizer = new
|
|
90
|
+
const depacketizer = new extra_1.DepacketizeCallback(codec, {
|
|
90
91
|
isFinalPacketInSequence: (h) => h.marker,
|
|
91
92
|
});
|
|
92
|
-
const jitterBuffer = new
|
|
93
|
+
const jitterBuffer = new extra_1.JitterBufferCallback(clockRate);
|
|
93
94
|
rtpSource.pipe(jitterBuffer.input);
|
|
94
95
|
rtcpSource.pipe(ntpTime.input);
|
|
95
96
|
jitterBuffer.pipe(ntpTime.input);
|
|
@@ -98,7 +99,7 @@ class WebmFactory extends _1.MediaWriter {
|
|
|
98
99
|
lipsync.pipeVideo(webm.inputVideo);
|
|
99
100
|
}
|
|
100
101
|
else {
|
|
101
|
-
const depacketizer = new
|
|
102
|
+
const depacketizer = new extra_1.DepacketizeCallback(codec);
|
|
102
103
|
rtpSource.pipe(ntpTime.input);
|
|
103
104
|
rtcpSource.pipe(ntpTime.input);
|
|
104
105
|
ntpTime.pipe(depacketizer.input);
|
|
@@ -107,7 +108,7 @@ class WebmFactory extends _1.MediaWriter {
|
|
|
107
108
|
}
|
|
108
109
|
return rtpSource;
|
|
109
110
|
});
|
|
110
|
-
webm.pipe((0,
|
|
111
|
+
webm.pipe((0, extra_1.saveToFileSystem)(this.path));
|
|
111
112
|
}
|
|
112
113
|
async stop() {
|
|
113
114
|
await Promise.all(this.rtpSources.map((r) => r.stop()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webm.js","sourceRoot":"","sources":["../../../../../../src/nonstandard/recorder/writer/webm.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AACrC,qCAAwC;
|
|
1
|
+
{"version":3,"file":"webm.js","sourceRoot":"","sources":["../../../../../../src/nonstandard/recorder/writer/webm.ts"],"names":[],"mappings":"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","sourcesContent":["import { unlink } from \"fs/promises\";\nimport { EventDisposer } from \"rx.mini\";\n\nimport { MediaWriter } from \".\";\nimport { MediaStreamTrack, WeriftError } from \"../../..\";\nimport {\n DepacketizeCallback,\n JitterBufferCallback,\n LipsyncCallback,\n NtpTimeCallback,\n RtcpSourceCallback,\n RtpSourceCallback,\n SupportedCodec,\n WebmCallback,\n saveToFileSystem,\n} from \"../../../../../rtp/src/extra\";\n\nconst sourcePath = \"packages/webrtc/src/nonstandard/recorder/writer/webm.ts\";\n\nexport class WebmFactory extends MediaWriter {\n rtpSources: RtpSourceCallback[] = [];\n\n unSubscribers = new EventDisposer();\n\n async start(tracks: MediaStreamTrack[]) {\n await unlink(this.path).catch((e) => e);\n\n const inputTracks = tracks.map((track, i) => {\n const trackNumber = i + 1;\n const payloadType = track.codec!.payloadType;\n\n if (track.kind === \"video\") {\n const codec = ((): SupportedCodec => {\n switch (track.codec?.name.toLowerCase() as SupportedVideoCodec) {\n case \"vp8\":\n return \"VP8\";\n case \"vp9\":\n return \"VP9\";\n case \"h264\":\n return \"MPEG4/ISO/AVC\";\n case \"av1x\":\n return \"AV1\";\n default:\n throw new WeriftError({\n message: \"unsupported codec\",\n payload: { track, path: sourcePath },\n });\n }\n })();\n return {\n kind: \"video\" as const,\n codec,\n clockRate: 90000,\n trackNumber,\n width: this.options.width,\n height: this.options.height,\n payloadType,\n track,\n };\n } else {\n return {\n kind: \"audio\" as const,\n codec: \"OPUS\" as const,\n clockRate: 48000,\n trackNumber,\n payloadType,\n track,\n };\n }\n });\n\n const webm = new WebmCallback(inputTracks, {\n duration: this.options.defaultDuration ?? 1000 * 60 * 60 * 24,\n });\n const lipsync = new LipsyncCallback();\n\n this.rtpSources = inputTracks.map(({ track, clockRate, codec }) => {\n const rtpSource = new RtpSourceCallback();\n const rtcpSource = new RtcpSourceCallback();\n track.onReceiveRtp\n .subscribe((rtp) => {\n rtpSource.input(rtp.clone());\n })\n .disposer(this.unSubscribers);\n track.onReceiveRtcp\n .subscribe((rtcp) => {\n rtcpSource.input(rtcp);\n })\n .disposer(this.unSubscribers);\n const ntpTime = new NtpTimeCallback(clockRate);\n\n if (track.kind === \"video\") {\n const depacketizer = new DepacketizeCallback(codec, {\n isFinalPacketInSequence: (h) => h.marker,\n });\n const jitterBuffer = new JitterBufferCallback(clockRate);\n\n rtpSource.pipe(jitterBuffer.input);\n rtcpSource.pipe(ntpTime.input);\n\n jitterBuffer.pipe(ntpTime.input);\n ntpTime.pipe(depacketizer.input);\n depacketizer.pipe(lipsync.inputVideo);\n lipsync.pipeVideo(webm.inputVideo);\n } else {\n const depacketizer = new DepacketizeCallback(codec);\n\n rtpSource.pipe(ntpTime.input);\n rtcpSource.pipe(ntpTime.input);\n\n ntpTime.pipe(depacketizer.input);\n depacketizer.pipe(lipsync.inputAudio);\n lipsync.pipeAudio(webm.inputAudio);\n }\n\n return rtpSource;\n });\n webm.pipe(saveToFileSystem(this.path));\n }\n\n async stop() {\n await Promise.all(this.rtpSources.map((r) => r.stop()));\n this.unSubscribers.dispose();\n }\n}\n\nconst supportedVideoCodecs = [\"h264\", \"vp8\", \"vp9\", \"av1x\"] as const;\ntype SupportedVideoCodec = (typeof supportedVideoCodecs)[number];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userMedia.js","sourceRoot":"","sources":["../../../../src/nonstandard/userMedia.ts"],"names":[],"mappings":";;;AAAA,iDAAmD;AACnD,iCAAqC;AACrC,8CAA+C;AAC/C,+BAA0B;AAE1B,6CAAiD;AACjD,0CAA6C;AAC7C,0CAAkD;AAE3C,MAAM,YAAY,GAAG,KAAK,EAAE,EACjC,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,GAMP,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAU,GAAE,CAAC;IACrC,MAAM,SAAS,GAAG,MAAM,IAAA,gBAAU,GAAE,CAAC;IAErC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"userMedia.js","sourceRoot":"","sources":["../../../../src/nonstandard/userMedia.ts"],"names":[],"mappings":"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","sourcesContent":["import { ChildProcess, exec } from \"child_process\";\nimport { createSocket } from \"dgram\";\nimport { setImmediate } from \"timers/promises\";\nimport { v4 } from \"uuid\";\n\nimport { randomPort } from \"../../../common/src\";\nimport { RtpPacket } from \"../../../rtp/src\";\nimport { MediaStreamTrack } from \"../media/track\";\n\nexport const getUserMedia = async ({\n path,\n loop,\n width,\n height,\n}: {\n path: string;\n loop?: boolean;\n width?: number;\n height?: number;\n}) => {\n const audioPort = await randomPort();\n const videoPort = await randomPort();\n\n if (path.endsWith(\".mp4\")) {\n return new MediaPlayerMp4({\n audioPort,\n videoPort,\n path,\n loop,\n width,\n height,\n });\n } else {\n return new MediaPlayerWebm({\n audioPort,\n videoPort,\n path,\n loop,\n width,\n height,\n });\n }\n};\n\nabstract class MediaPlayer {\n protected streamId = v4();\n audio = new MediaStreamTrack({ kind: \"audio\", streamId: this.streamId });\n video = new MediaStreamTrack({ kind: \"video\", streamId: this.streamId });\n protected process!: ChildProcess;\n stopped = false;\n\n constructor(\n protected props: {\n videoPort: number;\n audioPort: number;\n path: string;\n loop?: boolean;\n width?: number;\n height?: number;\n },\n ) {\n this.setupTrack(props.audioPort, this.audio);\n this.setupTrack(props.videoPort, this.video);\n }\n\n private setupTrack = (port: number, track: MediaStreamTrack) => {\n let payloadType = 0;\n\n const socket = createSocket(\"udp4\");\n socket.bind(port);\n socket.on(\"message\", async (buf) => {\n const rtp = RtpPacket.deSerialize(buf);\n if (!payloadType) {\n payloadType = rtp.header.payloadType;\n }\n\n // detect gStreamer restarted\n if (payloadType !== rtp.header.payloadType) {\n payloadType = rtp.header.payloadType;\n track.onSourceChanged.execute(rtp.header);\n }\n\n track.writeRtp(buf);\n });\n };\n\n stop() {\n this.stopped = true;\n this.process.kill(\"SIGINT\");\n }\n}\n\nexport class MediaPlayerMp4 extends MediaPlayer {\n async start() {\n let payloadType = 96;\n const run = async () => {\n if (payloadType > 100) payloadType = 96;\n\n let cmd = \"\";\n if (this.props.width && this.props.height) {\n cmd = `gst-launch-1.0 filesrc location= ${this.props.path} ! \\\ndecodebin ! videoscale ! video/x-raw,width=${this.props.width},height=${\n this.props.height\n } ! x264enc ! \\\nh264parse ! rtph264pay config-interval=10 pt=${payloadType++} ! \\\nudpsink host=127.0.0.1 port=${this.props.videoPort}`;\n } else {\n cmd = `gst-launch-1.0 filesrc location= ${this.props.path} ! \\\nqtdemux name=d ! \\\nqueue ! h264parse ! rtph264pay config-interval=10 pt=${payloadType++} ! \\\nudpsink host=127.0.0.1 port=${this.props.videoPort} d. ! \\\nqueue ! aacparse ! avdec_aac ! audioresample ! audioconvert ! opusenc ! rtpopuspay pt=${payloadType++} ! \\\nudpsink host=127.0.0.1 port=${this.props.audioPort}`;\n }\n console.log(cmd);\n this.process = exec(cmd);\n this.process.on(\"error\", (e) => console.error(\"gst error\", e));\n\n if (this.props.loop) {\n await new Promise((r) => this.process.on(\"close\", r));\n if (!this.stopped) {\n run();\n }\n }\n };\n await setImmediate();\n run();\n }\n}\n\nexport class MediaPlayerWebm extends MediaPlayer {\n async start() {\n let payloadType = 96;\n const run = async () => {\n if (payloadType > 100) payloadType = 96;\n\n const cmd = `gst-launch-1.0 filesrc location=${this.props.path} ! matroskademux name=d \\\nd.video_0 ! queue ! rtpvp8pay pt=${payloadType++} ! \\\nudpsink host=127.0.0.1 port=${this.props.videoPort} \\\nd.audio_0 ! queue ! rtpopuspay pt=${payloadType++} ! \\\nudpsink host=127.0.0.1 port=${this.props.audioPort}`;\n this.process = exec(cmd);\n\n if (this.props.loop) {\n await new Promise((r) => this.process.on(\"close\", r));\n if (!this.stopped) {\n run();\n }\n }\n };\n await setImmediate();\n run();\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import Event from "rx.mini";
|
|
2
|
-
import { Message } from "../../ice/src/stun/message";
|
|
3
|
-
import { Protocol } from "../../ice/src/types/model";
|
|
4
2
|
import { Address, CandidatePair, InterfaceAddresses } from ".";
|
|
5
3
|
import { DtlsKeys } from ".";
|
|
4
|
+
import { Message } from "../../ice/src/stun/message";
|
|
5
|
+
import { Protocol } from "../../ice/src/types/model";
|
|
6
6
|
import { RTCDataChannel } from "./dataChannel";
|
|
7
7
|
import { EventTarget } from "./helper";
|
|
8
8
|
import { RTCRtpCodecParameters, RTCRtpHeaderExtensionParameters } from "./media/parameters";
|
|
@@ -372,13 +372,15 @@ class RTCPeerConnection extends helper_1.EventTarget {
|
|
|
372
372
|
});
|
|
373
373
|
}
|
|
374
374
|
get localDescription() {
|
|
375
|
-
if (!this._localDescription)
|
|
376
|
-
return;
|
|
375
|
+
if (!this._localDescription) {
|
|
376
|
+
return undefined;
|
|
377
|
+
}
|
|
377
378
|
return this._localDescription.toJSON();
|
|
378
379
|
}
|
|
379
380
|
get remoteDescription() {
|
|
380
|
-
if (!this._remoteDescription)
|
|
381
|
-
return;
|
|
381
|
+
if (!this._remoteDescription) {
|
|
382
|
+
return undefined;
|
|
383
|
+
}
|
|
382
384
|
return this._remoteDescription.toJSON();
|
|
383
385
|
}
|
|
384
386
|
get _localDescription() {
|
|
@@ -630,7 +632,7 @@ class RTCPeerConnection extends helper_1.EventTarget {
|
|
|
630
632
|
}
|
|
631
633
|
createSctpTransport() {
|
|
632
634
|
const dtlsTransport = this.createTransport([
|
|
633
|
-
const_1.SRTP_PROFILE.SRTP_AEAD_AES_128_GCM,
|
|
635
|
+
const_1.SRTP_PROFILE.SRTP_AEAD_AES_128_GCM, // prefer
|
|
634
636
|
const_1.SRTP_PROFILE.SRTP_AES128_CM_HMAC_SHA1_80,
|
|
635
637
|
]);
|
|
636
638
|
const sctp = new sctp_1.RTCSctpTransport();
|
|
@@ -852,8 +854,9 @@ class RTCPeerConnection extends helper_1.EventTarget {
|
|
|
852
854
|
}
|
|
853
855
|
get remoteIsBundled() {
|
|
854
856
|
const remoteSdp = this._remoteDescription;
|
|
855
|
-
if (!remoteSdp)
|
|
856
|
-
return;
|
|
857
|
+
if (!remoteSdp) {
|
|
858
|
+
return undefined;
|
|
859
|
+
}
|
|
857
860
|
const bundle = remoteSdp.group.find((g) => g.semantic === "BUNDLE" && this.config.bundlePolicy !== "disable");
|
|
858
861
|
return bundle;
|
|
859
862
|
}
|
|
@@ -1128,7 +1131,7 @@ class RTCPeerConnection extends helper_1.EventTarget {
|
|
|
1128
1131
|
const kind = typeof trackOrKind === "string" ? trackOrKind : trackOrKind.kind;
|
|
1129
1132
|
const direction = options.direction || "sendrecv";
|
|
1130
1133
|
const dtlsTransport = this.createTransport([
|
|
1131
|
-
const_1.SRTP_PROFILE.SRTP_AEAD_AES_128_GCM,
|
|
1134
|
+
const_1.SRTP_PROFILE.SRTP_AEAD_AES_128_GCM, // prefer
|
|
1132
1135
|
const_1.SRTP_PROFILE.SRTP_AES128_CM_HMAC_SHA1_80,
|
|
1133
1136
|
]);
|
|
1134
1137
|
const sender = new rtpSender_1.RTCRtpSender(trackOrKind);
|