@svta/cml-cmcd 0.19.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 (276) hide show
  1. package/LICENSE +201 -0
  2. package/dist/CMCD_COMMON_KEYS.d.ts +8 -0
  3. package/dist/CMCD_COMMON_KEYS.d.ts.map +1 -0
  4. package/dist/CMCD_COMMON_KEYS.js +39 -0
  5. package/dist/CMCD_COMMON_KEYS.js.map +1 -0
  6. package/dist/CMCD_DEFAULT_TIME_INTERVAL.d.ts +8 -0
  7. package/dist/CMCD_DEFAULT_TIME_INTERVAL.d.ts.map +1 -0
  8. package/dist/CMCD_DEFAULT_TIME_INTERVAL.js +8 -0
  9. package/dist/CMCD_DEFAULT_TIME_INTERVAL.js.map +1 -0
  10. package/dist/CMCD_EVENT_KEYS.d.ts +8 -0
  11. package/dist/CMCD_EVENT_KEYS.d.ts.map +1 -0
  12. package/dist/CMCD_EVENT_KEYS.js +10 -0
  13. package/dist/CMCD_EVENT_KEYS.js.map +1 -0
  14. package/dist/CMCD_EVENT_MODE.d.ts +8 -0
  15. package/dist/CMCD_EVENT_MODE.d.ts.map +1 -0
  16. package/dist/CMCD_EVENT_MODE.js +8 -0
  17. package/dist/CMCD_EVENT_MODE.js.map +1 -0
  18. package/dist/CMCD_FORMATTER_MAP.d.ts +9 -0
  19. package/dist/CMCD_FORMATTER_MAP.d.ts.map +1 -0
  20. package/dist/CMCD_FORMATTER_MAP.js +71 -0
  21. package/dist/CMCD_FORMATTER_MAP.js.map +1 -0
  22. package/dist/CMCD_HEADERS.d.ts +8 -0
  23. package/dist/CMCD_HEADERS.d.ts.map +1 -0
  24. package/dist/CMCD_HEADERS.js +8 -0
  25. package/dist/CMCD_HEADERS.js.map +1 -0
  26. package/dist/CMCD_HEADER_MAP.d.ts +10 -0
  27. package/dist/CMCD_HEADER_MAP.d.ts.map +1 -0
  28. package/dist/CMCD_HEADER_MAP.js +64 -0
  29. package/dist/CMCD_HEADER_MAP.js.map +1 -0
  30. package/dist/CMCD_JSON.d.ts +10 -0
  31. package/dist/CMCD_JSON.d.ts.map +1 -0
  32. package/dist/CMCD_JSON.js +10 -0
  33. package/dist/CMCD_JSON.js.map +1 -0
  34. package/dist/CMCD_KEYS.d.ts +9 -0
  35. package/dist/CMCD_KEYS.d.ts.map +1 -0
  36. package/dist/CMCD_KEYS.js +14 -0
  37. package/dist/CMCD_KEYS.js.map +1 -0
  38. package/dist/CMCD_OBJECT.d.ts +8 -0
  39. package/dist/CMCD_OBJECT.d.ts.map +1 -0
  40. package/dist/CMCD_OBJECT.js +8 -0
  41. package/dist/CMCD_OBJECT.js.map +1 -0
  42. package/dist/CMCD_PARAM.d.ts +8 -0
  43. package/dist/CMCD_PARAM.d.ts.map +1 -0
  44. package/dist/CMCD_PARAM.js +8 -0
  45. package/dist/CMCD_PARAM.js.map +1 -0
  46. package/dist/CMCD_QUERY.d.ts +8 -0
  47. package/dist/CMCD_QUERY.d.ts.map +1 -0
  48. package/dist/CMCD_QUERY.js +8 -0
  49. package/dist/CMCD_QUERY.js.map +1 -0
  50. package/dist/CMCD_REQUEST.d.ts +8 -0
  51. package/dist/CMCD_REQUEST.d.ts.map +1 -0
  52. package/dist/CMCD_REQUEST.js +8 -0
  53. package/dist/CMCD_REQUEST.js.map +1 -0
  54. package/dist/CMCD_REQUEST_KEYS.d.ts +8 -0
  55. package/dist/CMCD_REQUEST_KEYS.d.ts.map +1 -0
  56. package/dist/CMCD_REQUEST_KEYS.js +15 -0
  57. package/dist/CMCD_REQUEST_KEYS.js.map +1 -0
  58. package/dist/CMCD_REQUEST_MODE.d.ts +8 -0
  59. package/dist/CMCD_REQUEST_MODE.d.ts.map +1 -0
  60. package/dist/CMCD_REQUEST_MODE.js +8 -0
  61. package/dist/CMCD_REQUEST_MODE.js.map +1 -0
  62. package/dist/CMCD_RESPONSE_KEYS.d.ts +8 -0
  63. package/dist/CMCD_RESPONSE_KEYS.d.ts.map +1 -0
  64. package/dist/CMCD_RESPONSE_KEYS.js +17 -0
  65. package/dist/CMCD_RESPONSE_KEYS.js.map +1 -0
  66. package/dist/CMCD_RESPONSE_MODE.d.ts +8 -0
  67. package/dist/CMCD_RESPONSE_MODE.d.ts.map +1 -0
  68. package/dist/CMCD_RESPONSE_MODE.js +8 -0
  69. package/dist/CMCD_RESPONSE_MODE.js.map +1 -0
  70. package/dist/CMCD_SESSION.d.ts +8 -0
  71. package/dist/CMCD_SESSION.d.ts.map +1 -0
  72. package/dist/CMCD_SESSION.js +8 -0
  73. package/dist/CMCD_SESSION.js.map +1 -0
  74. package/dist/CMCD_STATUS.d.ts +8 -0
  75. package/dist/CMCD_STATUS.d.ts.map +1 -0
  76. package/dist/CMCD_STATUS.js +8 -0
  77. package/dist/CMCD_STATUS.js.map +1 -0
  78. package/dist/CMCD_V1.d.ts +8 -0
  79. package/dist/CMCD_V1.d.ts.map +1 -0
  80. package/dist/CMCD_V1.js +8 -0
  81. package/dist/CMCD_V1.js.map +1 -0
  82. package/dist/CMCD_V1_KEYS.d.ts +8 -0
  83. package/dist/CMCD_V1_KEYS.d.ts.map +1 -0
  84. package/dist/CMCD_V1_KEYS.js +27 -0
  85. package/dist/CMCD_V1_KEYS.js.map +1 -0
  86. package/dist/CMCD_V2.d.ts +8 -0
  87. package/dist/CMCD_V2.d.ts.map +1 -0
  88. package/dist/CMCD_V2.js +8 -0
  89. package/dist/CMCD_V2.js.map +1 -0
  90. package/dist/Cmcd.d.ts +214 -0
  91. package/dist/Cmcd.d.ts.map +1 -0
  92. package/dist/Cmcd.js +2 -0
  93. package/dist/Cmcd.js.map +1 -0
  94. package/dist/CmcdCustomKey.d.ts +11 -0
  95. package/dist/CmcdCustomKey.d.ts.map +1 -0
  96. package/dist/CmcdCustomKey.js +2 -0
  97. package/dist/CmcdCustomKey.js.map +1 -0
  98. package/dist/CmcdData.d.ts +12 -0
  99. package/dist/CmcdData.d.ts.map +1 -0
  100. package/dist/CmcdData.js +2 -0
  101. package/dist/CmcdData.js.map +1 -0
  102. package/dist/CmcdEncodeOptions.d.ts +45 -0
  103. package/dist/CmcdEncodeOptions.d.ts.map +1 -0
  104. package/dist/CmcdEncodeOptions.js +2 -0
  105. package/dist/CmcdEncodeOptions.js.map +1 -0
  106. package/dist/CmcdEncoding.d.ts +20 -0
  107. package/dist/CmcdEncoding.d.ts.map +1 -0
  108. package/dist/CmcdEncoding.js +15 -0
  109. package/dist/CmcdEncoding.js.map +1 -0
  110. package/dist/CmcdEvent.d.ts +49 -0
  111. package/dist/CmcdEvent.d.ts.map +1 -0
  112. package/dist/CmcdEvent.js +2 -0
  113. package/dist/CmcdEvent.js.map +1 -0
  114. package/dist/CmcdEventExcludedKeys.d.ts +8 -0
  115. package/dist/CmcdEventExcludedKeys.d.ts.map +1 -0
  116. package/dist/CmcdEventExcludedKeys.js +2 -0
  117. package/dist/CmcdEventExcludedKeys.js.map +1 -0
  118. package/dist/CmcdEventType.d.ts +52 -0
  119. package/dist/CmcdEventType.d.ts.map +1 -0
  120. package/dist/CmcdEventType.js +47 -0
  121. package/dist/CmcdEventType.js.map +1 -0
  122. package/dist/CmcdFormatter.d.ts +16 -0
  123. package/dist/CmcdFormatter.d.ts.map +1 -0
  124. package/dist/CmcdFormatter.js +2 -0
  125. package/dist/CmcdFormatter.js.map +1 -0
  126. package/dist/CmcdFormatterMap.d.ts +10 -0
  127. package/dist/CmcdFormatterMap.d.ts.map +1 -0
  128. package/dist/CmcdFormatterMap.js +2 -0
  129. package/dist/CmcdFormatterMap.js.map +1 -0
  130. package/dist/CmcdFormatterOptions.d.ts +22 -0
  131. package/dist/CmcdFormatterOptions.d.ts.map +1 -0
  132. package/dist/CmcdFormatterOptions.js +2 -0
  133. package/dist/CmcdFormatterOptions.js.map +1 -0
  134. package/dist/CmcdFormatters.d.ts +11 -0
  135. package/dist/CmcdFormatters.d.ts.map +1 -0
  136. package/dist/CmcdFormatters.js +11 -0
  137. package/dist/CmcdFormatters.js.map +1 -0
  138. package/dist/CmcdHeaderField.d.ts +36 -0
  139. package/dist/CmcdHeaderField.d.ts.map +1 -0
  140. package/dist/CmcdHeaderField.js +31 -0
  141. package/dist/CmcdHeaderField.js.map +1 -0
  142. package/dist/CmcdHeaderMap.d.ts +10 -0
  143. package/dist/CmcdHeaderMap.d.ts.map +1 -0
  144. package/dist/CmcdHeaderMap.js +2 -0
  145. package/dist/CmcdHeaderMap.js.map +1 -0
  146. package/dist/CmcdHeadersMap.d.ts +12 -0
  147. package/dist/CmcdHeadersMap.d.ts.map +1 -0
  148. package/dist/CmcdHeadersMap.js +2 -0
  149. package/dist/CmcdHeadersMap.js.map +1 -0
  150. package/dist/CmcdKey.d.ts +9 -0
  151. package/dist/CmcdKey.d.ts.map +1 -0
  152. package/dist/CmcdKey.js +2 -0
  153. package/dist/CmcdKey.js.map +1 -0
  154. package/dist/CmcdObjectType.d.ts +15 -0
  155. package/dist/CmcdObjectType.d.ts.map +1 -0
  156. package/dist/CmcdObjectType.js +11 -0
  157. package/dist/CmcdObjectType.js.map +1 -0
  158. package/dist/CmcdPlayerState.d.ts +56 -0
  159. package/dist/CmcdPlayerState.d.ts.map +1 -0
  160. package/dist/CmcdPlayerState.js +51 -0
  161. package/dist/CmcdPlayerState.js.map +1 -0
  162. package/dist/CmcdReportTarget.d.ts +44 -0
  163. package/dist/CmcdReportTarget.d.ts.map +1 -0
  164. package/dist/CmcdReportTarget.js +2 -0
  165. package/dist/CmcdReportTarget.js.map +1 -0
  166. package/dist/CmcdReportingMode.d.ts +31 -0
  167. package/dist/CmcdReportingMode.d.ts.map +1 -0
  168. package/dist/CmcdReportingMode.js +26 -0
  169. package/dist/CmcdReportingMode.js.map +1 -0
  170. package/dist/CmcdRequest.d.ts +222 -0
  171. package/dist/CmcdRequest.d.ts.map +1 -0
  172. package/dist/CmcdRequest.js +2 -0
  173. package/dist/CmcdRequest.js.map +1 -0
  174. package/dist/CmcdResponse.d.ts +84 -0
  175. package/dist/CmcdResponse.d.ts.map +1 -0
  176. package/dist/CmcdResponse.js +2 -0
  177. package/dist/CmcdResponse.js.map +1 -0
  178. package/dist/CmcdStreamType.d.ts +15 -0
  179. package/dist/CmcdStreamType.d.ts.map +1 -0
  180. package/dist/CmcdStreamType.js +11 -0
  181. package/dist/CmcdStreamType.js.map +1 -0
  182. package/dist/CmcdStreamingFormat.d.ts +15 -0
  183. package/dist/CmcdStreamingFormat.d.ts.map +1 -0
  184. package/dist/CmcdStreamingFormat.js +11 -0
  185. package/dist/CmcdStreamingFormat.js.map +1 -0
  186. package/dist/CmcdTransmissionMode.d.ts +33 -0
  187. package/dist/CmcdTransmissionMode.d.ts.map +1 -0
  188. package/dist/CmcdTransmissionMode.js +28 -0
  189. package/dist/CmcdTransmissionMode.js.map +1 -0
  190. package/dist/CmcdValue.d.ts +13 -0
  191. package/dist/CmcdValue.d.ts.map +1 -0
  192. package/dist/CmcdValue.js +2 -0
  193. package/dist/CmcdValue.js.map +1 -0
  194. package/dist/appendCmcdHeaders.d.ts +19 -0
  195. package/dist/appendCmcdHeaders.d.ts.map +1 -0
  196. package/dist/appendCmcdHeaders.js +20 -0
  197. package/dist/appendCmcdHeaders.js.map +1 -0
  198. package/dist/appendCmcdQuery.d.ts +19 -0
  199. package/dist/appendCmcdQuery.d.ts.map +1 -0
  200. package/dist/appendCmcdQuery.js +31 -0
  201. package/dist/appendCmcdQuery.js.map +1 -0
  202. package/dist/decodeCmcd.d.ts +16 -0
  203. package/dist/decodeCmcd.d.ts.map +1 -0
  204. package/dist/decodeCmcd.js +45 -0
  205. package/dist/decodeCmcd.js.map +1 -0
  206. package/dist/encodeCmcd.d.ts +18 -0
  207. package/dist/encodeCmcd.d.ts.map +1 -0
  208. package/dist/encodeCmcd.js +23 -0
  209. package/dist/encodeCmcd.js.map +1 -0
  210. package/dist/fromCmcdHeaders.d.ts +16 -0
  211. package/dist/fromCmcdHeaders.d.ts.map +1 -0
  212. package/dist/fromCmcdHeaders.js +29 -0
  213. package/dist/fromCmcdHeaders.js.map +1 -0
  214. package/dist/fromCmcdQuery.d.ts +16 -0
  215. package/dist/fromCmcdQuery.d.ts.map +1 -0
  216. package/dist/fromCmcdQuery.js +23 -0
  217. package/dist/fromCmcdQuery.js.map +1 -0
  218. package/dist/fromCmcdUrl.d.ts +16 -0
  219. package/dist/fromCmcdUrl.d.ts.map +1 -0
  220. package/dist/fromCmcdUrl.js +18 -0
  221. package/dist/fromCmcdUrl.js.map +1 -0
  222. package/dist/groupCmcdHeaders.d.ts +16 -0
  223. package/dist/groupCmcdHeaders.d.ts.map +1 -0
  224. package/dist/groupCmcdHeaders.js +37 -0
  225. package/dist/groupCmcdHeaders.js.map +1 -0
  226. package/dist/index.d.ts +74 -0
  227. package/dist/index.d.ts.map +1 -0
  228. package/dist/index.js +58 -0
  229. package/dist/index.js.map +1 -0
  230. package/dist/isCmcdCustomKey.d.ts +13 -0
  231. package/dist/isCmcdCustomKey.d.ts.map +1 -0
  232. package/dist/isCmcdCustomKey.js +15 -0
  233. package/dist/isCmcdCustomKey.js.map +1 -0
  234. package/dist/isCmcdEventKey.d.ts +16 -0
  235. package/dist/isCmcdEventKey.d.ts.map +1 -0
  236. package/dist/isCmcdEventKey.js +22 -0
  237. package/dist/isCmcdEventKey.js.map +1 -0
  238. package/dist/isCmcdRequestKey.d.ts +16 -0
  239. package/dist/isCmcdRequestKey.d.ts.map +1 -0
  240. package/dist/isCmcdRequestKey.js +22 -0
  241. package/dist/isCmcdRequestKey.js.map +1 -0
  242. package/dist/isCmcdResponseKey.d.ts +16 -0
  243. package/dist/isCmcdResponseKey.d.ts.map +1 -0
  244. package/dist/isCmcdResponseKey.js +24 -0
  245. package/dist/isCmcdResponseKey.js.map +1 -0
  246. package/dist/isCmcdV1Key.d.ts +16 -0
  247. package/dist/isCmcdV1Key.d.ts.map +1 -0
  248. package/dist/isCmcdV1Key.js +19 -0
  249. package/dist/isCmcdV1Key.js.map +1 -0
  250. package/dist/prepareCmcdData.d.ts +13 -0
  251. package/dist/prepareCmcdData.d.ts.map +1 -0
  252. package/dist/prepareCmcdData.js +88 -0
  253. package/dist/prepareCmcdData.js.map +1 -0
  254. package/dist/toCmcdHeaders.d.ts +19 -0
  255. package/dist/toCmcdHeaders.d.ts.map +1 -0
  256. package/dist/toCmcdHeaders.js +34 -0
  257. package/dist/toCmcdHeaders.js.map +1 -0
  258. package/dist/toCmcdJson.d.ts +17 -0
  259. package/dist/toCmcdJson.d.ts.map +1 -0
  260. package/dist/toCmcdJson.js +21 -0
  261. package/dist/toCmcdJson.js.map +1 -0
  262. package/dist/toCmcdQuery.d.ts +18 -0
  263. package/dist/toCmcdQuery.d.ts.map +1 -0
  264. package/dist/toCmcdQuery.js +24 -0
  265. package/dist/toCmcdQuery.js.map +1 -0
  266. package/dist/toCmcdReport.d.ts +22 -0
  267. package/dist/toCmcdReport.d.ts.map +1 -0
  268. package/dist/toCmcdReport.js +52 -0
  269. package/dist/toCmcdReport.js.map +1 -0
  270. package/dist/toCmcdUrl.d.ts +15 -0
  271. package/dist/toCmcdUrl.d.ts.map +1 -0
  272. package/dist/toCmcdUrl.js +20 -0
  273. package/dist/toCmcdUrl.js.map +1 -0
  274. package/dist/tsconfig.tsbuildinfo +1 -0
  275. package/dist/tsdoc-metadata.json +11 -0
  276. package/package.json +78 -0
