werift 0.17.0 → 0.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/lib/ice/src/ice.d.ts +10 -1
  2. package/lib/ice/src/ice.js +15 -3
  3. package/lib/ice/src/ice.js.map +1 -1
  4. package/lib/rtp/src/container/ebml/ebml.d.ts +32 -0
  5. package/lib/rtp/src/container/ebml/ebml.js +115 -0
  6. package/lib/rtp/src/container/ebml/ebml.js.map +1 -0
  7. package/lib/rtp/src/container/ebml/id.d.ts +221 -0
  8. package/lib/rtp/src/container/ebml/id.js +225 -0
  9. package/lib/rtp/src/container/ebml/id.js.map +1 -0
  10. package/lib/rtp/src/container/ebml/index.d.ts +3 -0
  11. package/lib/rtp/src/container/ebml/index.js +20 -0
  12. package/lib/rtp/src/container/ebml/index.js.map +1 -0
  13. package/lib/rtp/src/container/ebml/typedArrayUtils.d.ts +7 -0
  14. package/lib/rtp/src/container/ebml/typedArrayUtils.js +109 -0
  15. package/lib/rtp/src/container/ebml/typedArrayUtils.js.map +1 -0
  16. package/lib/rtp/src/container/webm.d.ts +10 -4
  17. package/lib/rtp/src/container/webm.js +56 -7
  18. package/lib/rtp/src/container/webm.js.map +1 -1
  19. package/lib/rtp/src/index.d.ts +1 -0
  20. package/lib/rtp/src/index.js +1 -0
  21. package/lib/rtp/src/index.js.map +1 -1
  22. package/lib/rtp/src/processor/avBuffer.d.ts +28 -0
  23. package/lib/rtp/src/processor/avBuffer.js +91 -0
  24. package/lib/rtp/src/processor/avBuffer.js.map +1 -0
  25. package/lib/rtp/src/processor/avBufferCallback.d.ts +10 -0
  26. package/lib/rtp/src/processor/avBufferCallback.js +27 -0
  27. package/lib/rtp/src/processor/avBufferCallback.js.map +1 -0
  28. package/lib/rtp/src/processor/depacketizer.d.ts +1 -1
  29. package/lib/rtp/src/processor/depacketizer.js.map +1 -1
  30. package/lib/rtp/src/processor/depacketizerCallback.d.ts +1 -3
  31. package/lib/rtp/src/processor/depacketizerCallback.js +2 -2
  32. package/lib/rtp/src/processor/depacketizerCallback.js.map +1 -1
  33. package/lib/rtp/src/processor/depacketizerTransformer.d.ts +1 -1
  34. package/lib/rtp/src/processor/index.d.ts +3 -0
  35. package/lib/rtp/src/processor/index.js +3 -0
  36. package/lib/rtp/src/processor/index.js.map +1 -1
  37. package/lib/rtp/src/processor/jitterBuffer.d.ts +1 -1
  38. package/lib/rtp/src/processor/jitterBuffer.js.map +1 -1
  39. package/lib/rtp/src/processor/jitterBufferCallback.d.ts +1 -3
  40. package/lib/rtp/src/processor/jitterBufferCallback.js +2 -2
  41. package/lib/rtp/src/processor/jitterBufferCallback.js.map +1 -1
  42. package/lib/rtp/src/processor/jitterBufferTransformer.d.ts +1 -1
  43. package/lib/rtp/src/processor/source/index.d.ts +2 -2
  44. package/lib/rtp/src/processor/source/index.js +16 -3
  45. package/lib/rtp/src/processor/source/index.js.map +1 -1
  46. package/lib/rtp/src/processor/source/rtpCallback.d.ts +17 -0
  47. package/lib/rtp/src/processor/source/rtpCallback.js +33 -0
  48. package/lib/rtp/src/processor/source/rtpCallback.js.map +1 -0
  49. package/lib/rtp/src/processor/source/{rtp.d.ts → rtpStream.d.ts} +2 -5
  50. package/lib/rtp/src/processor/source/{rtp.js → rtpStream.js} +12 -12
  51. package/lib/rtp/src/processor/source/rtpStream.js.map +1 -0
  52. package/lib/rtp/src/processor/webm.d.ts +17 -2
  53. package/lib/rtp/src/processor/webm.js +83 -33
  54. package/lib/rtp/src/processor/webm.js.map +1 -1
  55. package/lib/rtp/src/processor/webmCallback.d.ts +16 -0
  56. package/lib/rtp/src/processor/webmCallback.js +21 -0
  57. package/lib/rtp/src/processor/webmCallback.js.map +1 -0
  58. package/lib/rtp/src/processor/webmStream.d.ts +5 -16
  59. package/lib/rtp/src/processor/webmStream.js.map +1 -1
  60. package/lib/{webrtc/src/media/receiver/red.d.ts → rtp/src/rtp/red/handler.d.ts} +2 -2
  61. package/lib/{webrtc/src/media/receiver/red.js → rtp/src/rtp/red/handler.js} +10 -10
  62. package/lib/rtp/src/rtp/red/handler.js.map +1 -0
  63. package/lib/webrtc/src/const.d.ts +1 -1
  64. package/lib/webrtc/src/const.js +2 -2
  65. package/lib/webrtc/src/const.js.map +1 -1
  66. package/lib/webrtc/src/media/receiver/nack.d.ts +1 -0
  67. package/lib/webrtc/src/media/receiver/nack.js +29 -16
  68. package/lib/webrtc/src/media/receiver/nack.js.map +1 -1
  69. package/lib/webrtc/src/media/router.js +17 -13
  70. package/lib/webrtc/src/media/router.js.map +1 -1
  71. package/lib/webrtc/src/media/rtpReceiver.d.ts +1 -1
  72. package/lib/webrtc/src/media/rtpReceiver.js +14 -9
  73. package/lib/webrtc/src/media/rtpReceiver.js.map +1 -1
  74. package/lib/webrtc/src/media/rtpTransceiver.d.ts +10 -6
  75. package/lib/webrtc/src/media/rtpTransceiver.js +23 -14
  76. package/lib/webrtc/src/media/rtpTransceiver.js.map +1 -1
  77. package/lib/webrtc/src/media/track.js +3 -2
  78. package/lib/webrtc/src/media/track.js.map +1 -1
  79. package/lib/webrtc/src/nonstandard/recorder/writer/webm.js.map +1 -1
  80. package/lib/webrtc/src/nonstandard/userMedia.d.ts +20 -3
  81. package/lib/webrtc/src/nonstandard/userMedia.js +79 -8
  82. package/lib/webrtc/src/nonstandard/userMedia.js.map +1 -1
  83. package/lib/webrtc/src/peerConnection.d.ts +5 -2
  84. package/lib/webrtc/src/peerConnection.js +72 -46
  85. package/lib/webrtc/src/peerConnection.js.map +1 -1
  86. package/lib/webrtc/src/sdp.js +2 -2
  87. package/lib/webrtc/src/sdp.js.map +1 -1
  88. package/lib/webrtc/src/transport/ice.js +10 -3
  89. package/lib/webrtc/src/transport/ice.js.map +1 -1
  90. package/lib/webrtc/src/utils.d.ts +0 -1
  91. package/lib/webrtc/src/utils.js +1 -3
  92. package/lib/webrtc/src/utils.js.map +1 -1
  93. package/package.json +1 -1
  94. package/src/const.ts +1 -1
  95. package/src/media/receiver/nack.ts +33 -17
  96. package/src/media/router.ts +16 -13
  97. package/src/media/rtpReceiver.ts +21 -9
  98. package/src/media/rtpTransceiver.ts +28 -15
  99. package/src/media/track.ts +3 -2
  100. package/src/nonstandard/recorder/writer/webm.ts +2 -2
  101. package/src/nonstandard/userMedia.ts +89 -7
  102. package/src/peerConnection.ts +88 -51
  103. package/src/sdp.ts +2 -2
  104. package/src/transport/ice.ts +13 -3
  105. package/src/utils.ts +0 -3
  106. package/lib/rtp/src/processor/source/rtp.js.map +0 -1
  107. package/lib/webrtc/src/media/receiver/red.js.map +0 -1
  108. package/src/media/receiver/red.ts +0 -70
