node-av 4.0.0 → 5.0.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 (104) hide show
  1. package/README.md +23 -0
  2. package/binding.gyp +19 -11
  3. package/dist/api/bitstream-filter.d.ts +13 -12
  4. package/dist/api/bitstream-filter.js +33 -29
  5. package/dist/api/bitstream-filter.js.map +1 -1
  6. package/dist/api/decoder.d.ts +211 -96
  7. package/dist/api/decoder.js +396 -375
  8. package/dist/api/decoder.js.map +1 -1
  9. package/dist/api/demuxer.d.ts +10 -10
  10. package/dist/api/demuxer.js +7 -10
  11. package/dist/api/demuxer.js.map +1 -1
  12. package/dist/api/encoder.d.ts +155 -122
  13. package/dist/api/encoder.js +368 -541
  14. package/dist/api/encoder.js.map +1 -1
  15. package/dist/api/filter-complex.d.ts +769 -0
  16. package/dist/api/filter-complex.js +1596 -0
  17. package/dist/api/filter-complex.js.map +1 -0
  18. package/dist/api/filter-presets.d.ts +68 -0
  19. package/dist/api/filter-presets.js +96 -0
  20. package/dist/api/filter-presets.js.map +1 -1
  21. package/dist/api/filter.d.ts +183 -113
  22. package/dist/api/filter.js +347 -365
  23. package/dist/api/filter.js.map +1 -1
  24. package/dist/api/fmp4-stream.d.ts +2 -2
  25. package/dist/api/fmp4-stream.js.map +1 -1
  26. package/dist/api/index.d.ts +2 -0
  27. package/dist/api/index.js +3 -0
  28. package/dist/api/index.js.map +1 -1
  29. package/dist/api/io-stream.d.ts +3 -3
  30. package/dist/api/io-stream.js.map +1 -1
  31. package/dist/api/muxer.d.ts +10 -10
  32. package/dist/api/muxer.js +6 -6
  33. package/dist/api/muxer.js.map +1 -1
  34. package/dist/api/pipeline.d.ts +2 -2
  35. package/dist/api/pipeline.js +22 -22
  36. package/dist/api/pipeline.js.map +1 -1
  37. package/dist/api/rtp-stream.d.ts +2 -2
  38. package/dist/api/rtp-stream.js.map +1 -1
  39. package/dist/api/types.d.ts +63 -7
  40. package/dist/api/utilities/audio-sample.d.ts +10 -0
  41. package/dist/api/utilities/audio-sample.js +10 -0
  42. package/dist/api/utilities/audio-sample.js.map +1 -1
  43. package/dist/api/utilities/channel-layout.d.ts +1 -0
  44. package/dist/api/utilities/channel-layout.js +1 -0
  45. package/dist/api/utilities/channel-layout.js.map +1 -1
  46. package/dist/api/utilities/image.d.ts +38 -0
  47. package/dist/api/utilities/image.js +38 -0
  48. package/dist/api/utilities/image.js.map +1 -1
  49. package/dist/api/utilities/index.d.ts +1 -0
  50. package/dist/api/utilities/index.js +2 -0
  51. package/dist/api/utilities/index.js.map +1 -1
  52. package/dist/api/utilities/media-type.d.ts +1 -0
  53. package/dist/api/utilities/media-type.js +1 -0
  54. package/dist/api/utilities/media-type.js.map +1 -1
  55. package/dist/api/utilities/pixel-format.d.ts +3 -0
  56. package/dist/api/utilities/pixel-format.js +3 -0
  57. package/dist/api/utilities/pixel-format.js.map +1 -1
  58. package/dist/api/utilities/sample-format.d.ts +5 -0
  59. package/dist/api/utilities/sample-format.js +5 -0
  60. package/dist/api/utilities/sample-format.js.map +1 -1
  61. package/dist/api/utilities/scheduler.d.ts +21 -52
  62. package/dist/api/utilities/scheduler.js +20 -58
  63. package/dist/api/utilities/scheduler.js.map +1 -1
  64. package/dist/api/utilities/streaming.d.ts +32 -1
  65. package/dist/api/utilities/streaming.js +32 -1
  66. package/dist/api/utilities/streaming.js.map +1 -1
  67. package/dist/api/utilities/timestamp.d.ts +14 -0
  68. package/dist/api/utilities/timestamp.js +14 -0
  69. package/dist/api/utilities/timestamp.js.map +1 -1
  70. package/dist/api/utilities/whisper-model.d.ts +310 -0
  71. package/dist/api/utilities/whisper-model.js +528 -0
  72. package/dist/api/utilities/whisper-model.js.map +1 -0
  73. package/dist/api/whisper.d.ts +324 -0
  74. package/dist/api/whisper.js +362 -0
  75. package/dist/api/whisper.js.map +1 -0
  76. package/dist/constants/constants.d.ts +3 -1
  77. package/dist/constants/constants.js +1 -0
  78. package/dist/constants/constants.js.map +1 -1
  79. package/dist/ffmpeg/index.d.ts +3 -3
  80. package/dist/ffmpeg/index.js +3 -3
  81. package/dist/ffmpeg/utils.d.ts +27 -0
  82. package/dist/ffmpeg/utils.js +28 -16
  83. package/dist/ffmpeg/utils.js.map +1 -1
  84. package/dist/lib/binding.d.ts +4 -4
  85. package/dist/lib/binding.js.map +1 -1
  86. package/dist/lib/codec-parameters.d.ts +47 -1
  87. package/dist/lib/codec-parameters.js +55 -0
  88. package/dist/lib/codec-parameters.js.map +1 -1
  89. package/dist/lib/fifo.d.ts +416 -0
  90. package/dist/lib/fifo.js +453 -0
  91. package/dist/lib/fifo.js.map +1 -0
  92. package/dist/lib/frame.d.ts +96 -1
  93. package/dist/lib/frame.js +139 -1
  94. package/dist/lib/frame.js.map +1 -1
  95. package/dist/lib/index.d.ts +1 -0
  96. package/dist/lib/index.js +2 -0
  97. package/dist/lib/index.js.map +1 -1
  98. package/dist/lib/native-types.d.ts +29 -2
  99. package/dist/lib/rational.d.ts +18 -0
  100. package/dist/lib/rational.js +19 -0
  101. package/dist/lib/rational.js.map +1 -1
  102. package/dist/lib/types.d.ts +23 -1
  103. package/install/check.js +2 -2
  104. package/package.json +30 -20
