@libmedia/avutil 0.8.0 → 0.9.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 (76) hide show
  1. package/dist/cjs/AVStream.d.ts +15 -1
  2. package/dist/cjs/AVStream.js.map +1 -1
  3. package/dist/cjs/codecs/aac.d.ts +4 -1
  4. package/dist/cjs/codecs/aac.js +6 -3
  5. package/dist/cjs/codecs/aac.js.map +1 -1
  6. package/dist/cjs/codecs/h264.d.ts +1 -1
  7. package/dist/cjs/codecs/h264.js +2 -2
  8. package/dist/cjs/codecs/h264.js.map +1 -1
  9. package/dist/cjs/codecs/hevc.d.ts +1 -1
  10. package/dist/cjs/codecs/hevc.js +2 -2
  11. package/dist/cjs/codecs/hevc.js.map +1 -1
  12. package/dist/cjs/codecs/ttml.d.ts +9 -0
  13. package/dist/cjs/codecs/ttml.js +87 -0
  14. package/dist/cjs/codecs/ttml.js.map +1 -0
  15. package/dist/cjs/codecs/vvc.d.ts +1 -1
  16. package/dist/cjs/codecs/vvc.js +2 -2
  17. package/dist/cjs/codecs/vvc.js.map +1 -1
  18. package/dist/cjs/enum.d.ts +19 -5
  19. package/dist/cjs/enum.js +15 -8
  20. package/dist/cjs/enum.js.map +1 -1
  21. package/dist/cjs/function/analyzeAVFormat.js +11 -9
  22. package/dist/cjs/function/analyzeAVFormat.js.map +1 -1
  23. package/dist/cjs/function/analyzeUrlIOLoader.js +2 -2
  24. package/dist/cjs/function/analyzeUrlIOLoader.js.map +1 -1
  25. package/dist/cjs/function/getWasmUrl.js +40 -39
  26. package/dist/cjs/function/getWasmUrl.js.map +1 -1
  27. package/dist/cjs/pixelFormatDescriptor.js.map +1 -1
  28. package/dist/cjs/stringEnum.js +1 -0
  29. package/dist/cjs/stringEnum.js.map +1 -1
  30. package/dist/cjs/struct/encryption.d.ts +137 -0
  31. package/dist/cjs/struct/encryption.js +250 -0
  32. package/dist/cjs/struct/encryption.js.map +1 -0
  33. package/dist/cjs/util/codecparameters.js +3 -2
  34. package/dist/cjs/util/codecparameters.js.map +1 -1
  35. package/dist/cjs/util/encryption.d.ts +6 -0
  36. package/dist/cjs/util/encryption.js +61 -0
  37. package/dist/cjs/util/encryption.js.map +1 -0
  38. package/dist/esm/AVStream.d.ts +15 -1
  39. package/dist/esm/AVStream.js.map +1 -1
  40. package/dist/esm/codecs/aac.d.ts +4 -1
  41. package/dist/esm/codecs/aac.js +6 -3
  42. package/dist/esm/codecs/aac.js.map +1 -1
  43. package/dist/esm/codecs/h264.d.ts +1 -1
  44. package/dist/esm/codecs/h264.js +2 -2
  45. package/dist/esm/codecs/h264.js.map +1 -1
  46. package/dist/esm/codecs/hevc.d.ts +1 -1
  47. package/dist/esm/codecs/hevc.js +2 -2
  48. package/dist/esm/codecs/hevc.js.map +1 -1
  49. package/dist/esm/codecs/ttml.d.ts +9 -0
  50. package/dist/esm/codecs/ttml.js +53 -0
  51. package/dist/esm/codecs/ttml.js.map +1 -0
  52. package/dist/esm/codecs/vvc.d.ts +1 -1
  53. package/dist/esm/codecs/vvc.js +2 -2
  54. package/dist/esm/codecs/vvc.js.map +1 -1
  55. package/dist/esm/enum.d.ts +19 -5
  56. package/dist/esm/enum.js +19 -4
  57. package/dist/esm/enum.js.map +1 -1
  58. package/dist/esm/function/analyzeAVFormat.js +11 -9
  59. package/dist/esm/function/analyzeAVFormat.js.map +1 -1
  60. package/dist/esm/function/analyzeUrlIOLoader.js +5 -1
  61. package/dist/esm/function/analyzeUrlIOLoader.js.map +1 -1
  62. package/dist/esm/function/getWasmUrl.js +40 -39
  63. package/dist/esm/function/getWasmUrl.js.map +1 -1
  64. package/dist/esm/pixelFormatDescriptor.js.map +1 -1
  65. package/dist/esm/stringEnum.js +1 -0
  66. package/dist/esm/stringEnum.js.map +1 -1
  67. package/dist/esm/struct/encryption.d.ts +137 -0
  68. package/dist/esm/struct/encryption.js +239 -0
  69. package/dist/esm/struct/encryption.js.map +1 -0
  70. package/dist/esm/util/codecparameters.js +4 -3
  71. package/dist/esm/util/codecparameters.js.map +1 -1
  72. package/dist/esm/util/encryption.d.ts +6 -0
  73. package/dist/esm/util/encryption.js +59 -0
  74. package/dist/esm/util/encryption.js.map +1 -0
  75. package/include/encryption.h +107 -0
  76. package/package.json +18 -3
