@moqtap/codec 0.1.0 → 0.2.0

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 (277) hide show
  1. package/README.md +99 -95
  2. package/dist/chunk-4RIXXEII.js +1275 -0
  3. package/dist/chunk-4XYGE53S.cjs +698 -0
  4. package/dist/chunk-4YJANAXU.cjs +1109 -0
  5. package/dist/chunk-6AEHWULA.cjs +641 -0
  6. package/dist/chunk-7DUBLRXC.js +680 -0
  7. package/dist/{chunk-WNTXF3DE.cjs → chunk-7IVGHMKJ.cjs} +164 -62
  8. package/dist/{chunk-YBSEOSSP.js → chunk-A27S7HW7.js} +5 -1
  9. package/dist/chunk-BISI45MN.cjs +680 -0
  10. package/dist/{chunk-3BSZ55L3.cjs → chunk-BPNL5YFQ.cjs} +158 -24
  11. package/dist/chunk-CXDHOMHG.js +1097 -0
  12. package/dist/chunk-DUBCL3WF.cjs +749 -0
  13. package/dist/chunk-DWK5ZQZ4.js +642 -0
  14. package/dist/chunk-E6E3NQYU.js +680 -0
  15. package/dist/chunk-EFM5T7OM.js +698 -0
  16. package/dist/chunk-ENURAVHI.cjs +680 -0
  17. package/dist/{chunk-5WFXFLL4.cjs → chunk-FUFTMAQD.cjs} +96 -63
  18. package/dist/{chunk-2NARXGVA.cjs → chunk-FWISIR26.cjs} +5 -1
  19. package/dist/{chunk-YPXLV5YK.js → chunk-FXZ2MYKJ.js} +376 -38
  20. package/dist/chunk-G26SJ6XS.cjs +1341 -0
  21. package/dist/chunk-G7GI7LJA.js +737 -0
  22. package/dist/chunk-GXEW4COZ.cjs +737 -0
  23. package/dist/chunk-HSVYF6XX.cjs +1361 -0
  24. package/dist/chunk-IBVM4DMJ.cjs +1097 -0
  25. package/dist/chunk-IV2H5CFI.cjs +1275 -0
  26. package/dist/chunk-IV2HRJVT.js +1198 -0
  27. package/dist/chunk-JSQM2MG3.js +680 -0
  28. package/dist/chunk-K4OLITS2.cjs +1055 -0
  29. package/dist/{chunk-UOBWHJA5.js → chunk-KFTCU2P6.js} +2 -3
  30. package/dist/chunk-LH4NTURO.js +1361 -0
  31. package/dist/{chunk-DC4L6ZIT.js → chunk-MFAP7R6L.js} +154 -20
  32. package/dist/chunk-NGVE2RZT.js +1097 -0
  33. package/dist/chunk-NUX5BHWO.js +1341 -0
  34. package/dist/chunk-PJRA2TQ5.js +1055 -0
  35. package/dist/chunk-RVJAGE4S.cjs +1198 -0
  36. package/dist/{chunk-QYG6KGOV.cjs → chunk-RWQ43Z4F.cjs} +2 -3
  37. package/dist/chunk-RZHAPEXO.js +749 -0
  38. package/dist/chunk-ST24APEO.js +1109 -0
  39. package/dist/chunk-SYHW3FLI.cjs +642 -0
  40. package/dist/chunk-TLYNOOQP.cjs +432 -0
  41. package/dist/{chunk-23YG7F46.js → chunk-TMNGRIPL.js} +153 -51
  42. package/dist/{chunk-IQPDRQVC.js → chunk-U2B3B42P.js} +62 -29
  43. package/dist/chunk-UNS34PTA.cjs +680 -0
  44. package/dist/chunk-UR6JKS56.js +432 -0
  45. package/dist/{chunk-GDRGWFEK.cjs → chunk-UYXTY6ZQ.cjs} +376 -38
  46. package/dist/chunk-XUUCOLWU.cjs +1097 -0
  47. package/dist/chunk-YG5KJESI.js +641 -0
  48. package/dist/chunk-ZBKE2QRQ.js +1401 -0
  49. package/dist/chunk-ZSPO2GF2.cjs +1401 -0
  50. package/dist/codec-95k8CAu5.d.cts +35 -0
  51. package/dist/codec-AFuOxfsO.d.ts +60 -0
  52. package/dist/codec-B-UJ5Iow.d.cts +75 -0
  53. package/dist/codec-BC5jfvMb.d.ts +35 -0
  54. package/dist/codec-BECYPfY8.d.ts +35 -0
  55. package/dist/codec-BsPU1vNC.d.ts +39 -0
  56. package/dist/codec-BvpuF-6u.d.cts +39 -0
  57. package/dist/codec-C8jZI5Cx.d.cts +39 -0
  58. package/dist/codec-CAevkgf5.d.cts +33 -0
  59. package/dist/codec-CSUqCrRs.d.ts +39 -0
  60. package/dist/codec-C_HMXNK_.d.ts +33 -0
  61. package/dist/{codec-CTvFtQQI.d.cts → codec-CpuvYTSV.d.cts} +5 -5
  62. package/dist/codec-D0x8-SCw.d.cts +35 -0
  63. package/dist/codec-D7ARhpG1.d.ts +75 -0
  64. package/dist/codec-DNAUGshO.d.cts +60 -0
  65. package/dist/codec-DPx_QNn0.d.ts +31 -0
  66. package/dist/{codec-qPzfmLNu.d.ts → codec-DRhCx_hw.d.ts} +5 -5
  67. package/dist/codec-Db7YPe3l.d.ts +31 -0
  68. package/dist/codec-axkJpb7D.d.cts +31 -0
  69. package/dist/codec-ujAbFaep.d.cts +31 -0
  70. package/dist/draft10-session.cjs +6 -0
  71. package/dist/draft10-session.d.cts +8 -0
  72. package/dist/draft10-session.d.ts +8 -0
  73. package/dist/draft10-session.js +6 -0
  74. package/dist/draft10.cjs +115 -0
  75. package/dist/draft10.d.cts +95 -0
  76. package/dist/draft10.d.ts +95 -0
  77. package/dist/draft10.js +115 -0
  78. package/dist/draft11-session.cjs +6 -0
  79. package/dist/draft11-session.d.cts +8 -0
  80. package/dist/draft11-session.d.ts +8 -0
  81. package/dist/draft11-session.js +6 -0
  82. package/dist/draft11.cjs +109 -0
  83. package/dist/draft11.d.cts +99 -0
  84. package/dist/draft11.d.ts +99 -0
  85. package/dist/draft11.js +109 -0
  86. package/dist/draft12-session.cjs +6 -0
  87. package/dist/draft12-session.d.cts +8 -0
  88. package/dist/draft12-session.d.ts +8 -0
  89. package/dist/draft12-session.js +6 -0
  90. package/dist/draft12.cjs +117 -0
  91. package/dist/draft12.d.cts +106 -0
  92. package/dist/draft12.d.ts +106 -0
  93. package/dist/draft12.js +117 -0
  94. package/dist/draft13-session.cjs +6 -0
  95. package/dist/draft13-session.d.cts +8 -0
  96. package/dist/draft13-session.d.ts +8 -0
  97. package/dist/draft13-session.js +6 -0
  98. package/dist/draft13.cjs +119 -0
  99. package/dist/draft13.d.cts +108 -0
  100. package/dist/draft13.d.ts +108 -0
  101. package/dist/draft13.js +119 -0
  102. package/dist/draft14-session.cjs +2 -2
  103. package/dist/draft14-session.d.cts +4 -4
  104. package/dist/draft14-session.d.ts +4 -4
  105. package/dist/draft14-session.js +1 -1
  106. package/dist/draft14.cjs +4 -4
  107. package/dist/draft14.d.cts +27 -15
  108. package/dist/draft14.d.ts +27 -15
  109. package/dist/draft14.js +3 -3
  110. package/dist/draft15-session.cjs +6 -0
  111. package/dist/draft15-session.d.cts +8 -0
  112. package/dist/draft15-session.d.ts +8 -0
  113. package/dist/draft15-session.js +6 -0
  114. package/dist/draft15.cjs +111 -0
  115. package/dist/draft15.d.cts +93 -0
  116. package/dist/draft15.d.ts +93 -0
  117. package/dist/draft15.js +111 -0
  118. package/dist/draft16-session.cjs +6 -0
  119. package/dist/draft16-session.d.cts +8 -0
  120. package/dist/draft16-session.d.ts +8 -0
  121. package/dist/draft16-session.js +6 -0
  122. package/dist/draft16.cjs +113 -0
  123. package/dist/draft16.d.cts +94 -0
  124. package/dist/draft16.d.ts +94 -0
  125. package/dist/draft16.js +113 -0
  126. package/dist/draft17-session.cjs +8 -0
  127. package/dist/draft17-session.d.cts +51 -0
  128. package/dist/draft17-session.d.ts +51 -0
  129. package/dist/draft17-session.js +8 -0
  130. package/dist/draft17.cjs +99 -0
  131. package/dist/draft17.d.cts +40 -0
  132. package/dist/draft17.d.ts +40 -0
  133. package/dist/draft17.js +99 -0
  134. package/dist/draft7-session.cjs +3 -3
  135. package/dist/draft7-session.d.cts +3 -3
  136. package/dist/draft7-session.d.ts +3 -3
  137. package/dist/draft7-session.js +2 -2
  138. package/dist/draft7.cjs +6 -6
  139. package/dist/draft7.d.cts +10 -10
  140. package/dist/draft7.d.ts +10 -10
  141. package/dist/draft7.js +3 -3
  142. package/dist/draft8-session.cjs +6 -0
  143. package/dist/draft8-session.d.cts +8 -0
  144. package/dist/draft8-session.d.ts +8 -0
  145. package/dist/draft8-session.js +6 -0
  146. package/dist/draft8.cjs +115 -0
  147. package/dist/draft8.d.cts +95 -0
  148. package/dist/draft8.d.ts +95 -0
  149. package/dist/draft8.js +115 -0
  150. package/dist/draft9-session.cjs +6 -0
  151. package/dist/draft9-session.d.cts +8 -0
  152. package/dist/draft9-session.d.ts +8 -0
  153. package/dist/draft9-session.js +6 -0
  154. package/dist/draft9.cjs +115 -0
  155. package/dist/draft9.d.cts +95 -0
  156. package/dist/draft9.d.ts +95 -0
  157. package/dist/draft9.js +115 -0
  158. package/dist/index.cjs +79 -7
  159. package/dist/index.d.cts +71 -8
  160. package/dist/index.d.ts +71 -8
  161. package/dist/index.js +77 -5
  162. package/dist/{session-types-B9NIf7_F.d.ts → session-types-CJIFbTPd.d.ts} +20 -20
  163. package/dist/{session-types-CCo-oA-d.d.cts → session-types-Cbq8IGCP.d.cts} +20 -20
  164. package/dist/session.cjs +5 -5
  165. package/dist/session.d.cts +3 -3
  166. package/dist/session.d.ts +3 -3
  167. package/dist/session.js +5 -5
  168. package/dist/types-4VxSL2Ho.d.cts +261 -0
  169. package/dist/types-4VxSL2Ho.d.ts +261 -0
  170. package/dist/types-B2afJZM-.d.cts +236 -0
  171. package/dist/types-B2afJZM-.d.ts +236 -0
  172. package/dist/{types-CIk5W10V.d.ts → types-BTFeKYCb.d.cts} +37 -37
  173. package/dist/{types-CIk5W10V.d.cts → types-BTFeKYCb.d.ts} +37 -37
  174. package/dist/types-Bg6QYNVt.d.cts +290 -0
  175. package/dist/types-Bg6QYNVt.d.ts +290 -0
  176. package/dist/types-C_1HrqBl.d.cts +306 -0
  177. package/dist/types-C_1HrqBl.d.ts +306 -0
  178. package/dist/types-Cw4WE9dh.d.cts +261 -0
  179. package/dist/types-Cw4WE9dh.d.ts +261 -0
  180. package/dist/types-D5gNQiDj.d.cts +261 -0
  181. package/dist/types-D5gNQiDj.d.ts +261 -0
  182. package/dist/types-DqCDFqgB.d.cts +230 -0
  183. package/dist/types-DqCDFqgB.d.ts +230 -0
  184. package/dist/types-ERexTpT8.d.cts +217 -0
  185. package/dist/types-ERexTpT8.d.ts +217 -0
  186. package/dist/{types-ClXELFGN.d.cts → types-QNXoxC9Y.d.cts} +36 -41
  187. package/dist/{types-ClXELFGN.d.ts → types-QNXoxC9Y.d.ts} +36 -41
  188. package/dist/types-r-CasCf1.d.cts +262 -0
  189. package/dist/types-r-CasCf1.d.ts +262 -0
  190. package/package.json +116 -8
  191. package/src/core/buffer-reader.ts +16 -9
  192. package/src/core/buffer-writer.ts +2 -2
  193. package/src/core/errors.ts +1 -1
  194. package/src/core/session-types.ts +28 -41
  195. package/src/core/types.ts +92 -75
  196. package/src/drafts/draft07/announce-fsm.ts +1 -1
  197. package/src/drafts/draft07/codec.ts +235 -118
  198. package/src/drafts/draft07/index.ts +43 -44
  199. package/src/drafts/draft07/messages.ts +1 -1
  200. package/src/drafts/draft07/parameters.ts +2 -2
  201. package/src/drafts/draft07/rules.ts +67 -38
  202. package/src/drafts/draft07/session-fsm.ts +330 -117
  203. package/src/drafts/draft07/session.ts +10 -10
  204. package/src/drafts/draft07/subscription-fsm.ts +1 -1
  205. package/src/drafts/draft07/varint.ts +4 -4
  206. package/src/drafts/draft08/codec.ts +1254 -0
  207. package/src/drafts/draft08/index.ts +125 -0
  208. package/src/drafts/draft08/messages.ts +72 -0
  209. package/src/drafts/draft08/rules.ts +91 -0
  210. package/src/drafts/draft08/session-fsm.ts +718 -0
  211. package/src/drafts/draft08/session.ts +26 -0
  212. package/src/drafts/draft08/types.ts +377 -0
  213. package/src/drafts/draft09/codec.ts +1235 -0
  214. package/src/drafts/draft09/index.ts +125 -0
  215. package/src/drafts/draft09/messages.ts +72 -0
  216. package/src/drafts/draft09/rules.ts +91 -0
  217. package/src/drafts/draft09/session-fsm.ts +718 -0
  218. package/src/drafts/draft09/session.ts +26 -0
  219. package/src/drafts/draft09/types.ts +376 -0
  220. package/src/drafts/draft10/codec.ts +1235 -0
  221. package/src/drafts/draft10/index.ts +125 -0
  222. package/src/drafts/draft10/messages.ts +72 -0
  223. package/src/drafts/draft10/rules.ts +91 -0
  224. package/src/drafts/draft10/session-fsm.ts +718 -0
  225. package/src/drafts/draft10/session.ts +26 -0
  226. package/src/drafts/draft10/types.ts +376 -0
  227. package/src/drafts/draft11/codec.ts +1198 -0
  228. package/src/drafts/draft11/index.ts +123 -0
  229. package/src/drafts/draft11/messages.ts +71 -0
  230. package/src/drafts/draft11/rules.ts +100 -0
  231. package/src/drafts/draft11/session-fsm.ts +758 -0
  232. package/src/drafts/draft11/session.ts +26 -0
  233. package/src/drafts/draft11/types.ts +375 -0
  234. package/src/drafts/draft12/codec.ts +1354 -0
  235. package/src/drafts/draft12/index.ts +130 -0
  236. package/src/drafts/draft12/messages.ts +84 -0
  237. package/src/drafts/draft12/rules.ts +106 -0
  238. package/src/drafts/draft12/session-fsm.ts +805 -0
  239. package/src/drafts/draft12/session.ts +26 -0
  240. package/src/drafts/draft12/types.ts +414 -0
  241. package/src/drafts/draft13/codec.ts +1438 -0
  242. package/src/drafts/draft13/index.ts +132 -0
  243. package/src/drafts/draft13/messages.ts +86 -0
  244. package/src/drafts/draft13/rules.ts +108 -0
  245. package/src/drafts/draft13/session-fsm.ts +819 -0
  246. package/src/drafts/draft13/session.ts +26 -0
  247. package/src/drafts/draft13/types.ts +433 -0
  248. package/src/drafts/draft14/codec.ts +339 -189
  249. package/src/drafts/draft14/index.ts +103 -108
  250. package/src/drafts/draft14/messages.ts +61 -61
  251. package/src/drafts/draft14/rules.ts +77 -34
  252. package/src/drafts/draft14/session-fsm.ts +640 -147
  253. package/src/drafts/draft14/session.ts +13 -13
  254. package/src/drafts/draft14/types.ts +68 -68
  255. package/src/drafts/draft15/codec.ts +1661 -0
  256. package/src/drafts/draft15/index.ts +121 -0
  257. package/src/drafts/draft15/messages.ts +64 -0
  258. package/src/drafts/draft15/rules.ts +95 -0
  259. package/src/drafts/draft15/session-fsm.ts +687 -0
  260. package/src/drafts/draft15/session.ts +26 -0
  261. package/src/drafts/draft15/types.ts +336 -0
  262. package/src/drafts/draft16/codec.ts +1623 -0
  263. package/src/drafts/draft16/index.ts +123 -0
  264. package/src/drafts/draft16/messages.ts +67 -0
  265. package/src/drafts/draft16/rules.ts +96 -0
  266. package/src/drafts/draft16/session-fsm.ts +682 -0
  267. package/src/drafts/draft16/session.ts +26 -0
  268. package/src/drafts/draft16/types.ts +354 -0
  269. package/src/drafts/draft17/codec.ts +1621 -0
  270. package/src/drafts/draft17/index.ts +105 -0
  271. package/src/drafts/draft17/messages.ts +53 -0
  272. package/src/drafts/draft17/rules.ts +85 -0
  273. package/src/drafts/draft17/session-fsm.ts +437 -0
  274. package/src/drafts/draft17/session.ts +15 -0
  275. package/src/drafts/draft17/types.ts +310 -0
  276. package/src/index.ts +283 -33
  277. package/src/session.ts +20 -20
