@kenzuya/mediabunny 1.26.0 → 1.28.5

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 (237) hide show
  1. package/README.md +1 -1
  2. package/dist/bundles/{mediabunny.mjs → mediabunny.js} +21963 -21388
  3. package/dist/bundles/mediabunny.min.js +490 -0
  4. package/dist/modules/shared/mp3-misc.d.ts.map +1 -1
  5. package/dist/modules/src/adts/adts-demuxer.d.ts +6 -6
  6. package/dist/modules/src/adts/adts-demuxer.d.ts.map +1 -1
  7. package/dist/modules/src/adts/adts-muxer.d.ts +4 -4
  8. package/dist/modules/src/adts/adts-muxer.d.ts.map +1 -1
  9. package/dist/modules/src/adts/adts-reader.d.ts +1 -1
  10. package/dist/modules/src/adts/adts-reader.d.ts.map +1 -1
  11. package/dist/modules/src/avi/avi-demuxer.d.ts +44 -0
  12. package/dist/modules/src/avi/avi-demuxer.d.ts.map +1 -0
  13. package/dist/modules/src/avi/avi-misc.d.ts +88 -0
  14. package/dist/modules/src/avi/avi-misc.d.ts.map +1 -0
  15. package/dist/modules/src/avi/avi-muxer.d.ts +45 -0
  16. package/dist/modules/src/avi/avi-muxer.d.ts.map +1 -0
  17. package/dist/modules/src/avi/riff-writer.d.ts +26 -0
  18. package/dist/modules/src/avi/riff-writer.d.ts.map +1 -0
  19. package/dist/modules/src/codec-data.d.ts +8 -3
  20. package/dist/modules/src/codec-data.d.ts.map +1 -1
  21. package/dist/modules/src/codec.d.ts +10 -10
  22. package/dist/modules/src/codec.d.ts.map +1 -1
  23. package/dist/modules/src/conversion.d.ts +33 -16
  24. package/dist/modules/src/conversion.d.ts.map +1 -1
  25. package/dist/modules/src/custom-coder.d.ts +8 -8
  26. package/dist/modules/src/custom-coder.d.ts.map +1 -1
  27. package/dist/modules/src/demuxer.d.ts +3 -3
  28. package/dist/modules/src/demuxer.d.ts.map +1 -1
  29. package/dist/modules/src/encode.d.ts +8 -8
  30. package/dist/modules/src/encode.d.ts.map +1 -1
  31. package/dist/modules/src/flac/flac-demuxer.d.ts +7 -7
  32. package/dist/modules/src/flac/flac-demuxer.d.ts.map +1 -1
  33. package/dist/modules/src/flac/flac-misc.d.ts +3 -3
  34. package/dist/modules/src/flac/flac-misc.d.ts.map +1 -1
  35. package/dist/modules/src/flac/flac-muxer.d.ts +5 -5
  36. package/dist/modules/src/flac/flac-muxer.d.ts.map +1 -1
  37. package/dist/modules/src/id3.d.ts +3 -3
  38. package/dist/modules/src/id3.d.ts.map +1 -1
  39. package/dist/modules/src/index.d.ts +20 -20
  40. package/dist/modules/src/index.d.ts.map +1 -1
  41. package/dist/modules/src/input-format.d.ts +22 -0
  42. package/dist/modules/src/input-format.d.ts.map +1 -1
  43. package/dist/modules/src/input-track.d.ts +8 -8
  44. package/dist/modules/src/input-track.d.ts.map +1 -1
  45. package/dist/modules/src/input.d.ts +12 -12
  46. package/dist/modules/src/isobmff/isobmff-boxes.d.ts +2 -2
  47. package/dist/modules/src/isobmff/isobmff-boxes.d.ts.map +1 -1
  48. package/dist/modules/src/isobmff/isobmff-demuxer.d.ts +12 -12
  49. package/dist/modules/src/isobmff/isobmff-demuxer.d.ts.map +1 -1
  50. package/dist/modules/src/isobmff/isobmff-misc.d.ts.map +1 -1
  51. package/dist/modules/src/isobmff/isobmff-muxer.d.ts +11 -11
  52. package/dist/modules/src/isobmff/isobmff-muxer.d.ts.map +1 -1
  53. package/dist/modules/src/isobmff/isobmff-reader.d.ts +2 -2
  54. package/dist/modules/src/isobmff/isobmff-reader.d.ts.map +1 -1
  55. package/dist/modules/src/matroska/ebml.d.ts +3 -3
  56. package/dist/modules/src/matroska/ebml.d.ts.map +1 -1
  57. package/dist/modules/src/matroska/matroska-demuxer.d.ts +13 -13
  58. package/dist/modules/src/matroska/matroska-demuxer.d.ts.map +1 -1
  59. package/dist/modules/src/matroska/matroska-input.d.ts +33 -0
  60. package/dist/modules/src/matroska/matroska-input.d.ts.map +1 -0
  61. package/dist/modules/src/matroska/matroska-misc.d.ts.map +1 -1
  62. package/dist/modules/src/matroska/matroska-muxer.d.ts +5 -5
  63. package/dist/modules/src/matroska/matroska-muxer.d.ts.map +1 -1
  64. package/dist/modules/src/media-sink.d.ts +5 -5
  65. package/dist/modules/src/media-sink.d.ts.map +1 -1
  66. package/dist/modules/src/media-source.d.ts +22 -4
  67. package/dist/modules/src/media-source.d.ts.map +1 -1
  68. package/dist/modules/src/metadata.d.ts +2 -2
  69. package/dist/modules/src/metadata.d.ts.map +1 -1
  70. package/dist/modules/src/misc.d.ts +5 -4
  71. package/dist/modules/src/misc.d.ts.map +1 -1
  72. package/dist/modules/src/mp3/mp3-demuxer.d.ts +7 -7
  73. package/dist/modules/src/mp3/mp3-demuxer.d.ts.map +1 -1
  74. package/dist/modules/src/mp3/mp3-muxer.d.ts +4 -4
  75. package/dist/modules/src/mp3/mp3-muxer.d.ts.map +1 -1
  76. package/dist/modules/src/mp3/mp3-reader.d.ts +2 -2
  77. package/dist/modules/src/mp3/mp3-reader.d.ts.map +1 -1
  78. package/dist/modules/src/mp3/mp3-writer.d.ts +1 -1
  79. package/dist/modules/src/mp3/mp3-writer.d.ts.map +1 -1
  80. package/dist/modules/src/muxer.d.ts +4 -4
  81. package/dist/modules/src/muxer.d.ts.map +1 -1
  82. package/dist/modules/src/node.d.ts +1 -1
  83. package/dist/modules/src/ogg/ogg-demuxer.d.ts +7 -7
  84. package/dist/modules/src/ogg/ogg-demuxer.d.ts.map +1 -1
  85. package/dist/modules/src/ogg/ogg-misc.d.ts +1 -1
  86. package/dist/modules/src/ogg/ogg-misc.d.ts.map +1 -1
  87. package/dist/modules/src/ogg/ogg-muxer.d.ts +5 -5
  88. package/dist/modules/src/ogg/ogg-muxer.d.ts.map +1 -1
  89. package/dist/modules/src/ogg/ogg-reader.d.ts +1 -1
  90. package/dist/modules/src/ogg/ogg-reader.d.ts.map +1 -1
  91. package/dist/modules/src/output-format.d.ts +51 -6
  92. package/dist/modules/src/output-format.d.ts.map +1 -1
  93. package/dist/modules/src/output.d.ts +13 -13
  94. package/dist/modules/src/output.d.ts.map +1 -1
  95. package/dist/modules/src/packet.d.ts +1 -1
  96. package/dist/modules/src/packet.d.ts.map +1 -1
  97. package/dist/modules/src/pcm.d.ts.map +1 -1
  98. package/dist/modules/src/reader.d.ts +2 -2
  99. package/dist/modules/src/reader.d.ts.map +1 -1
  100. package/dist/modules/src/sample.d.ts +57 -15
  101. package/dist/modules/src/sample.d.ts.map +1 -1
  102. package/dist/modules/src/source.d.ts +3 -3
  103. package/dist/modules/src/source.d.ts.map +1 -1
  104. package/dist/modules/src/subtitles.d.ts +1 -1
  105. package/dist/modules/src/subtitles.d.ts.map +1 -1
  106. package/dist/modules/src/target.d.ts +2 -2
  107. package/dist/modules/src/target.d.ts.map +1 -1
  108. package/dist/modules/src/tsconfig.tsbuildinfo +1 -1
  109. package/dist/modules/src/wave/riff-writer.d.ts +1 -1
  110. package/dist/modules/src/wave/riff-writer.d.ts.map +1 -1
  111. package/dist/modules/src/wave/wave-demuxer.d.ts +6 -6
  112. package/dist/modules/src/wave/wave-demuxer.d.ts.map +1 -1
  113. package/dist/modules/src/wave/wave-muxer.d.ts +4 -4
  114. package/dist/modules/src/wave/wave-muxer.d.ts.map +1 -1
  115. package/dist/modules/src/writer.d.ts +1 -1
  116. package/dist/modules/src/writer.d.ts.map +1 -1
  117. package/dist/packages/eac3/eac3.wasm +0 -0
  118. package/dist/packages/eac3/mediabunny-eac3.js +1058 -0
  119. package/dist/packages/eac3/mediabunny-eac3.min.js +44 -0
  120. package/dist/packages/mp3-encoder/mediabunny-mp3-encoder.js +694 -0
  121. package/dist/packages/mp3-encoder/mediabunny-mp3-encoder.min.js +58 -0
  122. package/dist/packages/mpeg4/mediabunny-mpeg4.js +1198 -0
  123. package/dist/packages/mpeg4/mediabunny-mpeg4.min.js +44 -0
  124. package/dist/packages/mpeg4/xvid.wasm +0 -0
  125. package/package.json +18 -57
  126. package/dist/bundles/mediabunny.cjs +0 -26140
  127. package/dist/bundles/mediabunny.min.cjs +0 -147
  128. package/dist/bundles/mediabunny.min.mjs +0 -146
  129. package/dist/mediabunny.d.ts +0 -3319
  130. package/dist/modules/shared/mp3-misc.js +0 -147
  131. package/dist/modules/src/adts/adts-demuxer.js +0 -239
  132. package/dist/modules/src/adts/adts-muxer.js +0 -80
  133. package/dist/modules/src/adts/adts-reader.js +0 -63
  134. package/dist/modules/src/codec-data.js +0 -1730
  135. package/dist/modules/src/codec.js +0 -869
  136. package/dist/modules/src/conversion.js +0 -1459
  137. package/dist/modules/src/custom-coder.js +0 -117
  138. package/dist/modules/src/demuxer.js +0 -12
  139. package/dist/modules/src/encode.js +0 -442
  140. package/dist/modules/src/flac/flac-demuxer.js +0 -504
  141. package/dist/modules/src/flac/flac-misc.js +0 -135
  142. package/dist/modules/src/flac/flac-muxer.js +0 -222
  143. package/dist/modules/src/id3.js +0 -848
  144. package/dist/modules/src/index.js +0 -28
  145. package/dist/modules/src/input-format.js +0 -480
  146. package/dist/modules/src/input-track.js +0 -372
  147. package/dist/modules/src/input.js +0 -188
  148. package/dist/modules/src/isobmff/isobmff-boxes.js +0 -1480
  149. package/dist/modules/src/isobmff/isobmff-demuxer.js +0 -2618
  150. package/dist/modules/src/isobmff/isobmff-misc.js +0 -20
  151. package/dist/modules/src/isobmff/isobmff-muxer.js +0 -966
  152. package/dist/modules/src/isobmff/isobmff-reader.js +0 -72
  153. package/dist/modules/src/matroska/ebml.js +0 -653
  154. package/dist/modules/src/matroska/matroska-demuxer.js +0 -2133
  155. package/dist/modules/src/matroska/matroska-misc.js +0 -20
  156. package/dist/modules/src/matroska/matroska-muxer.js +0 -1017
  157. package/dist/modules/src/media-sink.js +0 -1736
  158. package/dist/modules/src/media-source.js +0 -1825
  159. package/dist/modules/src/metadata.js +0 -193
  160. package/dist/modules/src/misc.js +0 -623
  161. package/dist/modules/src/mp3/mp3-demuxer.js +0 -285
  162. package/dist/modules/src/mp3/mp3-muxer.js +0 -123
  163. package/dist/modules/src/mp3/mp3-reader.js +0 -26
  164. package/dist/modules/src/mp3/mp3-writer.js +0 -78
  165. package/dist/modules/src/muxer.js +0 -50
  166. package/dist/modules/src/node.js +0 -9
  167. package/dist/modules/src/ogg/ogg-demuxer.js +0 -763
  168. package/dist/modules/src/ogg/ogg-misc.js +0 -78
  169. package/dist/modules/src/ogg/ogg-muxer.js +0 -353
  170. package/dist/modules/src/ogg/ogg-reader.js +0 -65
  171. package/dist/modules/src/output-format.js +0 -527
  172. package/dist/modules/src/output.js +0 -300
  173. package/dist/modules/src/packet.js +0 -182
  174. package/dist/modules/src/pcm.js +0 -85
  175. package/dist/modules/src/reader.js +0 -236
  176. package/dist/modules/src/sample.js +0 -1056
  177. package/dist/modules/src/source.js +0 -1182
  178. package/dist/modules/src/subtitles.js +0 -575
  179. package/dist/modules/src/target.js +0 -140
  180. package/dist/modules/src/wave/riff-writer.js +0 -30
  181. package/dist/modules/src/wave/wave-demuxer.js +0 -447
  182. package/dist/modules/src/wave/wave-muxer.js +0 -318
  183. package/dist/modules/src/writer.js +0 -370
  184. package/src/adts/adts-demuxer.ts +0 -331
  185. package/src/adts/adts-muxer.ts +0 -111
  186. package/src/adts/adts-reader.ts +0 -85
  187. package/src/codec-data.ts +0 -2078
  188. package/src/codec.ts +0 -1092
  189. package/src/conversion.ts +0 -2112
  190. package/src/custom-coder.ts +0 -197
  191. package/src/demuxer.ts +0 -24
  192. package/src/encode.ts +0 -739
  193. package/src/flac/flac-demuxer.ts +0 -730
  194. package/src/flac/flac-misc.ts +0 -164
  195. package/src/flac/flac-muxer.ts +0 -320
  196. package/src/id3.ts +0 -925
  197. package/src/index.ts +0 -221
  198. package/src/input-format.ts +0 -541
  199. package/src/input-track.ts +0 -529
  200. package/src/input.ts +0 -235
  201. package/src/isobmff/isobmff-boxes.ts +0 -1719
  202. package/src/isobmff/isobmff-demuxer.ts +0 -3190
  203. package/src/isobmff/isobmff-misc.ts +0 -29
  204. package/src/isobmff/isobmff-muxer.ts +0 -1348
  205. package/src/isobmff/isobmff-reader.ts +0 -91
  206. package/src/matroska/ebml.ts +0 -730
  207. package/src/matroska/matroska-demuxer.ts +0 -2481
  208. package/src/matroska/matroska-misc.ts +0 -29
  209. package/src/matroska/matroska-muxer.ts +0 -1276
  210. package/src/media-sink.ts +0 -2179
  211. package/src/media-source.ts +0 -2243
  212. package/src/metadata.ts +0 -320
  213. package/src/misc.ts +0 -798
  214. package/src/mp3/mp3-demuxer.ts +0 -383
  215. package/src/mp3/mp3-muxer.ts +0 -166
  216. package/src/mp3/mp3-reader.ts +0 -34
  217. package/src/mp3/mp3-writer.ts +0 -120
  218. package/src/muxer.ts +0 -88
  219. package/src/node.ts +0 -11
  220. package/src/ogg/ogg-demuxer.ts +0 -1053
  221. package/src/ogg/ogg-misc.ts +0 -116
  222. package/src/ogg/ogg-muxer.ts +0 -497
  223. package/src/ogg/ogg-reader.ts +0 -93
  224. package/src/output-format.ts +0 -945
  225. package/src/output.ts +0 -488
  226. package/src/packet.ts +0 -263
  227. package/src/pcm.ts +0 -112
  228. package/src/reader.ts +0 -323
  229. package/src/sample.ts +0 -1461
  230. package/src/source.ts +0 -1688
  231. package/src/subtitles.ts +0 -711
  232. package/src/target.ts +0 -204
  233. package/src/tsconfig.json +0 -16
  234. package/src/wave/riff-writer.ts +0 -36
  235. package/src/wave/wave-demuxer.ts +0 -529
  236. package/src/wave/wave-muxer.ts +0 -371
  237. package/src/writer.ts +0 -490