@@ -0,0 +1,11 @@
1
+ import { CmObjectType } from '@svta/cml-cta/CmObjectType.js';
2
+ /**
3
+ * Common Media Client Data Object Type
4
+ *
5
+ *
6
+ * @beta
7
+ *
8
+ * @enum
9
+ */
10
+ export const CmcdObjectType = CmObjectType;
11
+ //# sourceMappingURL=CmcdObjectType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdObjectType.js","sourceRoot":"","sources":["../src/CmcdObjectType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAmC,CAAC","sourcesContent":["import { CmObjectType } from '@svta/cml-cta/CmObjectType.js';\n\n/**\n * Common Media Client Data Object Type\n *\n *\n * @beta\n *\n * @enum\n */\nexport const CmcdObjectType = CmObjectType as typeof CmObjectType;\n\n/**\n * @beta\n */\nexport type CmcdObjectType = CmObjectType;\n"]}
@@ -0,0 +1,56 @@
1
+ import type { ValueOf } from '@svta/cml-utils/ValueOf.js';
2
+ /**
3
+ * CMCD v2 player states for the 'sta' key.
4
+ *
5
+ *
6
+ * @enum
7
+ *
8
+ * @beta
9
+ */
10
+ export declare const CmcdPlayerState: {
11
+ /**
12
+ * Starting: Initial startup of the player.
13
+ */
14
+ readonly STARTING: "s";
15
+ /**
16
+ * Playing: The player is actively rendering content.
17
+ */
18
+ readonly PLAYING: "p";
19
+ /**
20
+ * Seeking: The player is seeking to a new position.
21
+ */
22
+ readonly SEEKING: "k";
23
+ /**
24
+ * Rebuffering: The player is buffering data during playback.
25
+ */
26
+ readonly REBUFFERING: "r";
27
+ /**
28
+ * Paused: The player is paused.
29
+ */
30
+ readonly PAUSED: "a";
31
+ /**
32
+ * Waiting: The player is waiting for a user action or another event.
33
+ */
34
+ readonly WAITING: "w";
35
+ /**
36
+ * Ended: The media has finished playing.
37
+ */
38
+ readonly ENDED: "e";
39
+ /**
40
+ * Fatal Error: The player has encountered a fatal error.
41
+ */
42
+ readonly FATAL_ERROR: "f";
43
+ /**
44
+ * Quit: User initiated end of playback before media asset completion.
45
+ */
46
+ readonly QUIT: "q";
47
+ /**
48
+ * Preloading: The player is loading assets ahead of starting in order to provide a fast startup. The expectation is that playback will commence at a future time.
49
+ */
50
+ readonly PRELOADING: "d";
51
+ };
52
+ /**
53
+ * @beta
54
+ */
55
+ export type CmcdPlayerState = ValueOf<typeof CmcdPlayerState>;
56
+ //# sourceMappingURL=CmcdPlayerState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdPlayerState.d.ts","sourceRoot":"","sources":["../src/CmcdPlayerState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;IAC3B;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEM,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * CMCD v2 player states for the 'sta' key.
3
+ *
4
+ *
5
+ * @enum
6
+ *
7
+ * @beta
8
+ */
9
+ export const CmcdPlayerState = {
10
+ /**
11
+ * Starting: Initial startup of the player.
12
+ */
13
+ STARTING: 's',
14
+ /**
15
+ * Playing: The player is actively rendering content.
16
+ */
17
+ PLAYING: 'p',
18
+ /**
19
+ * Seeking: The player is seeking to a new position.
20
+ */
21
+ SEEKING: 'k',
22
+ /**
23
+ * Rebuffering: The player is buffering data during playback.
24
+ */
25
+ REBUFFERING: 'r',
26
+ /**
27
+ * Paused: The player is paused.
28
+ */
29
+ PAUSED: 'a',
30
+ /**
31
+ * Waiting: The player is waiting for a user action or another event.
32
+ */
33
+ WAITING: 'w',
34
+ /**
35
+ * Ended: The media has finished playing.
36
+ */
37
+ ENDED: 'e',
38
+ /**
39
+ * Fatal Error: The player has encountered a fatal error.
40
+ */
41
+ FATAL_ERROR: 'f',
42
+ /**
43
+ * Quit: User initiated end of playback before media asset completion.
44
+ */
45
+ QUIT: 'q',
46
+ /**
47
+ * Preloading: The player is loading assets ahead of starting in order to provide a fast startup. The expectation is that playback will commence at a future time.
48
+ */
49
+ PRELOADING: 'd',
50
+ };
51
+ //# sourceMappingURL=CmcdPlayerState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdPlayerState.js","sourceRoot":"","sources":["../src/CmcdPlayerState.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B;;OAEG;IACH,QAAQ,EAAE,GAAG;IAEb;;OAEG;IACH,OAAO,EAAE,GAAG;IAEZ;;OAEG;IACH,OAAO,EAAE,GAAG;IAEZ;;OAEG;IACH,WAAW,EAAE,GAAG;IAEhB;;OAEG;IACH,MAAM,EAAE,GAAG;IAEX;;OAEG;IACH,OAAO,EAAE,GAAG;IAEZ;;OAEG;IACH,KAAK,EAAE,GAAG;IAEV;;OAEG;IACH,WAAW,EAAE,GAAG;IAEhB;;OAEG;IACH,IAAI,EAAE,GAAG;IAET;;OAEG;IACH,UAAU,EAAE,GAAG;CACN,CAAC","sourcesContent":["import type { ValueOf } from '@svta/cml-utils/ValueOf.js';\n\n/**\n * CMCD v2 player states for the 'sta' key.\n *\n *\n * @enum\n *\n * @beta\n */\nexport const CmcdPlayerState = {\n\t/**\n\t * Starting: Initial startup of the player.\n\t */\n\tSTARTING: 's',\n\n\t/**\n\t * Playing: The player is actively rendering content.\n\t */\n\tPLAYING: 'p',\n\n\t/**\n\t * Seeking: The player is seeking to a new position.\n\t */\n\tSEEKING: 'k',\n\n\t/**\n\t * Rebuffering: The player is buffering data during playback.\n\t */\n\tREBUFFERING: 'r',\n\n\t/**\n\t * Paused: The player is paused.\n\t */\n\tPAUSED: 'a',\n\n\t/**\n\t * Waiting: The player is waiting for a user action or another event.\n\t */\n\tWAITING: 'w',\n\n\t/**\n\t * Ended: The media has finished playing.\n\t */\n\tENDED: 'e',\n\n\t/**\n\t * Fatal Error: The player has encountered a fatal error.\n\t */\n\tFATAL_ERROR: 'f',\n\n\t/**\n\t * Quit: User initiated end of playback before media asset completion.\n\t */\n\tQUIT: 'q',\n\n\t/**\n\t * Preloading: The player is loading assets ahead of starting in order to provide a fast startup. The expectation is that playback will commence at a future time.\n\t */\n\tPRELOADING: 'd',\n} as const;\n\n/**\n * @beta\n */\nexport type CmcdPlayerState = ValueOf<typeof CmcdPlayerState>;\n"]}
@@ -0,0 +1,44 @@
1
+ import type { CmcdKey } from './CmcdKey.js';
2
+ import type { CmcdReportingMode } from './CmcdReportingMode.js';
3
+ import type { CmcdTransmissionMode } from './CmcdTransmissionMode.js';
4
+ /**
5
+ * A CMCD report target configuration.
6
+ *
7
+ *
8
+ * @beta
9
+ */
10
+ export type CmcdReportTarget = {
11
+ /**
12
+ * The URL to which the CMCD report should be sent.
13
+ */
14
+ url: string;
15
+ /**
16
+ * The reporting mode for the CMCD report.
17
+ *
18
+ * @defaultValue `CmcdReportingMode.REQUEST`
19
+ */
20
+ reportingMode?: CmcdReportingMode;
21
+ /**
22
+ * The HTTP method to use for the CMCD report.
23
+ *
24
+ * @defaultValue `'GET'`
25
+ */
26
+ method?: 'GET' | 'POST';
27
+ /**
28
+ * The version of the CMCD report.
29
+ *
30
+ * @defaultValue `1`
31
+ */
32
+ version?: number;
33
+ /**
34
+ * The transmission mode for the CMCD report.
35
+ *
36
+ * @defaultValue `CmcdTransmissionMode.QUERY`
37
+ */
38
+ transmissionMode?: CmcdTransmissionMode;
39
+ /**
40
+ * The list of CMCD keys to include in the report.
41
+ */
42
+ enabledKeys?: CmcdKey[];
43
+ };
44
+ //# sourceMappingURL=CmcdReportTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdReportTarget.d.ts","sourceRoot":"","sources":["../src/CmcdReportTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAElC;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;CACxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CmcdReportTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdReportTarget.js","sourceRoot":"","sources":["../src/CmcdReportTarget.ts"],"names":[],"mappings":"","sourcesContent":["import type { CmcdKey } from './CmcdKey.js';\nimport type { CmcdReportingMode } from './CmcdReportingMode.js';\nimport type { CmcdTransmissionMode } from './CmcdTransmissionMode.js';\n\n/**\n * A CMCD report target configuration.\n *\n *\n * @beta\n */\nexport type CmcdReportTarget = {\n\t/**\n\t * The URL to which the CMCD report should be sent.\n\t */\n\turl: string;\n\n\t/**\n\t * The reporting mode for the CMCD report.\n\t *\n\t * @defaultValue `CmcdReportingMode.REQUEST`\n\t */\n\treportingMode?: CmcdReportingMode;\n\n\t/**\n\t * The HTTP method to use for the CMCD report.\n\t *\n\t * @defaultValue `'GET'`\n\t */\n\tmethod?: 'GET' | 'POST';\n\n\t/**\n\t * The version of the CMCD report.\n\t *\n\t * @defaultValue `1`\n\t */\n\tversion?: number;\n\n\t/**\n\t * The transmission mode for the CMCD report.\n\t *\n\t * @defaultValue `CmcdTransmissionMode.QUERY`\n\t */\n\ttransmissionMode?: CmcdTransmissionMode;\n\n\t/**\n\t * The list of CMCD keys to include in the report.\n\t */\n\tenabledKeys?: CmcdKey[];\n};\n"]}
@@ -0,0 +1,31 @@
1
+ import type { ValueOf } from '@svta/cml-utils/ValueOf.js';
2
+ import { CMCD_EVENT_MODE } from './CMCD_EVENT_MODE.js';
3
+ import { CMCD_REQUEST_MODE } from './CMCD_REQUEST_MODE.js';
4
+ import { CMCD_RESPONSE_MODE } from './CMCD_RESPONSE_MODE.js';
5
+ /**
6
+ * CMCD reporting mode types.
7
+ *
8
+ *
9
+ * @enum
10
+ *
11
+ * @beta
12
+ */
13
+ export declare const CmcdReportingMode: {
14
+ /**
15
+ * Request mode
16
+ */
17
+ readonly REQUEST: typeof CMCD_REQUEST_MODE;
18
+ /**
19
+ * Response mode
20
+ */
21
+ readonly RESPONSE: typeof CMCD_RESPONSE_MODE;
22
+ /**
23
+ * Event mode
24
+ */
25
+ readonly EVENT: typeof CMCD_EVENT_MODE;
26
+ };
27
+ /**
28
+ * @beta
29
+ */
30
+ export type CmcdReportingMode = ValueOf<typeof CmcdReportingMode>;
31
+ //# sourceMappingURL=CmcdReportingMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdReportingMode.d.ts","sourceRoot":"","sources":["../src/CmcdReportingMode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;IAC7B;;OAEG;sBAC2B,OAAO,iBAAiB;IAEtD;;OAEG;uBAC6B,OAAO,kBAAkB;IAEzD;;OAEG;oBACuB,OAAO,eAAe;CACvC,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { CMCD_EVENT_MODE } from './CMCD_EVENT_MODE.js';
2
+ import { CMCD_REQUEST_MODE } from './CMCD_REQUEST_MODE.js';
3
+ import { CMCD_RESPONSE_MODE } from './CMCD_RESPONSE_MODE.js';
4
+ /**
5
+ * CMCD reporting mode types.
6
+ *
7
+ *
8
+ * @enum
9
+ *
10
+ * @beta
11
+ */
12
+ export const CmcdReportingMode = {
13
+ /**
14
+ * Request mode
15
+ */
16
+ REQUEST: CMCD_REQUEST_MODE,
17
+ /**
18
+ * Response mode
19
+ */
20
+ RESPONSE: CMCD_RESPONSE_MODE,
21
+ /**
22
+ * Event mode
23
+ */
24
+ EVENT: CMCD_EVENT_MODE,
25
+ };
26
+ //# sourceMappingURL=CmcdReportingMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdReportingMode.js","sourceRoot":"","sources":["../src/CmcdReportingMode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC;;OAEG;IACH,OAAO,EAAE,iBAA6C;IAEtD;;OAEG;IACH,QAAQ,EAAE,kBAA+C;IAEzD;;OAEG;IACH,KAAK,EAAE,eAAyC;CACvC,CAAC","sourcesContent":["import type { ValueOf } from '@svta/cml-utils/ValueOf.js';\nimport { CMCD_EVENT_MODE } from './CMCD_EVENT_MODE.js';\nimport { CMCD_REQUEST_MODE } from './CMCD_REQUEST_MODE.js';\nimport { CMCD_RESPONSE_MODE } from './CMCD_RESPONSE_MODE.js';\n\n/**\n * CMCD reporting mode types.\n *\n *\n * @enum\n *\n * @beta\n */\nexport const CmcdReportingMode = {\n\t/**\n\t * Request mode\n\t */\n\tREQUEST: CMCD_REQUEST_MODE as typeof CMCD_REQUEST_MODE,\n\n\t/**\n\t * Response mode\n\t */\n\tRESPONSE: CMCD_RESPONSE_MODE as typeof CMCD_RESPONSE_MODE,\n\n\t/**\n\t * Event mode\n\t */\n\tEVENT: CMCD_EVENT_MODE as typeof CMCD_EVENT_MODE,\n} as const;\n\n/**\n * @beta\n */\nexport type CmcdReportingMode = ValueOf<typeof CmcdReportingMode>;\n"]}
@@ -0,0 +1,222 @@
1
+ import type { Cmcd } from './Cmcd';
2
+ import type { CmcdPlayerState } from './CmcdPlayerState';
3
+ /**
4
+ * Common Media Client Data (CMCD) is a standardized set of HTTP request header fields and query string parameters.
5
+ *
6
+ *
7
+ * @beta
8
+ */
9
+ export type CmcdRequest = Omit<Cmcd, 'nrr'> & {
10
+ /**
11
+ * Aggregate encoded bitrate
12
+ *
13
+ * The aggregate encoded bitrate of the complete media object including all object types. This SHOULD be derived from
14
+ * playlist/manifest declarations, or it MAY be estimated by the player. If the playlist declares both peak and average bitrate values,
15
+ * the peak value MUST be transmitted. This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘o’.
16
+ * This value MUST NOT be sent if the encoded bitrate is known.
17
+ *
18
+ * Integer kbps
19
+ */
20
+ ab?: number;
21
+ /**
22
+ * Target buffer length (ms)
23
+ *
24
+ * The target buffer length associated with the media object being requested at the time of the request.
25
+ * This value SHOULD be rounded to the nearest 100 ms. This value MUST NOT be sent for objects which do not have an object
26
+ * type of ‘a’, ‘v’, ‘av’, ‘tt’, ‘c’, or ‘o’
27
+ *
28
+ * Integer milliseconds
29
+ */
30
+ tbl?: number;
31
+ /**
32
+ * CDN ID (string, max 128 chars)
33
+ *
34
+ * A string identifying the current delivery network from which the player is retrieving content. Maximum length is 128 characters
35
+ *
36
+ * String
37
+ */
38
+ cdn?: string;
39
+ /**
40
+ * Live stream latency (ms)
41
+ *
42
+ * The time delta between when a given media timestamp was made available at the origin and when it was rendered by the client.
43
+ * The accuracy of this estimate is dependent on synchronization between the packager and the player clocks.
44
+ *
45
+ * Integer Milliseconds
46
+ */
47
+ ltc?: number;
48
+ /**
49
+ * Backgrounded (all players in session not visible, boolean)
50
+ *
51
+ * All players in a session are currently in a state that is not visible to the user.
52
+ * This key SHOULD only be sent if it is TRUE.
53
+ * If the visibility state of the player is not known this key SHOULD NOT be reported
54
+ *
55
+ * Bool
56
+ */
57
+ bg?: boolean;
58
+ /**
59
+ * State (player state, e.g. "s", "p", etc.)
60
+ *
61
+ * A token describing the current playback state of the player as perceived by the end user, one of:
62
+ * s - starting: the player has been instructed to play media for a given session, either by a user interaction or by an autoplay action.
63
+ * p - playing : Media is being rendered.
64
+ * k - seeking : The start of the user initiated action of moving the playhead position.
65
+ * r - rebuffering : Media has stopped being rendered due to an insufficient buffer. This state is not reported during startup or seeking.
66
+ * a - paused : Playback has been intentionally paused by the user.
67
+ * w - waiting : Playback has been paused by the player.
68
+ * e - ended : Rendering has ended due to completion of the media asset playback.
69
+ * f - fatal error : Rendering has ended due to an irrecoverable error.
70
+ * q - quit : User initiated end of playback before media asset completion.
71
+ * d - preloading : the player is loading assets ahead of starting in order to provide a fast startup. The expectation is that playback will commence at a future time.
72
+ *
73
+ * Note: if used with Request Mode or Response Mode, then this key represents a snapshot of the state at request time, which may obscure prior state changes since the last request.
74
+ * For most accurate state tracking in players, use State-Interval mode.
75
+ * The addition of a timestamp in Request Mode might be useful in correctly placing the state change on a timeline.
76
+ *
77
+ * Token - one of [s,p,k,r,a,w,e,f,q,d]
78
+ */
79
+ sta?: CmcdPlayerState;
80
+ /**
81
+ * The encoded bitrate of the audio or video object being shown to the end user.
82
+ *
83
+ * Integer Kbps
84
+ */
85
+ pb?: number;
86
+ /**
87
+ * Timestamp (ms since UNIX epoch, required for event mode)
88
+ *
89
+ * The timestamp at which the associated event occurred, expressed as milliseconds since the UNIX epoch.
90
+ * When the event is a request for a media object the time SHOULD reference when the request was first initiated.
91
+ * When used with Response Mode, the timestamp should indicate the time at which the object was first requested and not when it was received.
92
+ *
93
+ * Integer milliseconds
94
+ */
95
+ ts?: number;
96
+ /**
97
+ * Top playable bitrate (kbps)
98
+ *
99
+ * The highest bitrate rendition that the player is currently capable of playing for reasons other than bandwidth limitations.
100
+ * This key captures the cases in which, for example, screen resolution, DRM, or performance constraints limit the player's topmost choice of bitrate.
101
+ * These constraints are intentionally obfuscated for privacy reasons.
102
+ * This key can increase the fingerprinting surface exposed by CMCD transmission and SHOULD NOT be transmitted in a default player configuration.
103
+ *
104
+ * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.
105
+ * This top playable bitrate MUST apply to the object type being requested.
106
+ * Requests for video objects MUST specify the top playable video bitrate and requests for audio objects MUST specify the top playable audio bitrate.
107
+ * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.
108
+ *
109
+ * Integer Kbps
110
+ */
111
+ tpb?: number;
112
+ /**
113
+ * Lowest encoded bitrate (kbps)
114
+ *
115
+ * The lowest bitrate rendition in the manifest or playlist.
116
+ * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.
117
+ * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.
118
+ * This lowest bitrate MUST apply to the object type being requested.
119
+ * Requests for video objects MUST specify the lowest video bitrate and requests for audio objects MUST specify the lowest audio bitrate.
120
+ * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.
121
+ *
122
+ * Integer Kbps
123
+ */
124
+ lb?: number;
125
+ /**
126
+ * Top aggregated encoded bitrate (kbps)
127
+ *
128
+ * The highest aggregated bitrate rendition in the manifest or playlist.
129
+ * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.
130
+ * If the playlist declares both peak and average bitrate values,the peak value MUST be transmitted.
131
+ * The aggregate encoded bitrate is of the complete media object including all object types.
132
+ * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.
133
+ * This value MUST NOT be sent if the top encoded bitrate is known
134
+ *
135
+ * Integer Kbps
136
+ */
137
+ tab?: number;
138
+ /**
139
+ * Lowest aggregated encoded bitrate (kbps)
140
+ *
141
+ * The lowest aggregated bitrate rendition in the manifest or playlist.
142
+ * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.
143
+ * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.
144
+ * The aggregate encoded bitrate is of the complete media object including all object types.
145
+ * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.
146
+ * This value MUST NOT be sent if the lowest encoded bitrate is known.
147
+ *
148
+ * Integer Kbps
149
+ */
150
+ lab?: number;
151
+ /**
152
+ * Playhead time (ms)
153
+ *
154
+ * The playhead time, expressed in milliseconds, which is being rendered to the viewer when the report is made.
155
+ * For Response and State-Interval modes, this corresponds to the playhead time that was rendered at the wallclock time reported by the timestamp field.
156
+ *
157
+ * Integer milliseconds
158
+ */
159
+ pt?: number;
160
+ /**
161
+ * Error code(s), application-defined
162
+ *
163
+ * A string defining an error code produced by the player.
164
+ * The namespace and formatting of this error code is left to the application.
165
+ * Use of standardized error codes is recommended.
166
+ * Errors should be buffered per report destination as they occur and reported along with the next CMCD report.
167
+ * With Event mode there is the option to report errors as they occur.
168
+ *
169
+ * An Inner List of Strings
170
+ */
171
+ ec?: string | string[];
172
+ /**
173
+ * Media Start Delay (ms)
174
+ *
175
+ * Measures the initial delay in wall-clock time from when a player is instructed to play media for a given session to when any media begins playback,
176
+ * whether it be primary content or interstitial content.
177
+ * This value SHOULD be the time difference between the "starting" and "playing" states.
178
+ * This key MUST only be sent once per Session ID and MUST be sent for each reporting mode which is active within the player.
179
+ * For request and response reporting modes, this key SHOULD be sent on the next media object request following successful startup.
180
+ *
181
+ * Integer milliseconds
182
+ */
183
+ msd?: number;
184
+ /**
185
+ * Sequence Number
186
+ *
187
+ * A monotonically increasing integer to identify the sequence of a CMCD report to a target within a session. This MUST be reset to zero on the start of
188
+ * a new session-id. Sequence numbers increase independently per each combination of mode and target.
189
+ *
190
+ * Integer
191
+ */
192
+ sn?: number;
193
+ /**
194
+ * Buffer starvation duration
195
+ *
196
+ * Duration of the latest rebuffering period reported once the rebuffering has completed. This value MUST only be reported once per rebuffering incident, per object type.
197
+ *
198
+ * If the object type ‘ot’ key is sent along with this key, then the ‘bsd’ key refers to the buffer associated with the particular object type. If no object type is communicated, then the buffer state applies to the current session.
199
+ *
200
+ * Integer milliseconds
201
+ */
202
+ bsd?: number;
203
+ /**
204
+ * Dropped Frames
205
+ *
206
+ * An absolute count of dropped frames since session initiation. This key should only be sent for content types of 'v','av' or 'o'.
207
+ * Note that this value will be driven by the content being rendered rather than the content being retrieved, therefore it is beneficial if accompanied by the playhead time 'pt' key to allow for correct interpretation.
208
+ *
209
+ * Integer
210
+ */
211
+ df?: number;
212
+ /**
213
+ * Content Signature
214
+ *
215
+ * A string representing a signature of the content being played. This field SHOULD vary with content ID and be bound by some mechanism to the content.
216
+ * For example, this field may be used to transmit the C2PA signature associated with the content being viewed.
217
+ *
218
+ * Integer bytes
219
+ */
220
+ cs?: number;
221
+ };
222
+ //# sourceMappingURL=CmcdRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdRequest.d.ts","sourceRoot":"","sources":["../src/CmcdRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG;IAC7C;;;;;;;;;MASE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;MAQE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;MAME;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;MAOE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;MAQE;IACF,EAAE,CAAC,EAAE,OAAO,CAAC;IAEb;;;;;;;;;;;;;;;;;;;;MAoBE;IACF,GAAG,CAAC,EAAE,eAAe,CAAC;IAEtB;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;MAQE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;;;;;;;MAcE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;MAWE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;;;;MAWE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;MAOE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;;;MAUE;IACF,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEvB;;;;;;;;;;MAUE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;MAOE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;MAOE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;MAOE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CmcdRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdRequest.js","sourceRoot":"","sources":["../src/CmcdRequest.ts"],"names":[],"mappings":"","sourcesContent":["import type { Cmcd } from './Cmcd';\nimport type { CmcdPlayerState } from './CmcdPlayerState';\n\n/**\n * Common Media Client Data (CMCD) is a standardized set of HTTP request header fields and query string parameters.\n *\n *\n * @beta\n */\nexport type CmcdRequest = Omit<Cmcd, 'nrr'> & {\n\t/**\n\t * Aggregate encoded bitrate\n\t *\n\t * The aggregate encoded bitrate of the complete media object including all object types. This SHOULD be derived from\n\t * playlist/manifest declarations, or it MAY be estimated by the player. If the playlist declares both peak and average bitrate values,\n\t * the peak value MUST be transmitted. This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘o’.\n\t * This value MUST NOT be sent if the encoded bitrate is known.\n\t *\n\t * Integer kbps\n\t*/\n\tab?: number;\n\n\t/**\n\t * Target buffer length (ms)\n\t *\n\t * The target buffer length associated with the media object being requested at the time of the request.\n\t * This value SHOULD be rounded to the nearest 100 ms. This value MUST NOT be sent for objects which do not have an object\n\t * type of ‘a’, ‘v’, ‘av’, ‘tt’, ‘c’, or ‘o’\n\t *\n\t * Integer milliseconds\n\t*/\n\ttbl?: number;\n\n\t/**\n\t * CDN ID (string, max 128 chars)\n\t *\n\t * A string identifying the current delivery network from which the player is retrieving content. Maximum length is 128 characters\n\t *\n\t * String\n\t*/\n\tcdn?: string;\n\n\t/**\n\t * Live stream latency (ms)\n\t *\n\t * The time delta between when a given media timestamp was made available at the origin and when it was rendered by the client.\n\t * The accuracy of this estimate is dependent on synchronization between the packager and the player clocks.\n\t *\n\t * Integer Milliseconds\n\t*/\n\tltc?: number;\n\n\t/**\n\t * Backgrounded (all players in session not visible, boolean)\n\t *\n\t * All players in a session are currently in a state that is not visible to the user.\n\t * This key SHOULD only be sent if it is TRUE.\n\t * If the visibility state of the player is not known this key SHOULD NOT be reported\n\t *\n\t * Bool\n\t*/\n\tbg?: boolean;\n\n\t/**\n\t * State (player state, e.g. \"s\", \"p\", etc.)\n\t *\n\t * A token describing the current playback state of the player as perceived by the end user, one of:\n\t * s - starting: the player has been instructed to play media for a given session, either by a user interaction or by an autoplay action.\n\t * p - playing : Media is being rendered.\n\t * k - seeking : The start of the user initiated action of moving the playhead position.\n\t * r - rebuffering : Media has stopped being rendered due to an insufficient buffer. This state is not reported during startup or seeking.\n\t * a - paused : Playback has been intentionally paused by the user.\n\t * w - waiting : Playback has been paused by the player.\n\t * e - ended : Rendering has ended due to completion of the media asset playback.\n\t * f - fatal error : Rendering has ended due to an irrecoverable error.\n\t * q - quit : User initiated end of playback before media asset completion.\n\t * d - preloading : the player is loading assets ahead of starting in order to provide a fast startup. The expectation is that playback will commence at a future time.\n\t *\n\t * Note: if used with Request Mode or Response Mode, then this key represents a snapshot of the state at request time, which may obscure prior state changes since the last request.\n\t * For most accurate state tracking in players, use State-Interval mode.\n\t * The addition of a timestamp in Request Mode might be useful in correctly placing the state change on a timeline.\n\t *\n\t * Token - one of [s,p,k,r,a,w,e,f,q,d]\n\t*/\n\tsta?: CmcdPlayerState;\n\n\t/**\n\t * The encoded bitrate of the audio or video object being shown to the end user.\n\t *\n\t * Integer Kbps\n\t */\n\tpb?: number;\n\n\t/**\n\t * Timestamp (ms since UNIX epoch, required for event mode)\n\t *\n\t * The timestamp at which the associated event occurred, expressed as milliseconds since the UNIX epoch.\n\t * When the event is a request for a media object the time SHOULD reference when the request was first initiated.\n\t * When used with Response Mode, the timestamp should indicate the time at which the object was first requested and not when it was received.\n\t *\n\t * Integer milliseconds\n\t*/\n\tts?: number;\n\n\t/**\n\t * Top playable bitrate (kbps)\n\t *\n\t * The highest bitrate rendition that the player is currently capable of playing for reasons other than bandwidth limitations.\n\t * This key captures the cases in which, for example, screen resolution, DRM, or performance constraints limit the player's topmost choice of bitrate.\n\t * These constraints are intentionally obfuscated for privacy reasons.\n\t * This key can increase the fingerprinting surface exposed by CMCD transmission and SHOULD NOT be transmitted in a default player configuration.\n\t *\n\t * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.\n\t * This top playable bitrate MUST apply to the object type being requested.\n\t * Requests for video objects MUST specify the top playable video bitrate and requests for audio objects MUST specify the top playable audio bitrate.\n\t * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.\n\t *\n\t * Integer Kbps\n\t*/\n\ttpb?: number;\n\n\t/**\n\t * Lowest encoded bitrate (kbps)\n\t *\n\t * The lowest bitrate rendition in the manifest or playlist.\n\t * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.\n\t * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.\n\t * This lowest bitrate MUST apply to the object type being requested.\n\t * Requests for video objects MUST specify the lowest video bitrate and requests for audio objects MUST specify the lowest audio bitrate.\n\t * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.\n\t *\n\t * Integer Kbps\n\t*/\n\tlb?: number;\n\n\t/**\n\t * Top aggregated encoded bitrate (kbps)\n\t *\n\t * The highest aggregated bitrate rendition in the manifest or playlist.\n\t * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.\n\t * If the playlist declares both peak and average bitrate values,the peak value MUST be transmitted.\n\t * The aggregate encoded bitrate is of the complete media object including all object types.\n\t * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.\n\t * This value MUST NOT be sent if the top encoded bitrate is known\n\t *\n\t * Integer Kbps\n\t*/\n\ttab?: number;\n\n\t/**\n\t * Lowest aggregated encoded bitrate (kbps)\n\t *\n\t * The lowest aggregated bitrate rendition in the manifest or playlist.\n\t * This SHOULD be derived from playlist/manifest declarations, or it MAY be estimated by the player.\n\t * If the playlist declares both peak and average bitrate values, the peak value MUST be transmitted.\n\t * The aggregate encoded bitrate is of the complete media object including all object types.\n\t * This value MUST NOT be sent for objects which do not have an object type of ‘a’, ‘v’, ‘av’ or ‘c’.\n\t * This value MUST NOT be sent if the lowest encoded bitrate is known.\n\t *\n\t * Integer Kbps\n\t */\n\tlab?: number;\n\n\t/**\n\t * Playhead time (ms)\n\t *\n\t * The playhead time, expressed in milliseconds, which is being rendered to the viewer when the report is made.\n\t * For Response and State-Interval modes, this corresponds to the playhead time that was rendered at the wallclock time reported by the timestamp field.\n\t *\n\t * Integer milliseconds\n\t*/\n\tpt?: number;\n\n\t/**\n\t * Error code(s), application-defined\n\t *\n\t * A string defining an error code produced by the player.\n\t * The namespace and formatting of this error code is left to the application.\n\t * Use of standardized error codes is recommended.\n\t * Errors should be buffered per report destination as they occur and reported along with the next CMCD report.\n\t * With Event mode there is the option to report errors as they occur.\n\t *\n\t * An Inner List of Strings\n\t*/\n\tec?: string | string[];\n\n\t/**\n\t * Media Start Delay (ms)\n\t *\n\t * Measures the initial delay in wall-clock time from when a player is instructed to play media for a given session to when any media begins playback,\n\t * whether it be primary content or interstitial content.\n\t * This value SHOULD be the time difference between the \"starting\" and \"playing\" states.\n\t * This key MUST only be sent once per Session ID and MUST be sent for each reporting mode which is active within the player.\n\t * For request and response reporting modes, this key SHOULD be sent on the next media object request following successful startup.\n\t *\n\t * Integer milliseconds\n\t*/\n\tmsd?: number;\n\n\t/**\n\t * Sequence Number\n\t *\n\t * A monotonically increasing integer to identify the sequence of a CMCD report to a target within a session. This MUST be reset to zero on the start of\n\t * a new session-id. Sequence numbers increase independently per each combination of mode and target.\n\t *\n\t * Integer\n\t*/\n\tsn?: number;\n\n\t/**\n\t * Buffer starvation duration\n\t *\n\t * Duration of the latest rebuffering period reported once the rebuffering has completed. This value MUST only be reported once per rebuffering incident, per object type.\n\t *\n\t * If the object type ‘ot’ key is sent along with this key, then the ‘bsd’ key refers to the buffer associated with the particular object type. If no object type is communicated, then the buffer state applies to the current session.\n\t *\n\t * Integer milliseconds\n\t */\n\tbsd?: number;\n\n\t/**\n\t * Dropped Frames\n\t *\n\t * An absolute count of dropped frames since session initiation. This key should only be sent for content types of 'v','av' or 'o'.\n\t * Note that this value will be driven by the content being rendered rather than the content being retrieved, therefore it is beneficial if accompanied by the playhead time 'pt' key to allow for correct interpretation.\n\t *\n\t * Integer\n\t*/\n\tdf?: number;\n\n\t/**\n\t * Content Signature\n\t *\n\t * A string representing a signature of the content being played. This field SHOULD vary with content ID and be bound by some mechanism to the content.\n\t * For example, this field may be used to transmit the C2PA signature associated with the content being viewed.\n\t *\n\t * Integer bytes\n\t*/\n\tcs?: number;\n};\n"]}
@@ -0,0 +1,84 @@
1
+ import type { CmcdRequest } from './CmcdRequest.js';
2
+ /**
3
+ * CMCD Response Mode.
4
+ *
5
+ * Defines the keys for the CMCD (Common Media Client Data) v2 Response group.
6
+ *
7
+ *
8
+ * @beta
9
+ */
10
+ export type CmcdResponse = CmcdRequest & {
11
+ /**
12
+ * Response code for object request (response mode)
13
+ *
14
+ * The response code received when requesting a media object. In a redirect scenario, this would be the final response code received.
15
+ * A value of 0 SHOULD be used to indicate that a response was not received.
16
+ *
17
+ * Integer
18
+ */
19
+ rc?: number;
20
+ /**
21
+ * Time to first byte (ms; response mode)
22
+ *
23
+ * The elapsed time between when the request was first initiated (captured in ts) and the time when the first byte of the response was received.
24
+ * This value should only be reported if it is known. Absence of this key does not indicate that the response was not received.
25
+ *
26
+ * Integer milliseconds
27
+ */
28
+ ttfb?: number;
29
+ /**
30
+ * Time to first body byte (ms; response mode)
31
+ *
32
+ * The elapsed time between when the request was first initiated (captured in ts) and the time the first bytes of the response body are received.
33
+ * This value should only be reported if it is known. Absence of this key does not indicate that the body was not received.
34
+ *
35
+ * Integer milliseconds
36
+ */
37
+ ttfbb?: number;
38
+ /**
39
+ * Time to last byte (ms; response mode)
40
+ *
41
+ * The elapsed time between when the request was first initiated (captured in ts) and the time the response body is fully received.
42
+ * This value should only be reported if it is known.
43
+ * Absence of this key does not indicate that the response was not fully received
44
+ *
45
+ * Integer milliseconds
46
+ */
47
+ ttlb?: number;
48
+ /**
49
+ * Requested URL (string; response mode)
50
+ *
51
+ * The URL used to request the media object.
52
+ * This key MUST NOT be used with reporting mode #1.
53
+ * If the request is redirected, this key MUST report the initial requested URL.
54
+ *
55
+ * String
56
+ */
57
+ url?: string;
58
+ /**
59
+ * CMSD Dynamic Header (response mode)
60
+ *
61
+ * Holds a Base64 [base64] encoded copy of the CMSD data received on the CMSD-Dynamic response header.
62
+ * This key MUST only be used in RESPONSE mode.
63
+ *
64
+ * String
65
+ */
66
+ cmsdd?: string;
67
+ /**
68
+ * CMSD Static Header (response mode)
69
+ *
70
+ * Holds a Base64 [base64] encoded copy of the CMSD data received on the CMSD-Static response header.
71
+ * This key MUST only be used in RESPONSE mode.
72
+ *
73
+ * String
74
+ */
75
+ cmsds?: string;
76
+ /**
77
+ * SMRT Header
78
+
79
+ * Holds a Base64 [base64] encoded copy of the streaming media response tracing data received on the SMRT-Data header.
80
+ * This key MUST only be used in RESPONSE mode.
81
+ */
82
+ smrt?: number;
83
+ };
84
+ //# sourceMappingURL=CmcdResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdResponse.d.ts","sourceRoot":"","sources":["../src/CmcdResponse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG;IACxC;;;;;;;MAOE;IACF,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;;;;;MAOE;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;MAOE;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;MAQE;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;;;MAQE;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;;;;MAOE;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;MAOE;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CmcdResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdResponse.js","sourceRoot":"","sources":["../src/CmcdResponse.ts"],"names":[],"mappings":"","sourcesContent":["import type { CmcdRequest } from './CmcdRequest.js';\n\n/**\n * CMCD Response Mode.\n *\n * Defines the keys for the CMCD (Common Media Client Data) v2 Response group.\n *\n *\n * @beta\n */\nexport type CmcdResponse = CmcdRequest & {\n\t/**\n\t * Response code for object request (response mode)\n\t *\n\t * The response code received when requesting a media object. In a redirect scenario, this would be the final response code received.\n\t * A value of 0 SHOULD be used to indicate that a response was not received.\n\t *\n\t * Integer\n\t*/\n\trc?: number;\n\n\t/**\n\t * Time to first byte (ms; response mode)\n\t *\n\t * The elapsed time between when the request was first initiated (captured in ts) and the time when the first byte of the response was received.\n\t * This value should only be reported if it is known. Absence of this key does not indicate that the response was not received.\n\t *\n\t * Integer milliseconds\n\t*/\n\tttfb?: number;\n\n\t/**\n\t * Time to first body byte (ms; response mode)\n\t *\n\t * The elapsed time between when the request was first initiated (captured in ts) and the time the first bytes of the response body are received.\n\t * This value should only be reported if it is known. Absence of this key does not indicate that the body was not received.\n\t *\n\t * Integer milliseconds\n\t*/\n\tttfbb?: number;\n\n\t/**\n\t * Time to last byte (ms; response mode)\n\t *\n\t * The elapsed time between when the request was first initiated (captured in ts) and the time the response body is fully received.\n\t * This value should only be reported if it is known.\n\t * Absence of this key does not indicate that the response was not fully received\n\t *\n\t * Integer milliseconds\n\t*/\n\tttlb?: number;\n\n\t/**\n\t * Requested URL (string; response mode)\n\t *\n\t * The URL used to request the media object.\n\t * This key MUST NOT be used with reporting mode #1.\n\t * If the request is redirected, this key MUST report the initial requested URL.\n\t *\n\t * String\n\t*/\n\turl?: string;\n\n\t/**\n\t * CMSD Dynamic Header (response mode)\n\t *\n\t * Holds a Base64 [base64] encoded copy of the CMSD data received on the CMSD-Dynamic response header.\n\t * This key MUST only be used in RESPONSE mode.\n\t *\n\t * String\n\t*/\n\tcmsdd?: string;\n\n\t/**\n\t * CMSD Static Header (response mode)\n\t *\n\t * Holds a Base64 [base64] encoded copy of the CMSD data received on the CMSD-Static response header.\n\t * This key MUST only be used in RESPONSE mode.\n\t *\n\t * String\n\t*/\n\tcmsds?: string;\n\n\t/**\n\t * SMRT Header\n\n\t * Holds a Base64 [base64] encoded copy of the streaming media response tracing data received on the SMRT-Data header.\n\t * This key MUST only be used in RESPONSE mode.\n\t */\n\tsmrt?: number;\n};\n"]}
@@ -0,0 +1,15 @@
1
+ import { CmStreamType } from '@svta/cml-cta/CmStreamType.js';
2
+ /**
3
+ * Common Media Client Data Stream Type
4
+ *
5
+ *
6
+ * @enum
7
+ *
8
+ * @beta
9
+ */
10
+ export declare const CmcdStreamType: typeof CmStreamType;
11
+ /**
12
+ * @beta
13
+ */
14
+ export type CmcdStreamType = CmStreamType;
15
+ //# sourceMappingURL=CmcdStreamType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CmcdStreamType.d.ts","sourceRoot":"","sources":["../src/CmcdStreamType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAmB,OAAO,YAAY,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { CmStreamType } from '@svta/cml-cta/CmStreamType.js';
2
+ /**
3
+ * Common Media Client Data Stream Type
4
+ *
5
+ *
6
+ * @enum
7
+ *
8
+ * @beta
9
+ */
10
+ export const CmcdStreamType = CmStreamType;
11
+ //# sourceMappingURL=CmcdStreamType.js.map