@@ -1,70 +0,0 @@
1
- import { Red, RtpHeader, RtpPacket, uint16Add, uint32Add } from "../..";
2
-
3
- // 0 1 2 3
4
- // 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
5
- // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
6
- // |F| block PT | timestamp offset | block length |
7
- // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8
-
9
- // 0 1 2 3 4 5 6 7
10
- // +-+-+-+-+-+-+-+-+
11
- // |0| Block PT |
12
- // +-+-+-+-+-+-+-+-+
13
-
14
- export class AudioRedHandler {
15
- private readonly size = 150;
16
- private sequenceNumbers: number[] = [];
17
-
18
- push(red: Red, rtp: RtpPacket) {
19
- const packets: RtpPacket[] = [];
20
-
21
- red.blocks.forEach(({ blockPT, timestampOffset, block }, i) => {
22
- const sequenceNumber = uint16Add(
23
- rtp.header.sequenceNumber,
24
- -(red.blocks.length - (i + 1))
25
- );
26
- if (timestampOffset) {
27
- packets.push(
28
- new RtpPacket(
29
- new RtpHeader({
30
- timestamp: uint32Add(rtp.header.timestamp, -timestampOffset),
31
- payloadType: blockPT,
32
- ssrc: rtp.header.ssrc,
33
- sequenceNumber,
34
- marker: true,
35
- }),
36
- block
37
- )
38
- );
39
- } else {
40
- packets.push(
41
- new RtpPacket(
42
- new RtpHeader({
43
- timestamp: rtp.header.timestamp,
44
- payloadType: blockPT,
45
- ssrc: rtp.header.ssrc,
46
- sequenceNumber,
47
- marker: true,
48
- }),
49
- block
50
- )
51
- );
52
- }
53
- });
54
-
55
- const filtered = packets.filter((p) => {
56
- // duplicate
57
- if (this.sequenceNumbers.includes(p.header.sequenceNumber)) {
58
- return false;
59
- } else {
60
- // buffer overflow
61
- if (this.sequenceNumbers.length > this.size) {
62
- this.sequenceNumbers.shift();
63
- }
64
- this.sequenceNumbers.push(p.header.sequenceNumber);
65
- return true;
66
- }
67
- });
68
- return filtered;
69
- }
70
- }