@@ -1,197 +0,0 @@
1
- /*!
2
- * Copyright (c) 2025-present, Vanilagy and contributors
3
- *
4
- * This Source Code Form is subject to the terms of the Mozilla Public
5
- * License, v. 2.0. If a copy of the MPL was not distributed with this
6
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7
- */
8
-
9
- import { AudioCodec, VideoCodec } from './codec';
10
- import { MaybePromise } from './misc';
11
- import { EncodedPacket } from './packet';
12
- import { AudioSample, VideoSample } from './sample';
13
-
14
- /**
15
- * Base class for custom video decoders. To add your own custom video decoder, extend this class, implement the
16
- * abstract methods and static `supports` method, and register the decoder using {@link registerDecoder}.
17
- * @group Custom coders
18
- * @public
19
- */
20
- export abstract class CustomVideoDecoder {
21
- /** The input video's codec. */
22
- readonly codec!: VideoCodec;
23
- /** The input video's decoder config. */
24
- readonly config!: VideoDecoderConfig;
25
- /** The callback to call when a decoded VideoSample is available. */
26
- readonly onSample!: (sample: VideoSample) => unknown;
27
-
28
- /** Returns true if and only if the decoder can decode the given codec configuration. */
29
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
- static supports(codec: VideoCodec, config: VideoDecoderConfig): boolean {
31
- return false;
32
- }
33
-
34
- /** Called after decoder creation; can be used for custom initialization logic. */
35
- abstract init(): MaybePromise<void>;
36
- /** Decodes the provided encoded packet. */
37
- abstract decode(packet: EncodedPacket): MaybePromise<void>;
38
- /** Decodes all remaining packets and then resolves. */
39
- abstract flush(): MaybePromise<void>;
40
- /** Called when the decoder is no longer needed and its resources can be freed. */
41
- abstract close(): MaybePromise<void>;
42
- }
43
-
44
- /**
45
- * Base class for custom audio decoders. To add your own custom audio decoder, extend this class, implement the
46
- * abstract methods and static `supports` method, and register the decoder using {@link registerDecoder}.
47
- * @group Custom coders
48
- * @public
49
- */
50
- export abstract class CustomAudioDecoder {
51
- /** The input audio's codec. */
52
- readonly codec!: AudioCodec;
53
- /** The input audio's decoder config. */
54
- readonly config!: AudioDecoderConfig;
55
- /** The callback to call when a decoded AudioSample is available. */
56
- readonly onSample!: (sample: AudioSample) => unknown;
57
-
58
- /** Returns true if and only if the decoder can decode the given codec configuration. */
59
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
60
- static supports(codec: AudioCodec, config: AudioDecoderConfig): boolean {
61
- return false;
62
- }
63
-
64
- /** Called after decoder creation; can be used for custom initialization logic. */
65
- abstract init(): MaybePromise<void>;
66
- /** Decodes the provided encoded packet. */
67
- abstract decode(packet: EncodedPacket): MaybePromise<void>;
68
- /** Decodes all remaining packets and then resolves. */
69
- abstract flush(): MaybePromise<void>;
70
- /** Called when the decoder is no longer needed and its resources can be freed. */
71
- abstract close(): MaybePromise<void>;
72
- }
73
-
74
- /**
75
- * Base class for custom video encoders. To add your own custom video encoder, extend this class, implement the
76
- * abstract methods and static `supports` method, and register the encoder using {@link registerEncoder}.
77
- * @group Custom coders
78
- * @public
79
- */
80
- export abstract class CustomVideoEncoder {
81
- /** The codec with which to encode the video. */
82
- readonly codec!: VideoCodec;
83
- /** Config for the encoder. */
84
- readonly config!: VideoEncoderConfig;
85
- /** The callback to call when an EncodedPacket is available. */
86
- readonly onPacket!: (packet: EncodedPacket, meta?: EncodedVideoChunkMetadata) => unknown;
87
-
88
- /** Returns true if and only if the encoder can encode the given codec configuration. */
89
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
90
- static supports(codec: VideoCodec, config: VideoEncoderConfig): boolean {
91
- return false;
92
- }
93
-
94
- /** Called after encoder creation; can be used for custom initialization logic. */
95
- abstract init(): MaybePromise<void>;
96
- /** Encodes the provided video sample. */
97
- abstract encode(videoSample: VideoSample, options: VideoEncoderEncodeOptions): MaybePromise<void>;
98
- /** Encodes all remaining video samples and then resolves. */
99
- abstract flush(): MaybePromise<void>;
100
- /** Called when the encoder is no longer needed and its resources can be freed. */
101
- abstract close(): MaybePromise<void>;
102
- }
103
-
104
- /**
105
- * Base class for custom audio encoders. To add your own custom audio encoder, extend this class, implement the
106
- * abstract methods and static `supports` method, and register the encoder using {@link registerEncoder}.
107
- * @group Custom coders
108
- * @public
109
- */
110
- export abstract class CustomAudioEncoder {
111
- /** The codec with which to encode the audio. */
112
- readonly codec!: AudioCodec;
113
- /** Config for the encoder. */
114
- readonly config!: AudioEncoderConfig;
115
- /** The callback to call when an EncodedPacket is available. */
116
- readonly onPacket!: (packet: EncodedPacket, meta?: EncodedAudioChunkMetadata) => unknown;
117
-
118
- /** Returns true if and only if the encoder can encode the given codec configuration. */
119
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
120
- static supports(codec: AudioCodec, config: AudioEncoderConfig): boolean {
121
- return false;
122
- }
123
-
124
- /** Called after encoder creation; can be used for custom initialization logic. */
125
- abstract init(): MaybePromise<void>;
126
- /** Encodes the provided audio sample. */
127
- abstract encode(audioSample: AudioSample): MaybePromise<void>;
128
- /** Encodes all remaining audio samples and then resolves. */
129
- abstract flush(): MaybePromise<void>;
130
- /** Called when the encoder is no longer needed and its resources can be freed. */
131
- abstract close(): MaybePromise<void>;
132
- }
133
-
134
- export const customVideoDecoders: typeof CustomVideoDecoder[] = [];
135
- export const customAudioDecoders: typeof CustomAudioDecoder[] = [];
136
- export const customVideoEncoders: typeof CustomVideoEncoder[] = [];
137
- export const customAudioEncoders: typeof CustomAudioEncoder[] = [];
138
-
139
- /**
140
- * Registers a custom video or audio decoder. Registered decoders will automatically be used for decoding whenever
141
- * possible.
142
- * @group Custom coders
143
- * @public
144
- */
145
- export const registerDecoder = (decoder: typeof CustomVideoDecoder | typeof CustomAudioDecoder) => {
146
- if (decoder.prototype instanceof CustomVideoDecoder) {
147
- const casted = decoder as typeof CustomVideoDecoder;
148
-
149
- if (customVideoDecoders.includes(casted)) {
150
- console.warn('Video decoder already registered.');
151
- return;
152
- }
153
-
154
- customVideoDecoders.push(casted);
155
- } else if (decoder.prototype instanceof CustomAudioDecoder) {
156
- const casted = decoder as typeof CustomAudioDecoder;
157
-
158
- if (customAudioDecoders.includes(casted)) {
159
- console.warn('Audio decoder already registered.');
160
- return;
161
- }
162
-
163
- customAudioDecoders.push(casted);
164
- } else {
165
- throw new TypeError('Decoder must be a CustomVideoDecoder or CustomAudioDecoder.');
166
- }
167
- };
168
-
169
- /**
170
- * Registers a custom video or audio encoder. Registered encoders will automatically be used for encoding whenever
171
- * possible.
172
- * @group Custom coders
173
- * @public
174
- */
175
- export const registerEncoder = (encoder: typeof CustomVideoEncoder | typeof CustomAudioEncoder) => {
176
- if (encoder.prototype instanceof CustomVideoEncoder) {
177
- const casted = encoder as typeof CustomVideoEncoder;
178
-
179
- if (customVideoEncoders.includes(casted)) {
180
- console.warn('Video encoder already registered.');
181
- return;
182
- }
183
-
184
- customVideoEncoders.push(casted);
185
- } else if (encoder.prototype instanceof CustomAudioEncoder) {
186
- const casted = encoder as typeof CustomAudioEncoder;
187
-
188
- if (customAudioEncoders.includes(casted)) {
189
- console.warn('Audio encoder already registered.');
190
- return;
191
- }
192
-
193
- customAudioEncoders.push(casted);
194
- } else {
195
- throw new TypeError('Encoder must be a CustomVideoEncoder or CustomAudioEncoder.');
196
- }
197
- };
package/src/demuxer.ts DELETED
@@ -1,24 +0,0 @@
1
- /*!
2
- * Copyright (c) 2025-present, Vanilagy and contributors
3
- *
4
- * This Source Code Form is subject to the terms of the Mozilla Public
5
- * License, v. 2.0. If a copy of the MPL was not distributed with this
6
- * file, You can obtain one at https://mozilla.org/MPL/2.0/.
7
- */
8
-
9
- import { Input } from './input';
10
- import { InputTrack } from './input-track';
11
- import { MetadataTags } from './metadata';
12
-
13
- export abstract class Demuxer {
14
- input: Input;
15
-
16
- constructor(input: Input) {
17
- this.input = input;
18
- }
19
-
20
- abstract computeDuration(): Promise<number>;
21
- abstract getTracks(): Promise<InputTrack[]>;
22
- abstract getMimeType(): Promise<string>;
23
- abstract getMetadataTags(): Promise<MetadataTags>;
24
- }