@@ -0,0 +1,137 @@
1
+ @struct
2
+ export declare class AVSubsampleEncryptionInfo {
3
+ /**
4
+ * The number of bytes that are clear.
5
+ */
6
+ bytesOfClearData: uint32;
7
+ /**
8
+ * The number of bytes that are protected. If using pattern encryption,
9
+ * the pattern applies to only the protected bytes; if not using pattern
10
+ * encryption, all these bytes are encrypted.
11
+ */
12
+ bytesOfProtectedData: uint32;
13
+ }
14
+ export interface EncryptionInfo {
15
+ /**
16
+ * The fourcc encryption scheme, in big-endian byte order.
17
+ */
18
+ scheme: uint32;
19
+ /**
20
+ * Only used for pattern encryption. This is the number of 16-byte blocks
21
+ * that are encrypted.
22
+ */
23
+ cryptByteBlock: uint32;
24
+ /**
25
+ * Only used for pattern encryption. This is the number of 16-byte blocks
26
+ * that are clear.
27
+ */
28
+ skipByteBlock: uint32;
29
+ /**
30
+ * The ID of the key used to encrypt the packet. This should always be
31
+ * 16 bytes long, but may be changed in the future.
32
+ */
33
+ keyId: Uint8Array;
34
+ /**
35
+ * The initialization vector. This may have been zero-filled to be the
36
+ * correct block size. This should always be 16 bytes long, but may be
37
+ * changed in the future.
38
+ */
39
+ iv: Uint8Array;
40
+ /**
41
+ * An array of subsample encryption info specifying how parts of the sample
42
+ * are encrypted. If there are no subsamples, then the whole sample is
43
+ * encrypted.
44
+ */
45
+ subsamples: AVSubsampleEncryptionInfo[];
46
+ }
47
+ @struct
48
+ export declare class AVEncryptionInfo {
49
+ /**
50
+ * The fourcc encryption scheme, in big-endian byte order.
51
+ */
52
+ scheme: uint32;
53
+ /**
54
+ * Only used for pattern encryption. This is the number of 16-byte blocks
55
+ * that are encrypted.
56
+ */
57
+ cryptByteBlock: uint32;
58
+ /**
59
+ * Only used for pattern encryption. This is the number of 16-byte blocks
60
+ * that are clear.
61
+ */
62
+ skipByteBlock: uint32;
63
+ /**
64
+ * The ID of the key used to encrypt the packet. This should always be
65
+ * 16 bytes long, but may be changed in the future.
66
+ */
67
+ keyId: pointer<uint8>;
68
+ keyIdSize: uint32;
69
+ /**
70
+ * The initialization vector. This may have been zero-filled to be the
71
+ * correct block size. This should always be 16 bytes long, but may be
72
+ * changed in the future.
73
+ */
74
+ iv: pointer<uint8>;
75
+ ivSize: uint32;
76
+ /**
77
+ * An array of subsample encryption info specifying how parts of the sample
78
+ * are encrypted. If there are no subsamples, then the whole sample is
79
+ * encrypted.
80
+ */
81
+ subsamples: pointer<AVSubsampleEncryptionInfo>;
82
+ subsampleCount: uint32;
83
+ }
84
+ export interface EncryptionInitInfo {
85
+ /**
86
+ * A unique identifier for the key system this is for, can be NULL if it
87
+ * is not known. This should always be 16 bytes, but may change in the
88
+ * future.
89
+ */
90
+ systemId: Uint8Array;
91
+ /**
92
+ * An array of key IDs this initialization data is for. All IDs are the
93
+ * same length. Can be NULL if there are no known key IDs.
94
+ */
95
+ keyIds: Uint8Array[];
96
+ /**
97
+ * Key-system specific initialization data. This data is copied directly
98
+ * from the file and the format depends on the specific key system. This
99
+ * can be NULL if there is no initialization data; in that case, there
100
+ * will be at least one key ID.
101
+ */
102
+ data: Uint8Array;
103
+ }
104
+ @struct
105
+ export declare class AVEncryptionInitInfo {
106
+ /**
107
+ * A unique identifier for the key system this is for, can be NULL if it
108
+ * is not known. This should always be 16 bytes, but may change in the
109
+ * future.
110
+ */
111
+ systemId: pointer<uint8>;
112
+ systemIdSize: uint32;
113
+ /**
114
+ * An array of key IDs this initialization data is for. All IDs are the
115
+ * same length. Can be NULL if there are no known key IDs.
116
+ */
117
+ keyIds: pointer<pointer<uint8>>;
118
+ /** The number of key IDs. */
119
+ numKeyIds: uint32;
120
+ /**
121
+ * The number of bytes in each key ID. This should always be 16, but may
122
+ * change in the future.
123
+ */
124
+ keyIdSize: uint32;
125
+ /**
126
+ * Key-system specific initialization data. This data is copied directly
127
+ * from the file and the format depends on the specific key system. This
128
+ * can be NULL if there is no initialization data; in that case, there
129
+ * will be at least one key ID.
130
+ */
131
+ data: pointer<uint8>;
132
+ dataSize: uint32;
133
+ /**
134
+ * An optional pointer to the next initialization info in the list.
135
+ */
136
+ next: pointer<AVEncryptionInitInfo>;
137
+ }
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: !0
5
+ }), exports.AVEncryptionInitInfo = exports.AVEncryptionInfo = exports.AVSubsampleEncryptionInfo = void 0;
6
+
7
+ const cheap__identifier__0 = require("@libmedia/cheap/function/definedMetaProperty"), cheap__symbol__1 = require("@libmedia/cheap/symbol");
8
+
9
+ class AVSubsampleEncryptionInfo {
10
+ bytesOfClearData;
11
+ bytesOfProtectedData;
12
+ }
13
+
14
+ var prototype, map;
15
+
16
+ exports.AVSubsampleEncryptionInfo = AVSubsampleEncryptionInfo, prototype = AVSubsampleEncryptionInfo.prototype,
17
+ (map = new Map).set("bytesOfClearData", {
18
+ 0: 8,
19
+ 1: 0,
20
+ 2: 0,
21
+ 3: 0,
22
+ 4: 0,
23
+ 5: 0,
24
+ 6: 0,
25
+ 7: 0,
26
+ 8: 0
27
+ }), map.set("bytesOfProtectedData", {
28
+ 0: 8,
29
+ 1: 0,
30
+ 2: 0,
31
+ 3: 0,
32
+ 4: 0,
33
+ 5: 0,
34
+ 6: 0,
35
+ 7: 4,
36
+ 8: 0
37
+ }), cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStruct, !0),
38
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructMaxBaseTypeByteLength, 4),
39
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructLength, 8),
40
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructKeysMeta, map);
41
+
42
+ class AVEncryptionInfo {
43
+ scheme;
44
+ cryptByteBlock;
45
+ skipByteBlock;
46
+ keyId;
47
+ keyIdSize;
48
+ iv;
49
+ ivSize;
50
+ subsamples;
51
+ subsampleCount;
52
+ }
53
+
54
+ exports.AVEncryptionInfo = AVEncryptionInfo, function(prototype) {
55
+ var map = new Map;
56
+ map.set("scheme", {
57
+ 0: 8,
58
+ 1: 0,
59
+ 2: 0,
60
+ 3: 0,
61
+ 4: 0,
62
+ 5: 0,
63
+ 6: 0,
64
+ 7: 0,
65
+ 8: 0
66
+ }), map.set("cryptByteBlock", {
67
+ 0: 8,
68
+ 1: 0,
69
+ 2: 0,
70
+ 3: 0,
71
+ 4: 0,
72
+ 5: 0,
73
+ 6: 0,
74
+ 7: 4,
75
+ 8: 0
76
+ }), map.set("skipByteBlock", {
77
+ 0: 8,
78
+ 1: 0,
79
+ 2: 0,
80
+ 3: 0,
81
+ 4: 0,
82
+ 5: 0,
83
+ 6: 0,
84
+ 7: 8,
85
+ 8: 0
86
+ }), map.set("keyId", {
87
+ 0: 2,
88
+ 1: 1,
89
+ 2: 1,
90
+ 3: 0,
91
+ 4: 0,
92
+ 5: 0,
93
+ 6: 0,
94
+ 7: 12,
95
+ 8: 0
96
+ }), map.set("keyIdSize", {
97
+ 0: 8,
98
+ 1: 0,
99
+ 2: 0,
100
+ 3: 0,
101
+ 4: 0,
102
+ 5: 0,
103
+ 6: 0,
104
+ 7: 16,
105
+ 8: 0
106
+ }), map.set("iv", {
107
+ 0: 2,
108
+ 1: 1,
109
+ 2: 1,
110
+ 3: 0,
111
+ 4: 0,
112
+ 5: 0,
113
+ 6: 0,
114
+ 7: 20,
115
+ 8: 0
116
+ }), map.set("ivSize", {
117
+ 0: 8,
118
+ 1: 0,
119
+ 2: 0,
120
+ 3: 0,
121
+ 4: 0,
122
+ 5: 0,
123
+ 6: 0,
124
+ 7: 24,
125
+ 8: 0
126
+ }), map.set("subsamples", {
127
+ 0: AVSubsampleEncryptionInfo,
128
+ 1: 1,
129
+ 2: 1,
130
+ 3: 0,
131
+ 4: 0,
132
+ 5: 0,
133
+ 6: 0,
134
+ 7: 28,
135
+ 8: 0
136
+ }), map.set("subsampleCount", {
137
+ 0: 8,
138
+ 1: 0,
139
+ 2: 0,
140
+ 3: 0,
141
+ 4: 0,
142
+ 5: 0,
143
+ 6: 0,
144
+ 7: 32,
145
+ 8: 0
146
+ }), cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStruct, !0),
147
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructMaxBaseTypeByteLength, 4),
148
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructLength, 36),
149
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructKeysMeta, map);
150
+ }(AVEncryptionInfo.prototype);
151
+
152
+ class AVEncryptionInitInfo {
153
+ systemId;
154
+ systemIdSize;
155
+ keyIds;
156
+ numKeyIds;
157
+ keyIdSize;
158
+ data;
159
+ dataSize;
160
+ next;
161
+ }
162
+
163
+ exports.AVEncryptionInitInfo = AVEncryptionInitInfo, function(prototype) {
164
+ var map = new Map;
165
+ map.set("systemId", {
166
+ 0: 2,
167
+ 1: 1,
168
+ 2: 1,
169
+ 3: 0,
170
+ 4: 0,
171
+ 5: 0,
172
+ 6: 0,
173
+ 7: 0,
174
+ 8: 0
175
+ }), map.set("systemIdSize", {
176
+ 0: 8,
177
+ 1: 0,
178
+ 2: 0,
179
+ 3: 0,
180
+ 4: 0,
181
+ 5: 0,
182
+ 6: 0,
183
+ 7: 4,
184
+ 8: 0
185
+ }), map.set("keyIds", {
186
+ 0: 2,
187
+ 1: 1,
188
+ 2: 2,
189
+ 3: 0,
190
+ 4: 0,
191
+ 5: 0,
192
+ 6: 0,
193
+ 7: 8,
194
+ 8: 0
195
+ }), map.set("numKeyIds", {
196
+ 0: 8,
197
+ 1: 0,
198
+ 2: 0,
199
+ 3: 0,
200
+ 4: 0,
201
+ 5: 0,
202
+ 6: 0,
203
+ 7: 12,
204
+ 8: 0
205
+ }), map.set("keyIdSize", {
206
+ 0: 8,
207
+ 1: 0,
208
+ 2: 0,
209
+ 3: 0,
210
+ 4: 0,
211
+ 5: 0,
212
+ 6: 0,
213
+ 7: 16,
214
+ 8: 0
215
+ }), map.set("data", {
216
+ 0: 2,
217
+ 1: 1,
218
+ 2: 1,
219
+ 3: 0,
220
+ 4: 0,
221
+ 5: 0,
222
+ 6: 0,
223
+ 7: 20,
224
+ 8: 0
225
+ }), map.set("dataSize", {
226
+ 0: 8,
227
+ 1: 0,
228
+ 2: 0,
229
+ 3: 0,
230
+ 4: 0,
231
+ 5: 0,
232
+ 6: 0,
233
+ 7: 24,
234
+ 8: 0
235
+ }), map.set("next", {
236
+ 0: AVEncryptionInitInfo,
237
+ 1: 1,
238
+ 2: 1,
239
+ 3: 0,
240
+ 4: 0,
241
+ 5: 0,
242
+ 6: 0,
243
+ 7: 28,
244
+ 8: 0
245
+ }), cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStruct, !0),
246
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructMaxBaseTypeByteLength, 4),
247
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructLength, 32),
248
+ cheap__identifier__0.default(prototype, cheap__symbol__1.symbolStructKeysMeta, map);
249
+ }(AVEncryptionInitInfo.prototype);
250
+ //# sourceMappingURL=encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AVSubsampleEncryptionInfo","bytesOfClearData","bytesOfProtectedData","exports","AVEncryptionInfo","scheme","cryptByteBlock","skipByteBlock","keyId","keyIdSize","iv","ivSize","subsamples","subsampleCount","AVEncryptionInitInfo","systemId","systemIdSize","keyIds","numKeyIds","data","dataSize","next"],"sources":["../../../struct/encryption.ts"],"mappings":";;;;;;;;AAyBA,MACaA;IAIXC;IAMAC;;;;;AAXFC,QAAAH,uD;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,MACaI;IAIXC;IAMAC;IAMAC;IAMAC;IACAC;IAOAC;IACAC;IAOAC;IACAC;;;AAxCFV,QAAAC,qC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,MACaU;IAMXC;IACAC;IAMAC;IAEAC;IAKAT;IAQAU;IACAC;IAIAC;;;AAlCFlB,QAAAW,6C","ignoreList":[]}
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", {
29
29
  cheap__identifier__2.CTypeEnumWrite[15](dst + 148, cheap__identifier__0.CTypeEnumRead[15](src + 148)),