@@ -1,21 +1,21 @@
1
- type Draft = 'draft-ietf-moq-transport-07' | 'draft-ietf-moq-transport-14';
2
- type DraftShorthand = '07' | '14';
3
- type MoqtMessageType = 'client_setup' | 'server_setup' | 'subscribe' | 'subscribe_ok' | 'subscribe_error' | 'subscribe_done' | 'subscribe_update' | 'unsubscribe' | 'announce' | 'announce_ok' | 'announce_error' | 'announce_cancel' | 'unannounce' | 'track_status_request' | 'track_status' | 'object_stream' | 'object_datagram' | 'stream_header_track' | 'stream_header_group' | 'stream_header_subgroup' | 'goaway' | 'subscribe_announces' | 'subscribe_announces_ok' | 'subscribe_announces_error' | 'unsubscribe_announces' | 'max_subscribe_id' | 'fetch' | 'fetch_ok' | 'fetch_error' | 'fetch_cancel';
1
+ type Draft = "draft-ietf-moq-transport-07" | "draft-ietf-moq-transport-08" | "draft-ietf-moq-transport-09" | "draft-ietf-moq-transport-10" | "draft-ietf-moq-transport-11" | "draft-ietf-moq-transport-12" | "draft-ietf-moq-transport-13" | "draft-ietf-moq-transport-14" | "draft-ietf-moq-transport-15" | "draft-ietf-moq-transport-16" | "draft-ietf-moq-transport-17";
2
+ type DraftShorthand = "07" | "08" | "09" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17";
3
+ type MoqtMessageType = "client_setup" | "server_setup" | "subscribe" | "subscribe_ok" | "subscribe_error" | "subscribe_done" | "subscribe_update" | "unsubscribe" | "announce" | "announce_ok" | "announce_error" | "announce_cancel" | "unannounce" | "track_status_request" | "track_status" | "object_stream" | "object_datagram" | "stream_header_track" | "stream_header_group" | "stream_header_subgroup" | "goaway" | "subscribe_announces" | "subscribe_announces_ok" | "subscribe_announces_error" | "unsubscribe_announces" | "max_subscribe_id" | "fetch" | "fetch_ok" | "fetch_error" | "fetch_cancel";
4
4
  interface BaseMessage {
5
5
  readonly type: MoqtMessageType;
6
6
  }