@@ -1,8 +1,9 @@
1
1
  import type { RtpPacket } from 'werift';
2
- import type { AVPixelFormat, AVSampleFormat, AVSeekWhence } from '../constants/index.js';
3
- import type { IRational } from '../lib/index.js';
2
+ import type { AVMediaType, AVPixelFormat, AVSampleFormat, AVSeekWhence } from '../constants/index.js';
3
+ import type { IRational } from '../lib/types.js';
4
4
  import type { Decoder } from './decoder.js';
5
5
  import type { Demuxer } from './demuxer.js';
6
+ import type { FilterComplexAPI } from './filter-complex.js';
6
7
  import type { FilterAPI } from './filter.js';
7
8
  import type { HardwareContext } from './hardware.js';
8
9
  /**
@@ -96,7 +97,7 @@ export type RawData = VideoRawData | AudioRawData;
96
97
  * Configures how media files are opened and packets are read.
97
98
  * Supports format detection, buffering, and FFmpeg options.
98
99
  */
99
- export interface MediaInputOptions {
100
+ export interface DemuxerOptions {
100
101
  /**
101
102
  * Buffer size for reading/writing operations.
102
103
  *
@@ -179,7 +180,7 @@ export interface MediaInputOptions {
179
180
  *
180
181
  * Configures output container format and buffering.
181
182
  */
182
- export interface MediaOutputOptions {
183
+ export interface MuxerOptions {
183
184
  /**
184
185
  * Input media for automatic metadata and property copying.
185
186
  *
@@ -191,7 +192,7 @@ export interface MediaOutputOptions {
191
192
  *
192
193
  * This matches FFmpeg CLI behavior which copies metadata by default.
193
194
  */
194
- input?: Demuxer | RTPMediaInput;
195
+ input?: Demuxer | RTPDemuxer;
195
196
  /**
196
197
  * Preferred output format.
197
198
  *
@@ -473,7 +474,7 @@ export interface EncoderOptions {
473
474
  * Used to extract filter output parameters.
474
475
  * Ensures encoder matches filter output characteristics.
475
476
  */
476
- filter?: FilterAPI;
477
+ filter?: FilterAPI | FilterComplexAPI;
477
478
  /**
478
479
  * Additional codec-specific options.
479
480
  *
@@ -569,6 +570,58 @@ export interface FilterOptions {
569
570
  */
570
571
  allowReinit?: boolean;
571
572
  }
573
+ /**
574
+ * Input configuration for FilterComplexAPI.
575
+ */
576
+ export interface FilterComplexInput {
577
+ /**
578
+ * Input label identifier.
579
+ *
580
+ * Matches labels in filter_complex description (e.g., '0:v', '1:v', '0:a').
581
+ * Used to identify which buffersrc filter to send frames to via process() method.
582
+ */
583
+ label: string;
584
+ }
585
+ /**
586
+ * Output configuration for FilterComplexAPI.
587
+ */
588
+ export interface FilterComplexOutput {
589
+ /**
590
+ * Output label identifier.
591
+ *
592
+ * Matches labels in filter_complex description (e.g., 'out', 'thumb', 'main').
593
+ * Used to identify which buffersink to read from via output() method.
594
+ */
595
+ label: string;
596
+ /**
597
+ * Media type for this output.
598
+ *
599
+ * If not specified, defaults to the media type of the first input.
600
+ * Set to 'AVMEDIA_TYPE_VIDEO' or 'AVMEDIA_TYPE_AUDIO' explicitly if needed (e.g., for audio extraction filters).
601
+ *
602
+ * @default Inferred from first input
603
+ */
604
+ mediaType?: AVMediaType;
605
+ }
606
+ /**
607
+ * Options for creating a complex filter graph.
608
+ */
609
+ export interface FilterComplexOptions extends FilterOptions {
610
+ /**
611
+ * Input sources for the filter graph.
612
+ *
613
+ * Array of labeled frame sources that feed into the filter graph.
614
+ * Labels must match those referenced in the description string.
615
+ */
616
+ inputs: FilterComplexInput[];
617
+ /**
618
+ * Output labels from the filter graph.
619
+ *
620
+ * Array of output identifiers that can be consumed via output() method.
621
+ * Labels must match those defined in the description string.
622
+ */
623
+ outputs: FilterComplexOutput[];
624
+ }
572
625
  /**
573
626
  * Hardware acceleration configuration options.
574
627
  *
@@ -648,7 +701,10 @@ export interface IOOutputCallbacks {
648
701
  */
649
702
  read?: (size: number) => Buffer | null | number;
650
703
  }
651
- export interface RTPMediaInput {
704
+ /**
705
+ * RTP Demuxer interface.
706
+ */
707
+ export interface RTPDemuxer {
652
708
  /**
653
709
  * Demuxer configured for RTP/SRTP reception.
654
710
  *
@@ -52,10 +52,15 @@ export declare class AudioSampleUtils {
52
52
  * Direct mapping to av_samples_alloc()
53
53
  *
54
54
  * @param nbChannels - Number of audio channels
55
+ *
55
56
  * @param nbSamples - Number of samples per channel
57
+ *
56
58
  * @param sampleFmt - Audio sample format
59
+ *
57
60
  * @param align - Buffer alignment (0 for default)
61
+ *
58
62
  * @returns Allocation result with buffers and size information
63
+ *
59
64
  * @throws {FFmpegError} On allocation failure
60
65
  *
61
66
  * @example
@@ -81,10 +86,15 @@ export declare class AudioSampleUtils {
81
86
  * Direct mapping to av_samples_get_buffer_size()
82
87
  *
83
88
  * @param nbChannels - Number of audio channels
89
+ *
84
90
  * @param nbSamples - Number of samples per channel
91
+ *
85
92
  * @param sampleFmt - Audio sample format
93
+ *
86
94
  * @param align - Buffer alignment (0 for default)
95
+ *
87
96
  * @returns Buffer size and line size information
97
+ *
88
98
  * @throws {FFmpegError} On invalid parameters
89
99
  *
90
100
  * @example
@@ -34,10 +34,15 @@ export class AudioSampleUtils {
34
34
  * Direct mapping to av_samples_alloc()
35
35
  *
36
36
  * @param nbChannels - Number of audio channels
37
+ *
37
38
  * @param nbSamples - Number of samples per channel
39
+ *
38
40
  * @param sampleFmt - Audio sample format
41
+ *
39
42
  * @param align - Buffer alignment (0 for default)
43
+ *
40
44
  * @returns Allocation result with buffers and size information
45
+ *
41
46
  * @throws {FFmpegError} On allocation failure
42
47
  *
43
48
  * @example
@@ -69,10 +74,15 @@ export class AudioSampleUtils {
69
74
  * Direct mapping to av_samples_get_buffer_size()
70
75
  *
71
76
  * @param nbChannels - Number of audio channels
77
+ *
72
78
  * @param nbSamples - Number of samples per channel
79
+ *
73
80
  * @param sampleFmt - Audio sample format
81
+ *
74
82
  * @param align - Buffer alignment (0 for default)
83
+ *
75
84
  * @returns Buffer size and line size information
85
+ *
76
86
  * @throws {FFmpegError} On invalid parameters
77
87
  *
78
88
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"audio-sample.js","sourceRoot":"","sources":["../../../src/api/utilities/audio-sample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAC1F,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"audio-sample.js","sourceRoot":"","sources":["../../../src/api/utilities/audio-sample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0BjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAC1F,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAChF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,MAAM,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAyB,EAAE,KAAa;QAClG,MAAM,MAAM,GAAG,QAAQ,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACxF,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,iCAAiC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,MAA+B,CAAC;IACzC,CAAC;CACF"}
@@ -40,6 +40,7 @@ export declare class ChannelLayoutUtils {
40
40
  * Direct mapping to av_channel_layout_describe()
41
41
  *
42
42
  * @param channelLayout - Channel layout to describe
43
+ *
43
44
  * @returns String description, or null on error
44
45
  *
45
46
  * @example
@@ -41,6 +41,7 @@ export class ChannelLayoutUtils {
41
41
  * Direct mapping to av_channel_layout_describe()
42
42
  *
43
43
  * @param channelLayout - Channel layout to describe
44
+ *
44
45
  * @returns String description, or null on error
45
46
  *
46
47
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"channel-layout.js","sourceRoot":"","sources":["../../../src/api/utilities/channel-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,kBAAkB;IAC7B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAqC;QACnD,OAAO,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"channel-layout.js","sourceRoot":"","sources":["../../../src/api/utilities/channel-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,kBAAkB;IAC7B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAqC;QACnD,OAAO,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -41,10 +41,15 @@ export declare class ImageUtils {
41
41
  * Direct mapping to av_image_alloc()
42
42
  *
43
43
  * @param width - Image width in pixels
44
+ *
44
45
  * @param height - Image height in pixels
46
+ *
45
47
  * @param pixFmt - Pixel format
48
+ *
46
49
  * @param align - Buffer alignment (typically 1, 16, or 32)
50
+ *
47
51
  * @returns Allocation result with buffer, size, and line sizes
52
+ *
48
53
  * @throws {FFmpegError} On allocation failure
49
54
  *
50
55
  * @example
@@ -68,11 +73,26 @@ export declare class ImageUtils {
68
73
  * This is an alias for compatibility.
69
74
  *
70
75
  * @param width - Image width in pixels
76
+ *
71
77
  * @param height - Image height in pixels
78
+ *
72
79
  * @param pixFmt - Pixel format
80
+ *
73
81
  * @param align - Buffer alignment
82
+ *
74
83
  * @returns Allocation result
84
+ *
75
85
  * @throws {FFmpegError} On allocation failure
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * import { ImageUtils } from 'node-av';
90
+ * import { AV_PIX_FMT_YUV420P } from 'node-av/constants';
91
+ *
92
+ * // Allocate image buffer using allocArrays
93
+ * const image = ImageUtils.allocArrays(1920, 1080, AV_PIX_FMT_YUV420P, 32);
94
+ * console.log(`Allocated ${image.size} bytes`);
95
+ * ```
76
96
  */
77
97
  static allocArrays(width: number, height: number, pixFmt: AVPixelFormat, align: number): ImageAllocation;
78
98
  /**
@@ -82,11 +102,17 @@ export declare class ImageUtils {
82
102
  * Direct mapping to av_image_copy2()
83
103
  *
84
104
  * @param dstData - Destination data buffers (one per plane)
105
+ *
85
106
  * @param dstLinesizes - Destination line sizes
107
+ *
86
108
  * @param srcData - Source data buffers (one per plane)
109
+ *
87
110
  * @param srcLinesizes - Source line sizes
111
+ *
88
112
  * @param pixFmt - Pixel format
113
+ *
89
114
  * @param width - Image width
115
+ *
90
116
  * @param height - Image height
91
117
  *
92
118
  * @example
@@ -110,9 +136,13 @@ export declare class ImageUtils {
110
136
  * Direct mapping to av_image_get_buffer_size()
111
137
  *
112
138
  * @param pixFmt - Pixel format
139
+ *
113
140
  * @param width - Image width
141
+ *
114
142
  * @param height - Image height
143
+ *
115
144
  * @param align - Buffer alignment
145
+ *
116
146
  * @returns Required buffer size in bytes
117
147
  *
118
148
  * @example
@@ -137,13 +167,21 @@ export declare class ImageUtils {
137
167
  * Direct mapping to av_image_copy_to_buffer()
138
168
  *
139
169
  * @param dst - Destination buffer
170
+ *
140
171
  * @param dstSize - Destination buffer size
172
+ *
141
173
  * @param srcData - Source data buffers (one per plane), or null
174
+ *
142
175
  * @param srcLinesize - Source line sizes, or null
176
+ *
143
177
  * @param pixFmt - Pixel format
178
+ *
144
179
  * @param width - Image width
180
+ *
145
181
  * @param height - Image height
182
+ *
146
183
  * @param align - Buffer alignment
184
+ *
147
185
  * @returns Bytes written, or negative error code
148
186
  *
149
187
  * @example
@@ -32,10 +32,15 @@ export class ImageUtils {
32
32
  * Direct mapping to av_image_alloc()
33
33
  *
34
34
  * @param width - Image width in pixels
35
+ *
35
36
  * @param height - Image height in pixels
37
+ *
36
38
  * @param pixFmt - Pixel format
39
+ *
37
40
  * @param align - Buffer alignment (typically 1, 16, or 32)
41
+ *
38
42
  * @returns Allocation result with buffer, size, and line sizes
43
+ *
39
44
  * @throws {FFmpegError} On allocation failure
40
45
  *
41
46
  * @example
@@ -65,11 +70,26 @@ export class ImageUtils {
65
70
  * This is an alias for compatibility.
66
71
  *
67
72
  * @param width - Image width in pixels
73
+ *
68
74
  * @param height - Image height in pixels
75
+ *
69
76
  * @param pixFmt - Pixel format
77
+ *
70
78
  * @param align - Buffer alignment
79
+ *
71
80
  * @returns Allocation result
81
+ *
72
82
  * @throws {FFmpegError} On allocation failure
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * import { ImageUtils } from 'node-av';
87
+ * import { AV_PIX_FMT_YUV420P } from 'node-av/constants';
88
+ *
89
+ * // Allocate image buffer using allocArrays
90
+ * const image = ImageUtils.allocArrays(1920, 1080, AV_PIX_FMT_YUV420P, 32);
91
+ * console.log(`Allocated ${image.size} bytes`);
92
+ * ```
73
93
  */
74
94
  static allocArrays(width, height, pixFmt, align) {
75
95
  return ImageUtils.alloc(width, height, pixFmt, align);
@@ -81,11 +101,17 @@ export class ImageUtils {
81
101
  * Direct mapping to av_image_copy2()
82
102
  *
83
103
  * @param dstData - Destination data buffers (one per plane)
104
+ *
84
105
  * @param dstLinesizes - Destination line sizes
106
+ *
85
107
  * @param srcData - Source data buffers (one per plane)
108
+ *
86
109
  * @param srcLinesizes - Source line sizes
110
+ *
87
111
  * @param pixFmt - Pixel format
112
+ *
88
113
  * @param width - Image width
114
+ *
89
115
  * @param height - Image height
90
116
  *
91
117
  * @example
@@ -111,9 +137,13 @@ export class ImageUtils {
111
137
  * Direct mapping to av_image_get_buffer_size()
112
138
  *
113
139
  * @param pixFmt - Pixel format
140
+ *
114
141
  * @param width - Image width
142
+ *
115
143
  * @param height - Image height
144
+ *
116
145
  * @param align - Buffer alignment
146
+ *
117
147
  * @returns Required buffer size in bytes
118
148
  *
119
149
  * @example
@@ -140,13 +170,21 @@ export class ImageUtils {
140
170
  * Direct mapping to av_image_copy_to_buffer()
141
171
  *
142
172
  * @param dst - Destination buffer
173
+ *
143
174
  * @param dstSize - Destination buffer size
175
+ *
144
176
  * @param srcData - Source data buffers (one per plane), or null
177
+ *
145
178
  * @param srcLinesize - Source line sizes, or null
179
+ *
146
180
  * @param pixFmt - Pixel format
181
+ *
147
182
  * @param width - Image width
183
+ *
148
184
  * @param height - Image height
185
+ *
149
186
  * @param align - Buffer alignment
187
+ *
150
188
  * @returns Bytes written, or negative error code
151
189
  *
152
190
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/api/utilities/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,UAAU;IACrB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QACpF,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,IAAI,CAAC,OAAiB,EAAE,YAAsB,EAAE,OAAiB,EAAE,YAAsB,EAAE,MAAqB,EAAE,KAAa,EAAE,MAAc;QACpJ,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,MAAM,CAAC,aAAa,CAAC,MAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;QACtF,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,YAAY,CACjB,GAAW,EACX,OAAe,EACf,OAAwB,EACxB,WAA4B,EAC5B,MAAqB,EACrB,KAAa,EACb,MAAc,EACd,KAAa;QAEb,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;CACF"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/api/utilities/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgBjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,UAAU;IACrB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,MAAyB,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,MAAqB,EAAE,KAAa;QACpF,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,IAAI,CAAC,OAAiB,EAAE,YAAsB,EAAE,OAAiB,EAAE,YAAsB,EAAE,MAAqB,EAAE,KAAa,EAAE,MAAc;QACpJ,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,MAAM,CAAC,aAAa,CAAC,MAAqB,EAAE,KAAa,EAAE,MAAc,EAAE,KAAa;QACtF,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,MAAM,CAAC,YAAY,CACjB,GAAW,EACX,OAAe,EACf,OAAwB,EACxB,WAA4B,EAC5B,MAAqB,EACrB,KAAa,EACb,MAAc,EACd,KAAa;QAEb,OAAO,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxG,CAAC;CACF"}
@@ -6,5 +6,6 @@ export { PixelFormatUtils } from './pixel-format.js';
6
6
  export { SampleFormatUtils } from './sample-format.js';
7
7
  export { TimestampUtils } from './timestamp.js';
8
8
  export { StreamingUtils } from './streaming.js';
9
+ export { WhisperDownloader } from './whisper-model.js';
9
10
  export { AsyncQueue } from './async-queue.js';
10
11
  export { Scheduler } from './scheduler.js';
@@ -14,6 +14,8 @@ export { SampleFormatUtils } from './sample-format.js';
14
14
  export { TimestampUtils } from './timestamp.js';
15
15
  // Streaming
16
16
  export { StreamingUtils } from './streaming.js';
17
+ // Whisper Model Downloader
18
+ export { WhisperDownloader } from './whisper-model.js';
17
19
  // AsyncQueue
18
20
  export { AsyncQueue } from './async-queue.js';
19
21
  // Scheduler
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/utilities/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAA0D,MAAM,mBAAmB,CAAC;AAE7G,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,QAAQ;AACR,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/utilities/index.ts"],"names":[],"mappings":"AAAA,QAAQ;AACR,OAAO,EAAE,gBAAgB,EAA0D,MAAM,mBAAmB,CAAC;AAE7G,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,QAAQ;AACR,OAAO,EAAE,UAAU,EAAwB,MAAM,YAAY,CAAC;AAE9D,QAAQ;AACR,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,aAAa;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -24,6 +24,7 @@ export declare class MediaTypeUtils {
24
24
  * Direct mapping to av_get_media_type_string()
25
25
  *
26
26
  * @param type - Media type enum value
27
+ *
27
28
  * @returns String representation, or null for invalid type
28
29
  *
29
30
  * @example
@@ -25,6 +25,7 @@ export class MediaTypeUtils {
25
25
  * Direct mapping to av_get_media_type_string()
26
26
  *
27
27
  * @param type - Media type enum value
28
+ *
28
29
  * @returns String representation, or null for invalid type
29
30
  *
30
31
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../../src/api/utilities/media-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACzB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,SAAS,CAAC,IAAiB;QAChC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../../src/api/utilities/media-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACzB,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,MAAM,CAAC,SAAS,CAAC,IAAiB;QAChC,OAAO,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -28,6 +28,7 @@ export declare class PixelFormatUtils {
28
28
  * Direct mapping to av_get_pix_fmt_name()
29
29
  *
30
30
  * @param format - Video pixel format
31
+ *
31
32
  * @returns Format name string, or null for invalid format
32
33
  *
33
34
  * @example
@@ -47,6 +48,7 @@ export declare class PixelFormatUtils {
47
48
  * Direct mapping to av_get_pix_fmt()
48
49
  *
49
50
  * @param name - Pixel format name string
51
+ *
50
52
  * @returns Pixel format enum value, or AV_PIX_FMT_NONE for unknown formats
51
53
  *
52
54
  * @example
@@ -70,6 +72,7 @@ export declare class PixelFormatUtils {
70
72
  * Direct mapping to av_pix_fmt_desc_get() and checking for AV_PIX_FMT_FLAG_HWACCEL
71
73
  *
72
74
  * @param format - Video pixel format
75
+ *
73
76
  * @returns True if format is hardware accelerated
74
77
  *
75
78
  * @example
@@ -29,6 +29,7 @@ export class PixelFormatUtils {
29
29
  * Direct mapping to av_get_pix_fmt_name()
30
30
  *
31
31
  * @param format - Video pixel format
32
+ *
32
33
  * @returns Format name string, or null for invalid format
33
34
  *
34
35
  * @example
@@ -50,6 +51,7 @@ export class PixelFormatUtils {
50
51
  * Direct mapping to av_get_pix_fmt()
51
52
  *
52
53
  * @param name - Pixel format name string
54
+ *
53
55
  * @returns Pixel format enum value, or AV_PIX_FMT_NONE for unknown formats
54
56
  *
55
57
  * @example
@@ -75,6 +77,7 @@ export class PixelFormatUtils {
75
77
  * Direct mapping to av_pix_fmt_desc_get() and checking for AV_PIX_FMT_FLAG_HWACCEL
76
78
  *
77
79
  * @param format - Video pixel format
80
+ *
78
81
  * @returns True if format is hardware accelerated
79
82
  *
80
83
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"pixel-format.js","sourceRoot":"","sources":["../../../src/api/utilities/pixel-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,OAAO,CAAC,MAAqB;QAClC,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,UAAU,CAAC,MAAqB;QACrC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"pixel-format.js","sourceRoot":"","sources":["../../../src/api/utilities/pixel-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,gBAAgB;IAC3B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,OAAO,CAAC,MAAqB;QAClC,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,UAAU,CAAC,MAAqB;QACrC,OAAO,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -30,6 +30,7 @@ export declare class SampleFormatUtils {
30
30
  * Direct mapping to av_get_bytes_per_sample()
31
31
  *
32
32
  * @param format - Audio sample format
33
+ *
33
34
  * @returns Number of bytes per sample, or 0 for invalid format
34
35
  *
35
36
  * @example
@@ -49,6 +50,7 @@ export declare class SampleFormatUtils {
49
50
  * Direct mapping to av_get_sample_fmt_name()
50
51
  *
51
52
  * @param format - Audio sample format
53
+ *
52
54
  * @returns Format name string, or null for invalid format
53
55
  *
54
56
  * @example
@@ -69,6 +71,7 @@ export declare class SampleFormatUtils {
69
71
  * Direct mapping to av_get_packed_sample_fmt()
70
72
  *
71
73
  * @param format - Audio sample format
74
+ *
72
75
  * @returns Packed sample format
73
76
  *
74
77
  * @example
@@ -89,6 +92,7 @@ export declare class SampleFormatUtils {
89
92
  * Direct mapping to av_get_planar_sample_fmt()
90
93
  *
91
94
  * @param format - Audio sample format
95
+ *
92
96
  * @returns Planar sample format
93
97
  *
94
98
  * @example
@@ -109,6 +113,7 @@ export declare class SampleFormatUtils {
109
113
  * Direct mapping to av_sample_fmt_is_planar()
110
114
  *
111
115
  * @param format - Audio sample format
116
+ *
112
117
  * @returns True if format is planar, false if packed/interleaved
113
118
  *
114
119
  * @example
@@ -31,6 +31,7 @@ export class SampleFormatUtils {
31
31
  * Direct mapping to av_get_bytes_per_sample()
32
32
  *
33
33
  * @param format - Audio sample format
34
+ *
34
35
  * @returns Number of bytes per sample, or 0 for invalid format
35
36
  *
36
37
  * @example
@@ -52,6 +53,7 @@ export class SampleFormatUtils {
52
53
  * Direct mapping to av_get_sample_fmt_name()
53
54
  *
54
55
  * @param format - Audio sample format
56
+ *
55
57
  * @returns Format name string, or null for invalid format
56
58
  *
57
59
  * @example
@@ -74,6 +76,7 @@ export class SampleFormatUtils {
74
76
  * Direct mapping to av_get_packed_sample_fmt()
75
77
  *
76
78
  * @param format - Audio sample format
79
+ *
77
80
  * @returns Packed sample format
78
81
  *
79
82
  * @example
@@ -96,6 +99,7 @@ export class SampleFormatUtils {
96
99
  * Direct mapping to av_get_planar_sample_fmt()
97
100
  *
98
101
  * @param format - Audio sample format
102
+ *
99
103
  * @returns Planar sample format
100
104
  *
101
105
  * @example
@@ -118,6 +122,7 @@ export class SampleFormatUtils {
118
122
  * Direct mapping to av_sample_fmt_is_planar()
119
123
  *
120
124
  * @param format - Audio sample format
125
+ *
121
126
  * @returns True if format is planar, false if packed/interleaved
122
127
  *
123
128
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"sample-format.js","sourceRoot":"","sources":["../../../src/api/utilities/sample-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,iBAAiB;IAC5B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAsB;QAC7C,OAAO,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,OAAO,CAAC,MAAsB;QACnC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAsB;QAC3C,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAsB;QAC3C,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAsB;QACpC,OAAO,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"sample-format.js","sourceRoot":"","sources":["../../../src/api/utilities/sample-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,iBAAiB;IAC5B,+CAA+C;IAC/C,gBAAuB,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAsB;QAC7C,OAAO,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,OAAO,CAAC,MAAsB;QACnC,OAAO,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAsB;QAC3C,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,eAAe,CAAC,MAAsB;QAC3C,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAsB;QACpC,OAAO,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF"}