30
30
  cheap__identifier__2.CTypeEnumWrite[15](dst + 152, cheap__identifier__0.CTypeEnumRead[15](src + 152)),
31
31
  cheap__identifier__2.CTypeEnumWrite[15](dst + 156, cheap__identifier__0.CTypeEnumRead[15](src + 156)),
32
+ cheap__identifier__2.CTypeEnumWrite[15](dst + 160, cheap__identifier__0.CTypeEnumRead[15](src + 160)),
32
33
  cheap__memory__78.memcpy(dst + 72, src + 72, 8), cheap__identifier__0.CTypeEnumRead[20](src + 12) && (cheap__identifier__0.CTypeEnumRead[20](dst + 12) && (0,
33
34
  mem_1.avFree)(cheap__identifier__0.CTypeEnumRead[20](dst + 12)), cheap__identifier__2.CTypeEnumWrite[20](dst + 12, (0,
34
35
  mem_1.avMalloc)(cheap__identifier__0.CTypeEnumRead[15](src + 16))), cheap__identifier__2.CTypeEnumWrite[15](dst + 16, cheap__identifier__0.CTypeEnumRead[15](src + 16)),
@@ -39,7 +40,7 @@ Object.defineProperty(exports, "__esModule", {
39
40
  for (let i = 0; i < nbSrc; i++) cheap__identifier__2.CTypeEnumWrite[15](dst + 12 * i + 8, cheap__identifier__0.CTypeEnumRead[15](src + 12 * i + 8)),
40
41
  cheap__identifier__2.CTypeEnumWrite[25](dst + 12 * i + 4, cheap__identifier__0.CTypeEnumRead[25](src + 12 * i + 4)),
41
42
  cheap__identifier__2.CTypeEnumWrite[20](dst + 12 * i, (0, mem_1.avMalloc)(cheap__identifier__0.CTypeEnumRead[25](src + 12 * i + 4))),
42
- (0, memory_1.memcpy)(dst + 12 * i, src + 12 * i, cheap__identifier__0.CTypeEnumRead[25](src + 12 * i + 4));
43
+ (0, memory_1.memcpy)(cheap__identifier__0.CTypeEnumRead[20](dst + 12 * i), cheap__identifier__0.CTypeEnumRead[20](src + 12 * i), cheap__identifier__0.CTypeEnumRead[25](src + 12 * i + 4));
43
44
  cheap__identifier__2.CTypeEnumWrite[15](pnbDst, nbSrc), cheap__identifier__2.CTypeEnumWrite[20](pDst, dst);
44
45
  }(dst + 20, dst + 24, cheap__identifier__0.CTypeEnumRead[20](src + 20), cheap__identifier__0.CTypeEnumRead[15](src + 24));
45
46
  }, exports.resetCodecParameters = resetCodecParameters, exports.freeCodecParameters = function(par) {
@@ -64,6 +65,6 @@ function resetCodecParameters(par) {
64
65
  cheap__identifier__2.CTypeEnumWrite[15](par + 100, 0), cheap__identifier__2.CTypeEnumWrite[15](par + 64, 0),
65
66
  cheap__identifier__2.CTypeEnumWrite[15](par + 68, 1), cheap__identifier__2.CTypeEnumWrite[15](par + 72, 0),
66
67
  cheap__identifier__2.CTypeEnumWrite[15](par + 72, 1), cheap__identifier__2.CTypeEnumWrite[15](par + 48, constant_1.NOPTS_VALUE),
67
- cheap__identifier__2.CTypeEnumWrite[15](par + 52, constant_1.NOPTS_VALUE);
68
+ cheap__identifier__2.CTypeEnumWrite[15](par + 52, constant_1.NOPTS_VALUE), cheap__identifier__2.CTypeEnumWrite[15](par + 160, 0);
68
69
  }
69
70
  //# sourceMappingURL=codecparameters.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["exports","copyCodecParameters","dst","src","cheap__identifier__2","CTypeEnumWrite","cheap__identifier__0","CTypeEnumRead","cheap__memory__78","memcpy","mem_1","avFree","avMalloc","memory_1","pDst","pnbDst","nbSrc","avMallocz","i","copyCodecParametersSideData","resetCodecParameters","freeCodecParameters","par","require","channel_1","avpacket_1","constant_1","avFreep","unInitChannelLayout","freeAVPacketSideData","memset","NOPTS_VALUE"],"sources":["../../../util/codecparameters.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["exports","copyCodecParameters","dst","src","cheap__identifier__2","CTypeEnumWrite","cheap__identifier__0","CTypeEnumRead","cheap__memory__78","memcpy","mem_1","avFree","avMalloc","memory_1","pDst","pnbDst","nbSrc","avMallocz","i","copyCodecParametersSideData","resetCodecParameters","freeCodecParameters","par","require","channel_1","avpacket_1","constant_1","avFreep","unInitChannelLayout","freeAVPacketSideData","memset","NOPTS_VALUE"],"sources":["../../../util/codecparameters.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ import { Uint8ArrayInterface } from "@libmedia/common/io/interface";
2
+ import { EncryptionInfo, EncryptionInitInfo } from "../struct/encryption";
3
+ export declare function encryptionSideData2Info(buffer: Uint8ArrayInterface): EncryptionInfo;
4
+ export declare function encryptionInfo2SideData(info: EncryptionInfo): Uint8Array;
5
+ export declare function encryptionSideData2InitInfo(buffer: Uint8ArrayInterface): EncryptionInitInfo[];
6
+ export declare function encryptionInitInfo2SideData(infos: EncryptionInitInfo[]): Uint8Array;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var __importDefault = this && this.__importDefault || function(mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ default: mod
6
+ };
7
+ };
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: !0
11
+ }), exports.encryptionSideData2Info = function(buffer) {
12
+ const bufferReader = new BufferReader_1.default(buffer, !0), scheme = bufferReader.readUint32(), cryptByteBlock = bufferReader.readUint32(), skipByteBlock = bufferReader.readUint32(), keyIdSize = bufferReader.readUint32(), ivSize = bufferReader.readUint32(), subsampleCount = bufferReader.readUint32(), info = {
13
+ scheme: scheme,
14
+ cryptByteBlock: cryptByteBlock,
15
+ skipByteBlock: skipByteBlock,
16
+ keyId: bufferReader.readBuffer(keyIdSize),
17
+ iv: bufferReader.readBuffer(ivSize),
18
+ subsamples: []
19
+ };
20
+ if (subsampleCount) for (let i = 0; i < subsampleCount; i++) info.subsamples.push({
21
+ bytesOfClearData: bufferReader.readUint32(),
22
+ bytesOfProtectedData: bufferReader.readUint32()
23
+ });
24
+ return info;
25
+ }, exports.encryptionInfo2SideData = function(info) {
26
+ const buffer = new Uint8Array(24 + info.keyId.length + info.iv.length + 8 * info.subsamples.length), writer = new BufferWriter_1.default(buffer, !0);
27
+ return writer.writeUint32(info.scheme), writer.writeUint32(info.cryptByteBlock),
28
+ writer.writeUint32(info.skipByteBlock), writer.writeUint32(info.keyId.length), writer.writeUint32(info.iv.length),
29
+ writer.writeUint32(info.subsamples.length), writer.writeBuffer(info.keyId), writer.writeBuffer(info.iv),
30
+ info.subsamples.forEach((item => {
31
+ writer.writeUint32(item.bytesOfClearData), writer.writeUint32(item.bytesOfProtectedData);
32
+ })), buffer;
33
+ }, exports.encryptionSideData2InitInfo = function(buffer) {
34
+ const bufferReader = new BufferReader_1.default(buffer, !0), count = bufferReader.readUint32(), infos = [];
35
+ for (let i = 0; i < count; i++) {
36
+ const systemIdSize = bufferReader.readUint32(), numKeyIds = bufferReader.readUint32(), keyIdSize = bufferReader.readUint32(), dataSize = bufferReader.readUint32(), info = {
37
+ systemId: bufferReader.readBuffer(systemIdSize),
38
+ keyIds: [],
39
+ data: null
40
+ };
41
+ if (numKeyIds) for (let i = 0; i < numKeyIds; i++) info.keyIds.push(bufferReader.readBuffer(keyIdSize));
42
+ info.data = bufferReader.readBuffer(dataSize), infos.push(info);
43
+ }
44
+ return infos;
45
+ }, exports.encryptionInitInfo2SideData = function(infos) {
46
+ let size = 4;
47
+ infos.forEach((info => {
48
+ size += 16 + info.systemId.length + info.keyIds.length * (info.keyIds.length ? info.keyIds[0].length : 0) + info.data.length;
49
+ }));
50
+ const buffer = new Uint8Array(size), writer = new BufferWriter_1.default(buffer, !0);
51
+ return writer.writeUint32(infos.length), infos.forEach((info => {
52
+ writer.writeUint32(info.systemId.length), writer.writeUint32(info.keyIds.length),
53
+ writer.writeUint32(info.keyIds.length ? info.keyIds[0].length : 0), writer.writeUint32(info.data.length),
54
+ writer.writeBuffer(info.systemId), info.keyIds.forEach((keyId => {
55
+ writer.writeBuffer(keyId);
56
+ })), writer.writeBuffer(info.data);
57
+ })), buffer;
58
+ };
59
+
60
+ const BufferReader_1 = __importDefault(require("@libmedia/common/io/BufferReader")), BufferWriter_1 = __importDefault(require("@libmedia/common/io/BufferWriter"));
61
+ //# sourceMappingURL=encryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["exports","encryptionSideData2Info","buffer","bufferReader","BufferReader_1","default","scheme","readUint32","cryptByteBlock","skipByteBlock","keyIdSize","ivSize","subsampleCount","info","keyId","readBuffer","iv","subsamples","i","push","bytesOfClearData","bytesOfProtectedData","encryptionInfo2SideData","Uint8Array","length","writer","BufferWriter_1","writeUint32","writeBuffer","forEach","item","encryptionSideData2InitInfo","count","infos","systemIdSize","numKeyIds","dataSize","systemId","keyIds","data","encryptionInitInfo2SideData","size","__importDefault","require"],"sources":["../../../util/encryption.ts"],"mappings":"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","ignoreList":[]}
@@ -150,7 +150,11 @@ export declare const enum AVStreamMetadataKey {
150
150
  /**
151
151
  * mp4 的 handlerName
152
152
  */
153
- HANDLER_NAME = "handlerName"
153
+ HANDLER_NAME = "handlerName",
154
+ /**
155
+ * DRM 系统支持信息
156
+ */
157
+ ENCRYPTION = "encryption"
154
158
  }