7
7
  interface ClientSetup extends BaseMessage {
8
- readonly type: 'client_setup';
8
+ readonly type: "client_setup";
9
9
  readonly supportedVersions: bigint[];
10
10
  readonly parameters: Map<bigint, Uint8Array>;
11
11
  }
12
12
  interface ServerSetup extends BaseMessage {
13
- readonly type: 'server_setup';
13
+ readonly type: "server_setup";
14
14
  readonly selectedVersion: bigint;
15
15
  readonly parameters: Map<bigint, Uint8Array>;
16
16
  }
17
17
  interface Subscribe extends BaseMessage {
18
- readonly type: 'subscribe';
18
+ readonly type: "subscribe";
19
19
  readonly subscribeId: bigint;
20
20
  readonly trackAlias: bigint;
21
21
  readonly trackNamespace: string[];
@@ -29,9 +29,9 @@ interface Subscribe extends BaseMessage {
29
29
  readonly endObject?: bigint;
30
30
  readonly parameters: Map<bigint, Uint8Array>;
31
31
  }
32
- type FilterType = 'latest_group' | 'latest_object' | 'absolute_start' | 'absolute_range';
32
+ type FilterType = "latest_group" | "latest_object" | "absolute_start" | "absolute_range";
33
33
  interface SubscribeOk extends BaseMessage {
34
- readonly type: 'subscribe_ok';
34
+ readonly type: "subscribe_ok";
35
35
  readonly subscribeId: bigint;
36
36
  readonly expires: bigint;
37
37
  readonly groupOrder: GroupOrderValue;
@@ -40,16 +40,16 @@ interface SubscribeOk extends BaseMessage {
40
40
  readonly largestObjectId?: bigint;
41
41
  readonly parameters: Map<bigint, Uint8Array>;
42
42
  }
43
- type GroupOrderValue = 'ascending' | 'descending' | 'original';
43
+ type GroupOrderValue = "ascending" | "descending" | "original";
44
44
  interface SubscribeError extends BaseMessage {
45
- readonly type: 'subscribe_error';
45
+ readonly type: "subscribe_error";
46
46
  readonly subscribeId: bigint;
47
47
  readonly errorCode: bigint;
48
48
  readonly reasonPhrase: string;
49
49
  readonly trackAlias: bigint;
50
50
  }
51
51
  interface SubscribeDone extends BaseMessage {
52
- readonly type: 'subscribe_done';
52
+ readonly type: "subscribe_done";
53
53
  readonly subscribeId: bigint;
54
54
  readonly statusCode: bigint;
55
55
  readonly reasonPhrase: string;
@@ -58,7 +58,7 @@ interface SubscribeDone extends BaseMessage {
58
58
  readonly finalObjectId?: bigint;
59
59
  }
60
60
  interface SubscribeUpdate extends BaseMessage {
61
- readonly type: 'subscribe_update';
61
+ readonly type: "subscribe_update";
62
62
  readonly subscribeId: bigint;
63
63
  readonly startGroup: bigint;
64
64
  readonly startObject: bigint;
@@ -68,41 +68,41 @@ interface SubscribeUpdate extends BaseMessage {
68
68
  readonly parameters: Map<bigint, Uint8Array>;
69
69
  }
70
70
  interface Unsubscribe extends BaseMessage {
71
- readonly type: 'unsubscribe';
71
+ readonly type: "unsubscribe";
72
72
  readonly subscribeId: bigint;
73
73
  }
74
74
  interface Announce extends BaseMessage {
75
- readonly type: 'announce';
75
+ readonly type: "announce";
76
76
  readonly trackNamespace: string[];
77
77
  readonly parameters: Map<bigint, Uint8Array>;
78
78
  }
79
79
  interface AnnounceOk extends BaseMessage {
80
- readonly type: 'announce_ok';
80
+ readonly type: "announce_ok";
81
81
  readonly trackNamespace: string[];
82
82
  }
83
83
  interface AnnounceError extends BaseMessage {
84
- readonly type: 'announce_error';
84
+ readonly type: "announce_error";
85
85
  readonly trackNamespace: string[];
86
86
  readonly errorCode: bigint;
87
87
  readonly reasonPhrase: string;
88
88
  }
89
89
  interface AnnounceCancel extends BaseMessage {
90
- readonly type: 'announce_cancel';
90
+ readonly type: "announce_cancel";
91
91
  readonly trackNamespace: string[];
92
92
  readonly errorCode: bigint;
93
93
  readonly reasonPhrase: string;
94
94
  }
95
95
  interface Unannounce extends BaseMessage {
96
- readonly type: 'unannounce';
96
+ readonly type: "unannounce";
97
97
  readonly trackNamespace: string[];
98
98
  }
99
99
  interface TrackStatusRequest extends BaseMessage {
100
- readonly type: 'track_status_request';
100
+ readonly type: "track_status_request";
101
101
  readonly trackNamespace: string[];
102
102
  readonly trackName: string;
103
103
  }
104
104
  interface TrackStatus extends BaseMessage {
105
- readonly type: 'track_status';
105
+ readonly type: "track_status";
106
106
  readonly trackNamespace: string[];
107
107
  readonly trackName: string;
108
108
  readonly statusCode: bigint;
@@ -110,8 +110,7 @@ interface TrackStatus extends BaseMessage {
110
110
  readonly lastObjectId: bigint;
111
111
  }
112
112
  interface ObjectStream extends BaseMessage {
113
- readonly type: 'object_stream';
114
- readonly subscribeId: bigint;
113
+ readonly type: "object_stream";
115
114
  readonly trackAlias: bigint;
116
115
  readonly groupId: bigint;
117
116
  readonly objectId: bigint;
@@ -120,8 +119,7 @@ interface ObjectStream extends BaseMessage {
120
119
  readonly payload: Uint8Array;
121
120
  }
122
121
  interface ObjectDatagram extends BaseMessage {
123
- readonly type: 'object_datagram';
124
- readonly subscribeId: bigint;
122
+ readonly type: "object_datagram";
125
123
  readonly trackAlias: bigint;
126
124
  readonly groupId: bigint;
127
125
  readonly objectId: bigint;
@@ -130,55 +128,52 @@ interface ObjectDatagram extends BaseMessage {
130
128
  readonly payload: Uint8Array;
131
129
  }
132
130
  interface StreamHeaderTrack extends BaseMessage {
133
- readonly type: 'stream_header_track';
134
- readonly subscribeId: bigint;
131
+ readonly type: "stream_header_track";
135
132
  readonly trackAlias: bigint;
136
133
  readonly publisherPriority: number;
137
134
  }
138
135
  interface StreamHeaderGroup extends BaseMessage {
139
- readonly type: 'stream_header_group';
140
- readonly subscribeId: bigint;
136
+ readonly type: "stream_header_group";
141
137
  readonly trackAlias: bigint;
142
138
  readonly groupId: bigint;
143
139
  readonly publisherPriority: number;
144
140
  }
145
141
  interface StreamHeaderSubgroup extends BaseMessage {
146
- readonly type: 'stream_header_subgroup';
147
- readonly subscribeId: bigint;
142
+ readonly type: "stream_header_subgroup";
148
143
  readonly trackAlias: bigint;
149
144
  readonly groupId: bigint;
150
145
  readonly subgroupId: bigint;
151
146
  readonly publisherPriority: number;
152
147
  }
153
148
  interface GoAway extends BaseMessage {
154
- readonly type: 'goaway';
149
+ readonly type: "goaway";
155
150
  readonly newSessionUri: string;
156
151
  }
157
152
  interface SubscribeAnnounces extends BaseMessage {
158
- readonly type: 'subscribe_announces';
153
+ readonly type: "subscribe_announces";
159
154
  readonly trackNamespace: string[];
160
155
  readonly parameters: Map<bigint, Uint8Array>;
161
156
  }
162
157
  interface SubscribeAnnouncesOk extends BaseMessage {
163
- readonly type: 'subscribe_announces_ok';
158
+ readonly type: "subscribe_announces_ok";
164
159
  readonly trackNamespace: string[];
165
160
  }
166
161
  interface SubscribeAnnouncesError extends BaseMessage {
167
- readonly type: 'subscribe_announces_error';
162
+ readonly type: "subscribe_announces_error";
168
163
  readonly trackNamespace: string[];
169
164
  readonly errorCode: bigint;
170
165
  readonly reasonPhrase: string;
171
166
  }
172
167
  interface UnsubscribeAnnounces extends BaseMessage {
173
- readonly type: 'unsubscribe_announces';
168
+ readonly type: "unsubscribe_announces";
174
169
  readonly trackNamespace: string[];
175
170
  }
176
171
  interface MaxSubscribeId extends BaseMessage {
177
- readonly type: 'max_subscribe_id';
172
+ readonly type: "max_subscribe_id";
178
173
  readonly subscribeId: bigint;
179
174
  }
180
175
  interface Fetch extends BaseMessage {
181
- readonly type: 'fetch';
176
+ readonly type: "fetch";
182
177
  readonly subscribeId: bigint;
183
178
  readonly trackNamespace: string[];
184
179
  readonly trackName: string;
@@ -191,7 +186,7 @@ interface Fetch extends BaseMessage {
191
186
  readonly parameters: Map<bigint, Uint8Array>;
192
187
  }
193
188
  interface FetchOk extends BaseMessage {
194
- readonly type: 'fetch_ok';
189
+ readonly type: "fetch_ok";
195
190
  readonly subscribeId: bigint;
196
191
  readonly groupOrder: GroupOrderValue;
197
192
  readonly endOfTrack: boolean;
@@ -200,13 +195,13 @@ interface FetchOk extends BaseMessage {
200
195
  readonly parameters: Map<bigint, Uint8Array>;
201
196
  }
202
197
  interface FetchError extends BaseMessage {
203
- readonly type: 'fetch_error';
198
+ readonly type: "fetch_error";
204
199
  readonly subscribeId: bigint;
205
200
  readonly errorCode: bigint;
206
201
  readonly reasonPhrase: string;
207
202
  }
208
203
  interface FetchCancel extends BaseMessage {
209
- readonly type: 'fetch_cancel';
204
+ readonly type: "fetch_cancel";
210
205
  readonly subscribeId: bigint;
211
206
  }
212
207
  type MoqtMessage = ClientSetup | ServerSetup | Subscribe | SubscribeOk | SubscribeError | SubscribeDone | SubscribeUpdate | Unsubscribe | Announce | AnnounceOk | AnnounceError | AnnounceCancel | Unannounce | TrackStatusRequest | TrackStatus | ObjectStream | ObjectDatagram | StreamHeaderTrack | StreamHeaderGroup | StreamHeaderSubgroup | GoAway | SubscribeAnnounces | SubscribeAnnouncesOk | SubscribeAnnouncesError | UnsubscribeAnnounces | MaxSubscribeId | Fetch | FetchOk | FetchError | FetchCancel;
@@ -231,7 +226,7 @@ type DecodeResult<T> = {
231
226
  ok: false;
232
227
  error: DecodeError;
233
228
  };
234
- type DecodeErrorCode = 'UNEXPECTED_END' | 'INVALID_VARINT' | 'UNKNOWN_MESSAGE_TYPE' | 'INVALID_PARAMETER' | 'CONSTRAINT_VIOLATION';
229
+ type DecodeErrorCode = "UNEXPECTED_END" | "INVALID_VARINT" | "UNKNOWN_MESSAGE_TYPE" | "INVALID_PARAMETER" | "CONSTRAINT_VIOLATION";
235
230
  declare class DecodeError extends Error {
236
231
  readonly code: DecodeErrorCode;
237
232
  readonly offset: number;
@@ -0,0 +1,262 @@
1
+ interface UnknownParam {
2
+ readonly id: string;
3
+ readonly length: number;
4
+ readonly raw_hex: string;
5
+ }
6
+ interface Draft08SetupParams {
7
+ path?: string;
8
+ max_subscribe_id?: bigint;
9
+ unknown?: UnknownParam[];
10
+ }
11
+ interface Draft08Params {
12
+ authorization_info?: string;
13
+ delivery_timeout?: bigint;
14
+ max_cache_duration?: bigint;
15
+ unknown?: UnknownParam[];
16
+ }
17
+ type Draft08MessageType = "client_setup" | "server_setup" | "subscribe" | "subscribe_ok" | "subscribe_error" | "subscribe_update" | "subscribe_done" | "unsubscribe" | "announce" | "announce_ok" | "announce_error" | "unannounce" | "announce_cancel" | "subscribe_announces" | "subscribe_announces_ok" | "subscribe_announces_error" | "unsubscribe_announces" | "fetch" | "fetch_ok" | "fetch_error" | "fetch_cancel" | "track_status_request" | "track_status" | "goaway" | "max_subscribe_id" | "subscribes_blocked";
18
+ interface Draft08BaseMessage {
19
+ readonly type: Draft08MessageType;
20
+ }
21
+ interface Draft08ClientSetup extends Draft08BaseMessage {
22
+ readonly type: "client_setup";
23
+ readonly supported_versions: bigint[];
24
+ readonly parameters: Draft08SetupParams;
25
+ }
26
+ interface Draft08ServerSetup extends Draft08BaseMessage {
27
+ readonly type: "server_setup";
28
+ readonly selected_version: bigint;
29
+ readonly parameters: Draft08SetupParams;
30
+ }
31
+ interface Draft08Subscribe extends Draft08BaseMessage {
32
+ readonly type: "subscribe";
33
+ readonly subscribe_id: bigint;
34
+ readonly track_alias: bigint;
35
+ readonly track_namespace: string[];
36
+ readonly track_name: string;
37
+ readonly subscriber_priority: number;
38
+ readonly group_order: number;
39
+ readonly filter_type: bigint;
40
+ readonly start_group?: bigint;
41
+ readonly start_object?: bigint;
42
+ readonly end_group?: bigint;
43
+ readonly parameters: Draft08Params;
44
+ }
45
+ interface Draft08SubscribeOk extends Draft08BaseMessage {
46
+ readonly type: "subscribe_ok";
47
+ readonly subscribe_id: bigint;
48
+ readonly expires: bigint;
49
+ readonly group_order: number;
50
+ readonly content_exists: number;
51
+ readonly largest_group_id?: bigint;
52
+ readonly largest_object_id?: bigint;
53
+ readonly parameters: Draft08Params;
54
+ }
55
+ interface Draft08SubscribeError extends Draft08BaseMessage {
56
+ readonly type: "subscribe_error";
57
+ readonly subscribe_id: bigint;
58
+ readonly error_code: bigint;
59
+ readonly reason_phrase: string;
60
+ readonly track_alias: bigint;
61
+ }
62
+ interface Draft08SubscribeDone extends Draft08BaseMessage {
63
+ readonly type: "subscribe_done";
64
+ readonly subscribe_id: bigint;
65
+ readonly status_code: bigint;
66
+ readonly stream_count: bigint;
67
+ readonly reason_phrase: string;
68
+ }
69
+ interface Draft08SubscribeUpdate extends Draft08BaseMessage {
70
+ readonly type: "subscribe_update";
71
+ readonly subscribe_id: bigint;
72
+ readonly start_group: bigint;
73
+ readonly start_object: bigint;
74
+ readonly end_group: bigint;
75
+ readonly subscriber_priority: number;
76
+ readonly parameters: Draft08Params;
77
+ }
78
+ interface Draft08Unsubscribe extends Draft08BaseMessage {
79
+ readonly type: "unsubscribe";
80
+ readonly subscribe_id: bigint;
81
+ }
82
+ interface Draft08Announce extends Draft08BaseMessage {
83
+ readonly type: "announce";
84
+ readonly track_namespace: string[];
85
+ readonly parameters: Draft08Params;
86
+ }
87
+ interface Draft08AnnounceOk extends Draft08BaseMessage {
88
+ readonly type: "announce_ok";
89
+ readonly track_namespace: string[];
90
+ }
91
+ interface Draft08AnnounceError extends Draft08BaseMessage {
92
+ readonly type: "announce_error";
93
+ readonly track_namespace: string[];
94
+ readonly error_code: bigint;
95
+ readonly reason_phrase: string;
96
+ }
97
+ interface Draft08Unannounce extends Draft08BaseMessage {
98
+ readonly type: "unannounce";
99
+ readonly track_namespace: string[];
100
+ }
101
+ interface Draft08AnnounceCancel extends Draft08BaseMessage {
102
+ readonly type: "announce_cancel";
103
+ readonly track_namespace: string[];
104
+ readonly error_code: bigint;
105
+ readonly reason_phrase: string;
106
+ }
107
+ interface Draft08SubscribeAnnounces extends Draft08BaseMessage {
108
+ readonly type: "subscribe_announces";
109
+ readonly track_namespace_prefix: string[];
110
+ readonly parameters: Draft08Params;
111
+ }
112
+ interface Draft08SubscribeAnnouncesOk extends Draft08BaseMessage {
113
+ readonly type: "subscribe_announces_ok";
114
+ readonly track_namespace_prefix: string[];
115
+ }
116
+ interface Draft08SubscribeAnnouncesError extends Draft08BaseMessage {
117
+ readonly type: "subscribe_announces_error";
118
+ readonly track_namespace_prefix: string[];
119
+ readonly error_code: bigint;
120
+ readonly reason_phrase: string;
121
+ }
122
+ interface Draft08UnsubscribeAnnounces extends Draft08BaseMessage {
123
+ readonly type: "unsubscribe_announces";
124
+ readonly track_namespace_prefix: string[];
125
+ }
126
+ interface StandaloneFetch {
127
+ readonly track_namespace: string[];
128
+ readonly track_name: string;
129
+ readonly start_group: bigint;
130
+ readonly start_object: bigint;
131
+ readonly end_group: bigint;
132
+ readonly end_object: bigint;
133
+ }
134
+ interface JoiningFetch {
135
+ readonly joining_subscribe_id: bigint;
136
+ readonly preceding_group_offset: bigint;
137
+ }
138
+ interface Draft08Fetch extends Draft08BaseMessage {
139
+ readonly type: "fetch";
140
+ readonly subscribe_id: bigint;
141
+ readonly subscriber_priority: number;
142
+ readonly group_order: number;
143
+ readonly fetch_type: bigint;
144
+ readonly standalone?: StandaloneFetch;
145
+ readonly joining?: JoiningFetch;
146
+ readonly parameters: Draft08Params;
147
+ }
148
+ interface Draft08FetchOk extends Draft08BaseMessage {
149
+ readonly type: "fetch_ok";
150
+ readonly subscribe_id: bigint;
151
+ readonly group_order: number;
152
+ readonly end_of_track: number;
153
+ readonly largest_group_id: bigint;
154
+ readonly largest_object_id: bigint;
155
+ readonly parameters: Draft08Params;
156
+ }
157
+ interface Draft08FetchError extends Draft08BaseMessage {
158
+ readonly type: "fetch_error";
159
+ readonly subscribe_id: bigint;
160
+ readonly error_code: bigint;
161
+ readonly reason_phrase: string;
162
+ }
163
+ interface Draft08FetchCancel extends Draft08BaseMessage {
164
+ readonly type: "fetch_cancel";
165
+ readonly subscribe_id: bigint;
166
+ }
167
+ interface Draft08TrackStatusRequest extends Draft08BaseMessage {
168
+ readonly type: "track_status_request";
169
+ readonly track_namespace: string[];
170
+ readonly track_name: string;
171
+ }
172
+ interface Draft08TrackStatus extends Draft08BaseMessage {
173
+ readonly type: "track_status";
174
+ readonly track_namespace: string[];
175
+ readonly track_name: string;
176
+ readonly status_code: bigint;
177
+ readonly last_group_id: bigint;
178
+ readonly last_object_id: bigint;
179
+ }
180
+ interface Draft08GoAway extends Draft08BaseMessage {
181
+ readonly type: "goaway";
182
+ readonly new_session_uri: string;
183
+ }
184
+ interface Draft08MaxSubscribeId extends Draft08BaseMessage {
185
+ readonly type: "max_subscribe_id";
186
+ readonly subscribe_id: bigint;
187
+ }
188
+ interface Draft08SubscribesBlocked extends Draft08BaseMessage {
189
+ readonly type: "subscribes_blocked";
190
+ readonly maximum_subscribe_id: bigint;
191
+ }
192
+ type Draft08Message = Draft08ClientSetup | Draft08ServerSetup | Draft08Subscribe | Draft08SubscribeOk | Draft08SubscribeError | Draft08SubscribeUpdate | Draft08SubscribeDone | Draft08Unsubscribe | Draft08Announce | Draft08AnnounceOk | Draft08AnnounceError | Draft08Unannounce | Draft08AnnounceCancel | Draft08SubscribeAnnounces | Draft08SubscribeAnnouncesOk | Draft08SubscribeAnnouncesError | Draft08UnsubscribeAnnounces | Draft08Fetch | Draft08FetchOk | Draft08FetchError | Draft08FetchCancel | Draft08TrackStatusRequest | Draft08TrackStatus | Draft08GoAway | Draft08MaxSubscribeId | Draft08SubscribesBlocked;
193
+ interface ObjectPayload {
194
+ readonly type: "object";
195
+ readonly objectId: bigint;
196
+ readonly extensionCount: bigint;
197
+ readonly payloadLength: number;
198
+ readonly status?: bigint;
199
+ readonly payload: Uint8Array;
200
+ }
201
+ interface SubgroupStream {
202
+ readonly type: "subgroup";
203
+ readonly streamTypeId: 0x04;
204
+ readonly trackAlias: bigint;
205
+ readonly groupId: bigint;
206
+ readonly subgroupId: bigint;
207
+ readonly publisherPriority: number;
208
+ readonly objects: ObjectPayload[];
209
+ }
210
+ interface DatagramObject {
211
+ readonly type: "datagram";
212
+ readonly streamTypeId: 0x01;
213
+ readonly trackAlias: bigint;
214
+ readonly groupId: bigint;
215
+ readonly objectId: bigint;
216
+ readonly publisherPriority: number;
217
+ readonly extensionCount: bigint;
218
+ readonly objectStatus: bigint;
219
+ readonly payloadLength: number;
220
+ readonly payload: Uint8Array;
221
+ }
222
+ interface DatagramStatusObject {
223
+ readonly type: "datagram_status";
224
+ readonly streamTypeId: 0x02;
225
+ readonly trackAlias: bigint;
226
+ readonly groupId: bigint;
227
+ readonly objectId: bigint;
228
+ readonly publisherPriority: number;
229
+ readonly objectStatus: bigint;
230
+ }
231
+ interface FetchObjectPayload {
232
+ readonly type: "object";
233
+ readonly groupId: bigint;
234
+ readonly subgroupId: bigint;
235
+ readonly objectId: bigint;
236
+ readonly publisherPriority: number;
237
+ readonly extensionCount: bigint;
238
+ readonly payloadLength: number;
239
+ readonly status?: bigint;
240
+ readonly payload: Uint8Array;
241
+ }
242
+ interface FetchStream {
243
+ readonly type: "fetch";
244
+ readonly subscribeId: bigint;
245
+ readonly objects: FetchObjectPayload[];
246
+ }
247
+ type Draft08DataStream = SubgroupStream | DatagramObject | DatagramStatusObject | FetchStream;
248
+ interface SubgroupStreamHeader {
249
+ readonly type: "subgroup_header";
250
+ readonly trackAlias: bigint;
251
+ readonly groupId: bigint;
252
+ readonly subgroupId: bigint;
253
+ readonly publisherPriority: number;
254
+ }
255
+ interface FetchStreamHeader {
256
+ readonly type: "fetch_header";
257
+ readonly subscribeId: bigint;
258
+ }
259
+ type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
260
+ type DataStreamEvent = DataStreamHeader | ObjectPayload;
261
+
262
+ export type { Draft08SubscribeError as A, Draft08SubscribeOk as B, Draft08SubscribeUpdate as C, Draft08DataStream as D, Draft08SubscribesBlocked as E, Draft08TrackStatus as F, Draft08TrackStatusRequest as G, Draft08Unannounce as H, Draft08Unsubscribe as I, Draft08UnsubscribeAnnounces as J, FetchObjectPayload as K, FetchStream as L, FetchStreamHeader as M, JoiningFetch as N, ObjectPayload as O, SubgroupStream as P, SubgroupStreamHeader as Q, StandaloneFetch as S, UnknownParam as U, Draft08Message as a, Draft08Params as b, Draft08SetupParams as c, Draft08MessageType as d, DataStreamEvent as e, DataStreamHeader as f, DatagramObject as g, DatagramStatusObject as h, Draft08Announce as i, Draft08AnnounceCancel as j, Draft08AnnounceError as k, Draft08AnnounceOk as l, Draft08BaseMessage as m, Draft08ClientSetup as n, Draft08Fetch as o, Draft08FetchCancel as p, Draft08FetchError as q, Draft08FetchOk as r, Draft08GoAway as s, Draft08MaxSubscribeId as t, Draft08ServerSetup as u, Draft08Subscribe as v, Draft08SubscribeAnnounces as w, Draft08SubscribeAnnouncesError as x, Draft08SubscribeAnnouncesOk as y, Draft08SubscribeDone as z };