155
159
  export declare const enum AVDisposition {
156
160
  NONE = 0,
@@ -318,3 +322,13 @@ export interface AVStreamInterface {
318
322
  disposition: int32;
319
323
  timeBase: Rational;
320
324
  }
325
+ export interface AVStreamMetadataEncryption {
326
+ schemeType: number;
327
+ schemeVersion: number;
328
+ cryptByteBlock?: number;
329
+ skipByteBlock?: number;
330
+ perSampleIVSize: number;
331
+ kid: Uint8Array;
332
+ constantIV?: Uint8Array;
333
+ pattern?: boolean;
334
+ }
@@ -1 +1 @@
1
- {"version":3,"names":["AVCodecParameters","NOPTS_VALUE","NOPTS_VALUE_BIGINT","AVStream","index","id","privData","privateData2","codecpar","cheap__make__1","cheap__default__0","sideData","nbFrames","BigInt","metadata","duration","startTime","firstDTS","disposition","timeBase","cheap__Rational__2","sampleIndexes","sampleIndexesPosMap","Map","destroy","this","cheap__unmake__4","length","clear"],"sources":["../../AVStream.ts"],"mappings":";;;;;;;;OA0BOA,uBAAiB;;SAEfC,aAAaC,0BAAoB;;eAuN5B,MAAOC;IAInBC,MAAeH;IAOfI,GAAYJ;IAKZK,SAAiB;IAIjBC,aAAqB;IAErBC,SAAQC,eAA8C,IAAIT,mBAAmBU;IAiB7EC,SAA8D;IAK9DC,SAAQC,OAAA;IAERC,SAAiB;IAUjBC,SAAkBb;IAUlBc,UAAmBd;IAKnBe,SAAkBf;IAKlBgB,YAAW;IAcXC,SAAQV,eAAAW;IAKRC,cAOM;IAKNC,oBAAyC,IAAIC;IAGtC,OAAAC;QACDC,KAAKjB,aACPiB,KAAKjB,SAASgB,WACdE,iBAAOD,KAAKjB,WACZiB,KAAKjB,WAAW;QAEdiB,KAAKN,aACPO,iBAAOD,KAAKN,WACZM,KAAKN,WAAW,OAElBM,KAAKJ,cAAcM,SAAS;QAC5BF,KAAKH,oBAAoBM;AAC3B","ignoreList":[]}
1
+ {"version":3,"names":["AVCodecParameters","NOPTS_VALUE","NOPTS_VALUE_BIGINT","AVStream","index","id","privData","privateData2","codecpar","cheap__make__1","cheap__default__0","sideData","nbFrames","BigInt","metadata","duration","startTime","firstDTS","disposition","timeBase","cheap__Rational__2","sampleIndexes","sampleIndexesPosMap","Map","destroy","this","cheap__unmake__4","length","clear"],"sources":["../../AVStream.ts"],"mappings":";;;;;;;;OA0BOA,uBAAiB;;SAEfC,aAAaC,0BAAoB;;eA2N5B,MAAOC;IAInBC,MAAeH;IAOfI,GAAYJ;IAKZK,SAAiB;IAIjBC,aAAqB;IAErBC,SAAQC,eAA8C,IAAIT,mBAAmBU;IAiB7EC,SAA8D;IAK9DC,SAAQC,OAAA;IAERC,SAAiB;IAUjBC,SAAkBb;IAUlBc,UAAmBd;IAKnBe,SAAkBf;IAKlBgB,YAAW;IAcXC,SAAQV,eAAAW;IAKRC,cAOM;IAKNC,oBAAyC,IAAIC;IAGtC,OAAAC;QACDC,KAAKjB,aACPiB,KAAKjB,SAASgB,WACdE,iBAAOD,KAAKjB,WACZiB,KAAKjB,WAAW;QAEdiB,KAAKN,aACPO,iBAAOD,KAAKN,WACZM,KAAKN,WAAW,OAElBM,KAAKJ,cAAcM,SAAS;QAC5BF,KAAKH,oBAAoBM;AAC3B","ignoreList":[]}
@@ -19,12 +19,15 @@ export declare const enum MPEG4AudioObjectTypes {
19
19
  */
20
20
  AAC_SBR = 5,
21
21
  AAC_SCALABLE = 6,
22
+ AAC_LD = 23,
23
+ AAC_PS = 29,
22
24
  LAYER1 = 32,
23
25
  LAYER2 = 33,
24
26
  /**
25
27
  * MP3
26
28
  */
27
- LAYER3 = 34
29
+ LAYER3 = 34,
30
+ AAC_ELD = 39
28
31
  }
29
32
  export declare const AACProfile2Name: Partial<Record<MPEG4AudioObjectTypes, string>>;
30
33
  export declare const MPEG4SamplingFrequencyIndex: {
@@ -5,10 +5,13 @@ import BitReader from "@libmedia/common/io/BitReader";
5
5
  export const AACProfile2Name = {
6
6
  1: "Main",
7
7
  2: "LC",
8
- 3: "LC",
9
- 4: "LC",
8
+ 3: "SSR",
9
+ 4: "LTP",
10
10
  5: "HE",
11
- 6: "HE"
11
+ 6: "SCALABLE",
12
+ 29: "HEv2",
13
+ 23: "LD",
14
+ 39: "ELD"
12
15
  };
13
16
 
14
17
  export const MPEG4SamplingFrequencyIndex = {
@@ -1 +1 @@
1
- {"version":3,"names":["NOPTS_VALUE","BitReader","AACProfile2Name","MPEG4SamplingFrequencyIndex","MPEG4SamplingFrequencies","MPEG4Channels","getAVCodecParameters","extradata","profile","sampleRate","channels","length","parseAVCodecParameters","stream","sideData","codecpar","chLayout","nbChannels","frameSize","format","avCodecParameters2Extradata","samplingFreqIndex","channelConfig","Uint8Array","parseADTSHeader","buffer","syncWord","protectionAbsent","samplingFrequencyIndex","channelConfiguration","aacFrameLength","numberOfRawDataBlocksInFrame","headerLength","framePayloadLength","parseLATMHeader","bitReader","getLATMValue","bytesForValue","readU","value","i","appendBuffer","now","getPointer","info","useSameStreamMux","muxLengthBytes","readU1","audioMuxVersion","fillBits","audioObjectType","otherDataLenBits","otherDataLenEsc","tmp","getBitLeft"],"sources":["../../../codecs/aac.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NOPTS_VALUE","BitReader","AACProfile2Name","MPEG4SamplingFrequencyIndex","MPEG4SamplingFrequencies","MPEG4Channels","getAVCodecParameters","extradata","profile","sampleRate","channels","length","parseAVCodecParameters","stream","sideData","codecpar","chLayout","nbChannels","frameSize","format","avCodecParameters2Extradata","samplingFreqIndex","channelConfig","Uint8Array","parseADTSHeader","buffer","syncWord","protectionAbsent","samplingFrequencyIndex","channelConfiguration","aacFrameLength","numberOfRawDataBlocksInFrame","headerLength","framePayloadLength","parseLATMHeader","bitReader","getLATMValue","bytesForValue","readU","value","i","appendBuffer","now","getPointer","info","useSameStreamMux","muxLengthBytes","readU1","audioMuxVersion","fillBits","audioObjectType","otherDataLenBits","otherDataLenEsc","tmp","getBitLeft"],"sources":["../../../codecs/aac.ts"],"mappings":"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","ignoreList":[]}
@@ -126,7 +126,7 @@ export declare function generateAnnexbExtradata(data: Uint8ArrayInterface): Uint
126
126
  *
127
127
  * 需要保证 data 是 safe 的
128
128
  */
129
- export declare function annexb2Avcc(data: Uint8ArrayInterface): {
129
+ export declare function annexb2Avcc(data: Uint8ArrayInterface, reverseSps?: boolean): {
130
130
  bufferPointer: pointer<uint8>;
131
131
  length: number;
132
132
  key: boolean;
@@ -194,7 +194,7 @@ export function generateAnnexbExtradata(data) {
194
194
  }
195
195
  }
196
196
 
197
- export function annexb2Avcc(data) {
197
+ export function annexb2Avcc(data, reverseSps = !1) {
198
198
  let extradata, nalus = naluUtil.splitNaluByStartCode(data), key = !1;
199
199
  if (nalus.length) {
200
200
  const spss = [], ppss = [], spsExts = [];
@@ -204,7 +204,7 @@ export function annexb2Avcc(data) {
204
204
  })), spss.length && ppss.length ? (extradata = spsPps2Extradata(spss, ppss, spsExts),
205
205
  nalus = nalus.filter((nalu => {
206
206
  const type = 31 & nalu[0];
207
- return 9 !== type && 8 !== type && 7 !== type && 13 !== type;
207
+ return reverseSps ? 9 !== type : 9 !== type && 8 !== type && 7 !== type && 13 !== type;
208
208
  }))) : nalus = nalus.filter((nalu => 9 !== (31 & nalu[0])));
209
209
  }
210
210
  const length = nalus.reduce(((prev, nalu) => prev + 3 + 1 + nalu.length), 0), bufferPointer = avMalloc(length), buffer = mapUint8Array(bufferPointer, length);