speechrecorderng 3.10.13 → 3.11.1

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 (99) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/speechrecorderng.mjs +204 -201
  3. package/fesm2022/speechrecorderng.mjs.map +1 -1
  4. package/lib/audio/ui/audio_canvas_layer_comp.d.ts +2 -2
  5. package/lib/spr.module.version.d.ts +1 -1
  6. package/lib/ui/canvas_layer_comp.d.ts +1 -1
  7. package/lib/ui/responsive_component.d.ts +1 -1
  8. package/package.json +13 -15
  9. package/esm2022/lib/action/action.mjs +0 -73
  10. package/esm2022/lib/audio/array_audio_buffer.mjs +0 -164
  11. package/esm2022/lib/audio/array_audio_buffer_input_stream.mjs +0 -86
  12. package/esm2022/lib/audio/array_audio_buffer_random_access_stream.mjs +0 -16
  13. package/esm2022/lib/audio/audio_data_holder.mjs +0 -264
  14. package/esm2022/lib/audio/audio_display.mjs +0 -118
  15. package/esm2022/lib/audio/audio_player.mjs +0 -238
  16. package/esm2022/lib/audio/capture/capture.mjs +0 -855
  17. package/esm2022/lib/audio/context.mjs +0 -79
  18. package/esm2022/lib/audio/dsp/level_measure.mjs +0 -517
  19. package/esm2022/lib/audio/format.mjs +0 -20
  20. package/esm2022/lib/audio/impl/wavformat.mjs +0 -7
  21. package/esm2022/lib/audio/impl/wavreader.mjs +0 -144
  22. package/esm2022/lib/audio/impl/wavwriter.mjs +0 -191
  23. package/esm2022/lib/audio/inddb_audio_buffer.mjs +0 -508
  24. package/esm2022/lib/audio/io/stream.mjs +0 -59
  25. package/esm2022/lib/audio/net_audio_buffer.mjs +0 -293
  26. package/esm2022/lib/audio/persistor.mjs +0 -81
  27. package/esm2022/lib/audio/playback/array_audio_buffer_source_node.mjs +0 -126
  28. package/esm2022/lib/audio/playback/audio_source_node.mjs +0 -18
  29. package/esm2022/lib/audio/playback/audio_source_worklet_module_loader.mjs +0 -167
  30. package/esm2022/lib/audio/playback/inddb_audio_buffer_source_node.mjs +0 -167
  31. package/esm2022/lib/audio/playback/net_audio_buffer_source_node.mjs +0 -218
  32. package/esm2022/lib/audio/playback/player.mjs +0 -402
  33. package/esm2022/lib/audio/ui/audio_canvas_layer_comp.mjs +0 -347
  34. package/esm2022/lib/audio/ui/audio_display_control.mjs +0 -150
  35. package/esm2022/lib/audio/ui/audio_display_scroll_pane.mjs +0 -146
  36. package/esm2022/lib/audio/ui/audiosignal.mjs +0 -533
  37. package/esm2022/lib/audio/ui/common.mjs +0 -19
  38. package/esm2022/lib/audio/ui/container.mjs +0 -414
  39. package/esm2022/lib/audio/ui/livelevel.mjs +0 -361
  40. package/esm2022/lib/audio/ui/scroll_pane_horizontal.mjs +0 -11
  41. package/esm2022/lib/audio/ui/sonagram.mjs +0 -900
  42. package/esm2022/lib/db/inddb.mjs +0 -120
  43. package/esm2022/lib/dsp/utils.mjs +0 -48
  44. package/esm2022/lib/environment/environment.defaults.mjs +0 -9
  45. package/esm2022/lib/io/BinaryReader.mjs +0 -93
  46. package/esm2022/lib/io/BinaryWriter.mjs +0 -80
  47. package/esm2022/lib/io/stream.mjs +0 -259
  48. package/esm2022/lib/math/2d/geometry.mjs +0 -28
  49. package/esm2022/lib/math/complex.mjs +0 -58
  50. package/esm2022/lib/math/dft.mjs +0 -196
  51. package/esm2022/lib/media/utils.mjs +0 -14
  52. package/esm2022/lib/net/uploader.mjs +0 -367
  53. package/esm2022/lib/recorder_component.mjs +0 -65
  54. package/esm2022/lib/speechrecorder/project/project.mjs +0 -54
  55. package/esm2022/lib/speechrecorder/project/project.service.mjs +0 -64
  56. package/esm2022/lib/speechrecorder/recording.mjs +0 -124
  57. package/esm2022/lib/speechrecorder/recordings/basic_recording.service.mjs +0 -221
  58. package/esm2022/lib/speechrecorder/recordings/recordings.service.mjs +0 -1014
  59. package/esm2022/lib/speechrecorder/script/script.mjs +0 -114
  60. package/esm2022/lib/speechrecorder/script/script.service.mjs +0 -47
  61. package/esm2022/lib/speechrecorder/session/audiorecorder.mjs +0 -1179
  62. package/esm2022/lib/speechrecorder/session/basicrecorder.mjs +0 -676
  63. package/esm2022/lib/speechrecorder/session/controlpanel.mjs +0 -416
  64. package/esm2022/lib/speechrecorder/session/item.mjs +0 -30
  65. package/esm2022/lib/speechrecorder/session/progress.mjs +0 -135
  66. package/esm2022/lib/speechrecorder/session/prompting.mjs +0 -639
  67. package/esm2022/lib/speechrecorder/session/recorder_combi_pane.mjs +0 -88
  68. package/esm2022/lib/speechrecorder/session/recording_file_cache.mjs +0 -195
  69. package/esm2022/lib/speechrecorder/session/recording_list.mjs +0 -188
  70. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-meta.component.mjs +0 -128
  71. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-navi.component.mjs +0 -114
  72. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-u-i.component.mjs +0 -146
  73. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file-view.component.mjs +0 -424
  74. package/esm2022/lib/speechrecorder/session/recordingfile/recording-file.mjs +0 -68
  75. package/esm2022/lib/speechrecorder/session/recordingfile/recordingfile-service.mjs +0 -288
  76. package/esm2022/lib/speechrecorder/session/session.mjs +0 -2
  77. package/esm2022/lib/speechrecorder/session/session.service.mjs +0 -69
  78. package/esm2022/lib/speechrecorder/session/session_finished_dialog.mjs +0 -46
  79. package/esm2022/lib/speechrecorder/session/sessionmanager.mjs +0 -1385
  80. package/esm2022/lib/speechrecorder/session/warning_bar.mjs +0 -33
  81. package/esm2022/lib/speechrecorder/spruploader.mjs +0 -22
  82. package/esm2022/lib/speechrecorder/startstopsignal/startstopsignal.mjs +0 -2
  83. package/esm2022/lib/speechrecorder/startstopsignal/ui/simpletrafficlight.mjs +0 -57
  84. package/esm2022/lib/speechrecorderng.component.mjs +0 -392
  85. package/esm2022/lib/speechrecorderng.module.mjs +0 -97
  86. package/esm2022/lib/spr.config.mjs +0 -27
  87. package/esm2022/lib/spr.module.version.mjs +0 -2
  88. package/esm2022/lib/ui/canvas_layer_comp.mjs +0 -38
  89. package/esm2022/lib/ui/intersection-observer.directive.mjs +0 -32
  90. package/esm2022/lib/ui/message_dialog.mjs +0 -51
  91. package/esm2022/lib/ui/recordingitem_display.mjs +0 -253
  92. package/esm2022/lib/ui/responsive_component.mjs +0 -24
  93. package/esm2022/lib/utils/scrollIntoViewToBottom.mjs +0 -23
  94. package/esm2022/lib/utils/ua-parser.mjs +0 -190
  95. package/esm2022/lib/utils/utils.mjs +0 -132
  96. package/esm2022/lib/utils/wake_lock.mjs +0 -114
  97. package/esm2022/lib/utils/wake_lock_media.mjs +0 -2
  98. package/esm2022/public-api.mjs +0 -35
  99. package/esm2022/speechrecorderng.mjs +0 -5
@@ -30,7 +30,7 @@ export declare abstract class BasicAudioCanvasLayerComponent extends CanvasLayer
30
30
  viewPortXPixelToFramePosition(xViewPortPixelPos: number): number | null;
31
31
  layoutBounds(bounds: Rectangle, virtualDimension: Dimension, redraw: boolean): void;
32
32
  static ɵfac: i0.ɵɵFactoryDeclaration<BasicAudioCanvasLayerComponent, never>;
33
- static ɵdir: i0.ɵɵDirectiveDeclaration<BasicAudioCanvasLayerComponent, never, never, {}, {}, never, never, false, never>;
33
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BasicAudioCanvasLayerComponent, never, never, {}, {}, never, never, true, never>;
34
34
  }
35
35
  export declare abstract class AudioCanvasLayerComponent extends BasicAudioCanvasLayerComponent {
36
36
  protected static readonly ENABLE_STREAMING_NUMBER_OF_SAMPLES_THRESHOLD: number;
@@ -64,5 +64,5 @@ export declare abstract class AudioCanvasLayerComponent extends BasicAudioCanvas
64
64
  drawBg(): void;
65
65
  drawCursorLayer(): void;
66
66
  static ɵfac: i0.ɵɵFactoryDeclaration<AudioCanvasLayerComponent, never>;
67
- static ɵdir: i0.ɵɵDirectiveDeclaration<AudioCanvasLayerComponent, never, never, { "pointerPosition": { "alias": "pointerPosition"; "required": false; }; "selecting": { "alias": "selecting"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "pointerPositionEventEmitter": "pointerPositionEventEmitter"; "selectingEventEmitter": "selectingEventEmitter"; "selectedEventEmitter": "selectedEventEmitter"; }, never, never, false, never>;
67
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AudioCanvasLayerComponent, never, never, { "pointerPosition": { "alias": "pointerPosition"; "required": false; }; "selecting": { "alias": "selecting"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; }, { "pointerPositionEventEmitter": "pointerPositionEventEmitter"; "selectingEventEmitter": "selectingEventEmitter"; "selectedEventEmitter": "selectedEventEmitter"; }, never, never, true, never>;
68
68
  }
@@ -1 +1 @@
1
- export declare const VERSION = "3.10.13";
1
+ export declare const VERSION = "3.11.1";
@@ -9,5 +9,5 @@ export declare abstract class CanvasLayerComponent {
9
9
  toXVirtualPixelPosition(viewPortX: number): number;
10
10
  toViewPortPosition(virtualPos: Position): Position;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<CanvasLayerComponent, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<CanvasLayerComponent, never, never, {}, {}, never, never, false, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CanvasLayerComponent, never, never, {}, {}, never, never, true, never>;
13
13
  }
@@ -5,5 +5,5 @@ export declare class ResponsiveComponent {
5
5
  screenXs: boolean;
6
6
  constructor(breakpointObserver: BreakpointObserver);
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ResponsiveComponent, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<ResponsiveComponent, never, never, {}, {}, never, never, false, never>;
8
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ResponsiveComponent, never, never, {}, {}, never, never, true, never>;
9
9
  }
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "speechrecorderng",
3
- "version": "3.10.13",
3
+ "version": "3.11.1",
4
4
  "peerDependencies": {
5
- "@angular/animations": "~18.2.12",
6
- "@angular/cdk": "~18.2.13",
7
- "@angular/common": "~18.2.12",
8
- "@angular/compiler": "~18.2.12",
9
- "@angular/core": "~18.2.12",
10
- "@angular/forms": "~18.2.12",
11
- "@angular/material": "~18.2.13",
12
- "@angular/platform-browser": "~18.2.12",
13
- "@angular/platform-browser-dynamic": "~18.2.12",
14
- "@angular/router": "~18.2.12",
15
- "@angular/service-worker": "~18.2.12",
5
+ "@angular/animations": "~19.0.4",
6
+ "@angular/cdk": "~19.0.3",
7
+ "@angular/common": "~19.0.4",
8
+ "@angular/compiler": "~19.0.4",
9
+ "@angular/core": "~19.0.4",
10
+ "@angular/forms": "~19.0.4",
11
+ "@angular/material": "~19.0.3",
12
+ "@angular/platform-browser": "~19.0.4",
13
+ "@angular/platform-browser-dynamic": "~19.0.4",
14
+ "@angular/router": "~19.0.4",
15
+ "@angular/service-worker": "~19.0.4",
16
16
  "rxjs": "~7.8.1",
17
- "zone.js": "~0.14.10"
17
+ "zone.js": "~0.15.0"
18
18
  },
19
19
  "dependencies": {
20
20
  "tslib": "~2.3.1"
@@ -27,8 +27,6 @@
27
27
  },
28
28
  ".": {
29
29
  "types": "./index.d.ts",
30
- "esm2022": "./esm2022/speechrecorderng.mjs",
31
- "esm": "./esm2022/speechrecorderng.mjs",
32
30
  "default": "./fesm2022/speechrecorderng.mjs"
33
31
  }
34
32
  },
@@ -1,73 +0,0 @@
1
- export class ActionEvent {
2
- get value() {
3
- return this._value;
4
- }
5
- constructor(_value = null) {
6
- this._value = _value;
7
- }
8
- }
9
- export class Action {
10
- get value() {
11
- return this._value;
12
- }
13
- constructor(name, value = null) {
14
- this._disabled = true;
15
- this._onAction = null;
16
- this._name = name;
17
- this._value = value;
18
- this.listeners = new Array();
19
- this.controls = [];
20
- }
21
- get name() {
22
- return this._name;
23
- }
24
- get onAction() {
25
- return this._onAction;
26
- }
27
- set onAction(value) {
28
- this._onAction = value;
29
- }
30
- createActionEvent(value = null) {
31
- // default:
32
- return new ActionEvent(value);
33
- }
34
- perform(value = null) {
35
- this._value = value;
36
- if (!this.disabled && this._onAction) {
37
- let ae = this.createActionEvent(value);
38
- this._onAction(ae);
39
- }
40
- }
41
- set disabled(disabled) {
42
- //console.debug("Action: "+this._name+" disabled: "+disabled)
43
- this._disabled = disabled;
44
- for (let c of this.controls) {
45
- c.disabled = this._disabled;
46
- }
47
- //let disStr=this.disabled?"disabled":"enabled";
48
- //console.log(this._name+": "+disStr);
49
- }
50
- get disabled() {
51
- return this._disabled;
52
- }
53
- addControl(ctrl, actionEventName) {
54
- if (ctrl) {
55
- if (this.controls.indexOf(ctrl) < 0) {
56
- ctrl.disabled = this.disabled;
57
- this.controls.push(ctrl);
58
- if (actionEventName) {
59
- ctrl.addEventListener(actionEventName, () => {
60
- this.perform();
61
- });
62
- }
63
- }
64
- }
65
- }
66
- removeControl(ctrl) {
67
- const i = this.controls.indexOf(ctrl);
68
- if (i >= 0) {
69
- this.controls = this.controls.splice(i, 1);
70
- }
71
- }
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2FjdGlvbi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0ksTUFBTSxPQUFPLFdBQVc7SUFDcEIsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxZQUFvQixTQUFjLElBQUk7UUFBbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtJQUV0QyxDQUFDO0NBQ0o7QUFNRCxNQUFNLE9BQU8sTUFBTTtJQUNmLElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBU0QsWUFBWSxJQUFXLEVBQUMsUUFBYSxJQUFJO1FBTHpDLGNBQVMsR0FBQyxJQUFJLENBQUM7UUFDUCxjQUFTLEdBQTZCLElBQUksQ0FBQztRQUsvQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFDLEtBQUssQ0FBQTtRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksS0FBSyxFQUEwQixDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUdELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBaUM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVVLGlCQUFpQixDQUFDLFFBQWMsSUFBSTtRQUMzQyxXQUFXO1FBQ1gsT0FBTyxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxDQUFDLFFBQWMsSUFBSTtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFDLEtBQUssQ0FBQTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsSUFBSSxFQUFFLEdBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLFFBQVEsQ0FBQyxRQUFnQjtRQUMxQiw2REFBNkQ7UUFDNUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxnREFBZ0Q7UUFDaEQsc0NBQXNDO0lBQzFDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFzQixFQUFFLGVBQXdCO1FBQ3ZELElBQUksSUFBSSxFQUFFLENBQUM7WUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN6QixJQUFJLGVBQWUsRUFBRSxDQUFDO29CQUNsQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTt3QkFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNuQixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLElBQXFCO1FBQy9CLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4gICAgZXhwb3J0IGNsYXNzIEFjdGlvbkV2ZW50PFQ+IHtcclxuICAgICAgICBnZXQgdmFsdWUoKTogVHxudWxsIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF92YWx1ZTpUfG51bGw9bnVsbCkge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZXhwb3J0IGludGVyZmFjZSBBY3Rpb25FdmVudExpc3RlbmVyPFQ+e1xyXG4gICAgICAgIChhZTpBY3Rpb25FdmVudDxUPik6dm9pZDtcclxuICAgIH1cclxuXHJcbiAgICBleHBvcnQgY2xhc3MgQWN0aW9uPFQ+IHtcclxuICAgICAgICBnZXQgdmFsdWUoKTogVHxudWxsIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfbmFtZTpzdHJpbmc7XHJcbiAgICAgICAgcHJpdmF0ZSBfdmFsdWU6VHxudWxsO1xyXG4gICAgICAgIF9kaXNhYmxlZD10cnVlO1xyXG4gICAgICAgIHByaXZhdGUgX29uQWN0aW9uOkFjdGlvbkV2ZW50TGlzdGVuZXI8VD58bnVsbD1udWxsO1xyXG4gICAgICAgIGxpc3RlbmVyczpBcnJheTxBY3Rpb25FdmVudExpc3RlbmVyPFQ+PjtcclxuICAgICAgICBwcml2YXRlIGNvbnRyb2xzOkhUTUxJbnB1dEVsZW1lbnRbXTtcclxuXHJcbiAgICAgICAgY29uc3RydWN0b3IobmFtZTpzdHJpbmcsdmFsdWU6VHxudWxsPW51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5fbmFtZSA9IG5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlPXZhbHVlXHJcbiAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzID0gbmV3IEFycmF5PEFjdGlvbkV2ZW50TGlzdGVuZXI8VD4+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuY29udHJvbHMgPSBbXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldCBuYW1lKCk6c3RyaW5nIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgZ2V0IG9uQWN0aW9uKCk6QWN0aW9uRXZlbnRMaXN0ZW5lcjxUPnxudWxsIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX29uQWN0aW9uO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc2V0IG9uQWN0aW9uKHZhbHVlOkFjdGlvbkV2ZW50TGlzdGVuZXI8VD58bnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbkFjdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcHJvdGVjdGVkICBjcmVhdGVBY3Rpb25FdmVudCh2YWx1ZTogVHxudWxsPW51bGwpOkFjdGlvbkV2ZW50PFQ+IHtcclxuICAgICAgICAgICAgLy8gZGVmYXVsdDpcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBBY3Rpb25FdmVudCh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwZXJmb3JtKHZhbHVlOiBUfG51bGw9bnVsbCk6dm9pZCB7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlPXZhbHVlXHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9vbkFjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgbGV0IGFlPXRoaXMuY3JlYXRlQWN0aW9uRXZlbnQodmFsdWUpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9vbkFjdGlvbihhZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldCBkaXNhYmxlZChkaXNhYmxlZDpib29sZWFuKSB7XHJcbiAgICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiQWN0aW9uOiBcIit0aGlzLl9uYW1lK1wiIGRpc2FibGVkOiBcIitkaXNhYmxlZClcclxuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBkaXNhYmxlZDtcclxuICAgICAgICAgICAgZm9yIChsZXQgYyBvZiB0aGlzLmNvbnRyb2xzKSB7XHJcbiAgICAgICAgICAgICAgICBjLmRpc2FibGVkID0gdGhpcy5fZGlzYWJsZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9sZXQgZGlzU3RyPXRoaXMuZGlzYWJsZWQ/XCJkaXNhYmxlZFwiOlwiZW5hYmxlZFwiO1xyXG4gICAgICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuX25hbWUrXCI6IFwiK2Rpc1N0cik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBnZXQgZGlzYWJsZWQoKTpib29sZWFuIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWRkQ29udHJvbChjdHJsOiBIVE1MSW5wdXRFbGVtZW50LCBhY3Rpb25FdmVudE5hbWU/OiBzdHJpbmcpIHtcclxuICAgICAgICAgICAgaWYgKGN0cmwpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2xzLmluZGV4T2YoY3RybCkgPCAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3RybC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9scy5wdXNoKGN0cmwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb25FdmVudE5hbWUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3RybC5hZGRFdmVudExpc3RlbmVyKGFjdGlvbkV2ZW50TmFtZSwgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJmb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmVtb3ZlQ29udHJvbChjdHJsOkhUTUxJbnB1dEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuY29udHJvbHMuaW5kZXhPZihjdHJsKTtcclxuICAgICAgICAgICAgaWYgKGkgPj0gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250cm9scyA9IHRoaXMuY29udHJvbHMuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuIl19
@@ -1,164 +0,0 @@
1
- import { BasicAudioSource } from "./audio_data_holder";
2
- import { Observable } from "rxjs";
3
- import { ArrayAudioBufferRandomAccessStream } from "./array_audio_buffer_random_access_stream";
4
- import { ArrayAudioBufferInputStream } from "./array_audio_buffer_input_stream";
5
- export class ArrayAudioBuffer extends BasicAudioSource {
6
- constructor(_channelCount, _sampleRate, _data) {
7
- super();
8
- this._channelCount = _channelCount;
9
- this._sampleRate = _sampleRate;
10
- this._data = _data;
11
- this._chunkCount = 0;
12
- this._frameLen = 0;
13
- this._duration = 0;
14
- this._sealed = false;
15
- this.updateFrameLen();
16
- this.ready();
17
- }
18
- updateFrameLen() {
19
- this._frameLen = 0;
20
- this._chunkCount = 0;
21
- if (this._data.length > 0) {
22
- let ch0Data = this.data[0];
23
- for (let ch0Chk of ch0Data) {
24
- this._chunkCount++;
25
- this._frameLen += ch0Chk.length;
26
- }
27
- }
28
- this._duration = this._frameLen / this._sampleRate;
29
- }
30
- seal() {
31
- this._sealed = true;
32
- }
33
- sealed() {
34
- return this._sealed;
35
- }
36
- static fromAudioBuffer(audioBuffer, chunkFrameSize = 8192) {
37
- let aab;
38
- let chs = audioBuffer.numberOfChannels;
39
- let frameLength = audioBuffer.length;
40
- //let chunksSize=Math.ceil(frameLength/chunkFrameSize);
41
- let framePos = 0;
42
- let data = new Array(chs);
43
- for (let ch = 0; ch < chs; ch++) {
44
- data[ch] = new Array();
45
- }
46
- let toCopy = frameLength - framePos;
47
- while (toCopy > 0) {
48
- let toCopyChunk = chunkFrameSize;
49
- if (toCopyChunk > toCopy) {
50
- // last chunk, the rest
51
- toCopyChunk = toCopy;
52
- }
53
- for (let ch = 0; ch < chs; ch++) {
54
- data[ch].push(audioBuffer.getChannelData(ch).slice(framePos, framePos + toCopyChunk));
55
- }
56
- framePos += toCopyChunk;
57
- toCopy -= toCopyChunk;
58
- }
59
- aab = new ArrayAudioBuffer(chs, audioBuffer.sampleRate, data);
60
- return aab;
61
- }
62
- appendAudioBuffer(audioBuffer) {
63
- let chs = audioBuffer.numberOfChannels;
64
- if (this._channelCount !== chs) {
65
- throw new Error('Cannot append audio buffer with ' + chs + ' channels to this array audio buffer with ' + this._channelCount + ' channels. Number of channels must match.');
66
- }
67
- let sr = audioBuffer.sampleRate;
68
- if (sr !== this._sampleRate) {
69
- throw new Error('Cannot append audio buffer with samplerate ' + sr + ' to this array audio buffer with samplerate ' + this._sampleRate + '. Samplerates must match.');
70
- }
71
- for (let ch = 0; ch < chs; ch++) {
72
- let chAbSlice = audioBuffer.getChannelData(ch).slice();
73
- //console.debug("Append audio buffer ch: "+ch+": "+chAbSlice.length);
74
- this._data[ch].push(chAbSlice);
75
- }
76
- this.updateFrameLen();
77
- }
78
- get channelCount() {
79
- return this._channelCount;
80
- }
81
- frames(framePos, frameLen, bufs) {
82
- let ccFramePos = 0;
83
- let trgFramePos = framePos;
84
- let ch0Data = this.data[0];
85
- let cPos = 0;
86
- let filled = 0;
87
- let ci = 0;
88
- while (filled < frameLen && ci < this._chunkCount) {
89
- // Current chunk
90
- let cc0 = ch0Data[ci];
91
- let ccLen = cc0.length;
92
- let ccFrameEndPos = ccFramePos + ccLen;
93
- if (trgFramePos >= ccFramePos && trgFramePos < ccFrameEndPos) {
94
- let toCp = frameLen - filled;
95
- cPos = trgFramePos - ccFramePos;
96
- if (cPos + toCp > ccLen) {
97
- toCp = ccLen - cPos;
98
- }
99
- for (let ch = 0; ch < bufs.length; ch++) {
100
- let cc = this.data[ch][ci];
101
- for (let i = 0; i < toCp; i++) {
102
- bufs[ch][filled + i] = cc[cPos + i];
103
- }
104
- }
105
- filled += toCp;
106
- trgFramePos += toCp;
107
- cPos += toCp;
108
- ccFramePos += toCp;
109
- if (cPos >= ccLen) {
110
- ccFramePos = ccFrameEndPos;
111
- cPos = 0;
112
- ci++;
113
- }
114
- }
115
- else {
116
- // next chunk
117
- ccFramePos = ccFrameEndPos;
118
- cPos = 0;
119
- ci++;
120
- }
121
- }
122
- return filled;
123
- }
124
- get sampleRate() {
125
- return this._sampleRate;
126
- }
127
- get frameLen() {
128
- return this._frameLen;
129
- }
130
- get chunkCount() {
131
- return this._chunkCount;
132
- }
133
- get data() {
134
- return this._data;
135
- }
136
- asyncAudioInputStream() {
137
- return null;
138
- }
139
- audioInputStream() {
140
- return new ArrayAudioBufferInputStream(this);
141
- }
142
- get duration() {
143
- return this._duration;
144
- }
145
- get numberOfChannels() {
146
- return this._channelCount;
147
- }
148
- releaseAudioData() {
149
- return new Observable(subscriber => {
150
- // No persistent respectively async deletable storage, they should be finally removed by the GC
151
- //this._audioBuffer=null;
152
- //this._arrayBuffer=null;
153
- subscriber.next();
154
- subscriber.complete();
155
- });
156
- }
157
- sampleCounts() {
158
- return this._channelCount * this._frameLen;
159
- }
160
- randomAccessAudioStream() {
161
- return new ArrayAudioBufferRandomAccessStream(this);
162
- }
163
- }
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlfYXVkaW9fYnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2FycmF5X2F1ZGlvX2J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQTBCLE1BQU0scUJBQXFCLENBQUM7QUFFOUUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNoQyxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUc5RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZ0JBQWdCO0lBT3BELFlBQW9CLGFBQXFCLEVBQVUsV0FBbUIsRUFBVSxLQUFpQztRQUMvRyxLQUFLLEVBQUUsQ0FBQztRQURVLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUE0QjtRQUx6RyxnQkFBVyxHQUFDLENBQUMsQ0FBQztRQUNkLGNBQVMsR0FBUSxDQUFDLENBQUM7UUFDbkIsY0FBUyxHQUFRLENBQUMsQ0FBQztRQUNuQixZQUFPLEdBQUMsS0FBSyxDQUFDO1FBSXBCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFDLENBQUMsQ0FBQztRQUNuQixJQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0Is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LFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ1YsT0FBTyxJQUFJLFVBQVUsQ0FBTyxVQUFVLENBQUMsRUFBRTtZQUN6QywrRkFBK0Y7WUFDL0YseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTFCLENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLEdBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsdUJBQXVCO1FBQ3RCLE9BQU8sSUFBSSxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2ljQXVkaW9Tb3VyY2UsIFJhbmRvbUFjY2Vzc0F1ZGlvU3RyZWFtfSBmcm9tIFwiLi9hdWRpb19kYXRhX2hvbGRlclwiO1xyXG5pbXBvcnQge0FzeW5jRmxvYXQzMkFycmF5SW5wdXRTdHJlYW0sIEZsb2F0MzJBcnJheUlucHV0U3RyZWFtfSBmcm9tIFwiLi4vaW8vc3RyZWFtXCI7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtBcnJheUF1ZGlvQnVmZmVyUmFuZG9tQWNjZXNzU3RyZWFtfSBmcm9tIFwiLi9hcnJheV9hdWRpb19idWZmZXJfcmFuZG9tX2FjY2Vzc19zdHJlYW1cIjtcclxuaW1wb3J0IHtBcnJheUF1ZGlvQnVmZmVySW5wdXRTdHJlYW19IGZyb20gXCIuL2FycmF5X2F1ZGlvX2J1ZmZlcl9pbnB1dF9zdHJlYW1cIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgQXJyYXlBdWRpb0J1ZmZlciBleHRlbmRzIEJhc2ljQXVkaW9Tb3VyY2V7XHJcblxyXG4gIHByaXZhdGUgX2NodW5rQ291bnQ9MDtcclxuICBwcml2YXRlIF9mcmFtZUxlbjpudW1iZXI9MDtcclxuICBwcml2YXRlIF9kdXJhdGlvbjpudW1iZXI9MDtcclxuICBwcml2YXRlIF9zZWFsZWQ9ZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5uZWxDb3VudDogbnVtYmVyLCBwcml2YXRlIF9zYW1wbGVSYXRlOiBudW1iZXIsIHByaXZhdGUgX2RhdGE6IEFycmF5PEFycmF5PEZsb2F0MzJBcnJheT4+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgdGhpcy51cGRhdGVGcmFtZUxlbigpO1xyXG4gICAgdGhpcy5yZWFkeSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVGcmFtZUxlbigpe1xyXG4gICAgdGhpcy5fZnJhbWVMZW49MDtcclxuICAgIHRoaXMuX2NodW5rQ291bnQ9MDtcclxuICAgIGlmKHRoaXMuX2RhdGEubGVuZ3RoPjApIHtcclxuICAgICAgbGV0IGNoMERhdGEgPSB0aGlzLmRhdGFbMF07XHJcbiAgICAgIGZvciAobGV0IGNoMENoayBvZiBjaDBEYXRhKSB7XHJcbiAgICAgICAgdGhpcy5fY2h1bmtDb3VudCsrO1xyXG4gICAgICAgIHRoaXMuX2ZyYW1lTGVuICs9IGNoMENoay5sZW5ndGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2R1cmF0aW9uPXRoaXMuX2ZyYW1lTGVuL3RoaXMuX3NhbXBsZVJhdGU7XHJcbiAgfVxyXG5cclxuICBzZWFsKCl7XHJcbiAgICB0aGlzLl9zZWFsZWQ9dHJ1ZTtcclxuICB9XHJcblxyXG4gIHNlYWxlZCgpOmJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhbGVkO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZyb21BdWRpb0J1ZmZlcihhdWRpb0J1ZmZlcjpBdWRpb0J1ZmZlcixjaHVua0ZyYW1lU2l6ZT04MTkyKTpBcnJheUF1ZGlvQnVmZmVye1xyXG4gICAgbGV0IGFhYjpBcnJheUF1ZGlvQnVmZmVyO1xyXG4gICAgbGV0IGNocz1hdWRpb0J1ZmZlci5udW1iZXJPZkNoYW5uZWxzO1xyXG4gICAgbGV0IGZyYW1lTGVuZ3RoPWF1ZGlvQnVmZmVyLmxlbmd0aDtcclxuICAgIC8vbGV0IGNodW5rc1NpemU9TWF0aC5jZWlsKGZyYW1lTGVuZ3RoL2NodW5rRnJhbWVTaXplKTtcclxuICAgIGxldCBmcmFtZVBvcz0wO1xyXG4gICAgbGV0IGRhdGE9bmV3IEFycmF5PEFycmF5PEZsb2F0MzJBcnJheT4+KGNocyk7XHJcbiAgICBmb3IobGV0IGNoPTA7Y2g8Y2hzO2NoKyspIHtcclxuICAgICAgZGF0YVtjaF09bmV3IEFycmF5PEZsb2F0MzJBcnJheT4oKTtcclxuICAgIH1cclxuICAgIGxldCB0b0NvcHk9ZnJhbWVMZW5ndGgtZnJhbWVQb3M7XHJcbiAgICAgIHdoaWxlKHRvQ29weT4wKXtcclxuXHJcbiAgICAgICAgbGV0IHRvQ29weUNodW5rPWNodW5rRnJhbWVTaXplO1xyXG4gICAgICAgIGlmKHRvQ29weUNodW5rPnRvQ29weSl7XHJcbiAgICAgICAgICAvLyBsYXN0IGNodW5rLCB0aGUgcmVzdFxyXG4gICAgICAgICAgdG9Db3B5Q2h1bms9dG9Db3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IobGV0IGNoPTA7Y2g8Y2hzO2NoKyspIHtcclxuICAgICAgICAgIGRhdGFbY2hdLnB1c2goYXVkaW9CdWZmZXIuZ2V0Q2hhbm5lbERhdGEoY2gpLnNsaWNlKGZyYW1lUG9zLCBmcmFtZVBvcyArIHRvQ29weUNodW5rKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZyYW1lUG9zKz10b0NvcHlDaHVuaztcclxuICAgICAgICB0b0NvcHktPXRvQ29weUNodW5rO1xyXG4gICAgICB9XHJcbiAgICBhYWI9bmV3IEFycmF5QXVkaW9CdWZmZXIoY2hzLGF1ZGlvQnVmZmVyLnNhbXBsZVJhdGUsZGF0YSk7XHJcbiAgICByZXR1cm4gYWFiO1xyXG4gIH1cclxuXHJcbiAgYXBwZW5kQXVkaW9CdWZmZXIoYXVkaW9CdWZmZXI6QXVkaW9CdWZmZXIpe1xyXG4gICAgbGV0IGNocz1hdWRpb0J1ZmZlci5udW1iZXJPZkNoYW5uZWxzO1xyXG4gICAgaWYodGhpcy5fY2hhbm5lbENvdW50IT09IGNocyl7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFwcGVuZCBhdWRpbyBidWZmZXIgd2l0aCAnK2NocysnIGNoYW5uZWxzIHRvIHRoaXMgYXJyYXkgYXVkaW8gYnVmZmVyIHdpdGggJyt0aGlzLl9jaGFubmVsQ291bnQrJyBjaGFubmVscy4gTnVtYmVyIG9mIGNoYW5uZWxzIG11c3QgbWF0Y2guJyk7XHJcbiAgICB9XHJcbiAgICBsZXQgc3I9YXVkaW9CdWZmZXIuc2FtcGxlUmF0ZTtcclxuICAgIGlmKHNyIT09dGhpcy5fc2FtcGxlUmF0ZSl7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFwcGVuZCBhdWRpbyBidWZmZXIgd2l0aCBzYW1wbGVyYXRlICcrc3IrJyB0byB0aGlzIGFycmF5IGF1ZGlvIGJ1ZmZlciB3aXRoIHNhbXBsZXJhdGUgJyt0aGlzLl9zYW1wbGVSYXRlKycuIFNhbXBsZXJhdGVzIG11c3QgbWF0Y2guJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yKGxldCBjaD0wO2NoPGNocztjaCsrKSB7XHJcbiAgICAgIGxldCBjaEFiU2xpY2U9YXVkaW9CdWZmZXIuZ2V0Q2hhbm5lbERhdGEoY2gpLnNsaWNlKCk7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIkFwcGVuZCBhdWRpbyBidWZmZXIgY2g6IFwiK2NoK1wiOiBcIitjaEFiU2xpY2UubGVuZ3RoKTtcclxuICAgICAgdGhpcy5fZGF0YVtjaF0ucHVzaChjaEFiU2xpY2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGVGcmFtZUxlbigpO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldCBjaGFubmVsQ291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jaGFubmVsQ291bnQ7XHJcbiAgfVxyXG5cclxuICBmcmFtZXMoZnJhbWVQb3M6bnVtYmVyLGZyYW1lTGVuOm51bWJlcixidWZzOkZsb2F0MzJBcnJheVtdKTpudW1iZXJ7XHJcblxyXG4gICAgbGV0IGNjRnJhbWVQb3M9MDtcclxuICAgIGxldCB0cmdGcmFtZVBvcz1mcmFtZVBvcztcclxuICAgIGxldCBjaDBEYXRhID0gdGhpcy5kYXRhWzBdO1xyXG4gICAgbGV0IGNQb3M9MDtcclxuICAgIGxldCBmaWxsZWQ9MDtcclxuICAgIGxldCBjaT0wO1xyXG5cclxuICAgIHdoaWxlKGZpbGxlZDxmcmFtZUxlbiAmJiBjaTx0aGlzLl9jaHVua0NvdW50KXtcclxuICAgICAgLy8gQ3VycmVudCBjaHVua1xyXG4gICAgICBsZXQgY2MwPWNoMERhdGFbY2ldO1xyXG4gICAgICBsZXQgY2NMZW49Y2MwLmxlbmd0aDtcclxuICAgICAgbGV0IGNjRnJhbWVFbmRQb3M9Y2NGcmFtZVBvcytjY0xlbjtcclxuXHJcbiAgICAgIGlmKHRyZ0ZyYW1lUG9zPj1jY0ZyYW1lUG9zICYmIHRyZ0ZyYW1lUG9zPGNjRnJhbWVFbmRQb3Mpe1xyXG4gICAgICAgIGxldCB0b0NwPWZyYW1lTGVuLWZpbGxlZDtcclxuICAgICAgICBjUG9zPXRyZ0ZyYW1lUG9zLWNjRnJhbWVQb3M7XHJcbiAgICAgICAgaWYoY1Bvcyt0b0NwPmNjTGVuKXtcclxuICAgICAgICAgIHRvQ3A9Y2NMZW4tY1BvcztcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yKGxldCBjaD0wO2NoPGJ1ZnMubGVuZ3RoO2NoKyspe1xyXG4gICAgICAgICAgbGV0IGNjPXRoaXMuZGF0YVtjaF1bY2ldO1xyXG5cclxuICAgICAgICAgIGZvcihsZXQgaT0wO2k8dG9DcDtpKyspe1xyXG4gICAgICAgICAgICBidWZzW2NoXVtmaWxsZWQraV09Y2NbY1BvcytpXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZmlsbGVkKz10b0NwO1xyXG4gICAgICAgIHRyZ0ZyYW1lUG9zKz10b0NwO1xyXG4gICAgICAgIGNQb3MrPXRvQ3A7XHJcbiAgICAgICAgY2NGcmFtZVBvcys9dG9DcDtcclxuICAgICAgICBpZihjUG9zPj1jY0xlbil7XHJcbiAgICAgICAgICBjY0ZyYW1lUG9zPWNjRnJhbWVFbmRQb3M7XHJcbiAgICAgICAgICBjUG9zPTA7XHJcbiAgICAgICAgICBjaSsrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIC8vIG5leHQgY2h1bmtcclxuICAgICAgICBjY0ZyYW1lUG9zPWNjRnJhbWVFbmRQb3M7XHJcbiAgICAgICAgY1Bvcz0wO1xyXG4gICAgICAgIGNpKys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWxsZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FtcGxlUmF0ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NhbXBsZVJhdGU7XHJcbiAgfVxyXG5cclxuICBnZXQgZnJhbWVMZW4oKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9mcmFtZUxlbjtcclxuICB9XHJcblxyXG4gIGdldCBjaHVua0NvdW50KCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2h1bmtDb3VudDtcclxuICB9XHJcblxyXG4gIGdldCBkYXRhKCk6IEFycmF5PEFycmF5PEZsb2F0MzJBcnJheT4+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuXHJcbiAgYXN5bmNBdWRpb0lucHV0U3RyZWFtKCk6IEFzeW5jRmxvYXQzMkFycmF5SW5wdXRTdHJlYW0gfCBudWxsIHtcclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYXVkaW9JbnB1dFN0cmVhbSgpOiBGbG9hdDMyQXJyYXlJbnB1dFN0cmVhbSB8IG51bGwge1xyXG4gICAgcmV0dXJuIG5ldyBBcnJheUF1ZGlvQnVmZmVySW5wdXRTdHJlYW0odGhpcyk7XHJcbiAgfVxyXG5cclxuICBnZXQgZHVyYXRpb24oKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9kdXJhdGlvbjtcclxuICB9XHJcblxyXG4gIGdldCBudW1iZXJPZkNoYW5uZWxzKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2hhbm5lbENvdW50O1xyXG4gIH1cclxuXHJcbiAgcmVsZWFzZUF1ZGlvRGF0YSgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8dm9pZD4oc3Vic2NyaWJlciA9PiB7XHJcbiAgICAgICAgLy8gTm8gcGVyc2lzdGVudCByZXNwZWN0aXZlbHkgYXN5bmMgZGVsZXRhYmxlIHN0b3JhZ2UsIHRoZXkgc2hvdWxkIGJlIGZpbmFsbHkgcmVtb3ZlZCBieSB0aGUgR0NcclxuICAgICAgICAvL3RoaXMuX2F1ZGlvQnVmZmVyPW51bGw7XHJcbiAgICAgICAgLy90aGlzLl9hcnJheUJ1ZmZlcj1udWxsO1xyXG4gICAgICAgIHN1YnNjcmliZXIubmV4dCgpO1xyXG4gICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBzYW1wbGVDb3VudHMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9jaGFubmVsQ291bnQqdGhpcy5fZnJhbWVMZW47XHJcbiAgfVxyXG5cclxuICByYW5kb21BY2Nlc3NBdWRpb1N0cmVhbSgpOiBSYW5kb21BY2Nlc3NBdWRpb1N0cmVhbSB7XHJcbiAgIHJldHVybiBuZXcgQXJyYXlBdWRpb0J1ZmZlclJhbmRvbUFjY2Vzc1N0cmVhbSh0aGlzKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,86 +0,0 @@
1
- export class ArrayAudioBufferInputStream {
2
- constructor(arrayAudioBuffer) {
3
- this.arrayAudioBuffer = arrayAudioBuffer;
4
- this._framePos = 0;
5
- this.chunkFramePos = 0;
6
- this.chunkIdx = 0;
7
- this.eod = false;
8
- //console.debug("Array audio input stream array audio buffer frames: "+arrayAudioBuffer.frameLen);
9
- }
10
- close() {
11
- }
12
- skipFrames(n) {
13
- let toSkip = n;
14
- if (this.chunkIdx >= this.arrayAudioBuffer.chunkCount) {
15
- this.eod = true;
16
- if (toSkip > 0) {
17
- throw Error('Skip out of bounds: Cannot skip ' + toSkip + ' frames.');
18
- }
19
- }
20
- else {
21
- let chunkBuf0 = this.arrayAudioBuffer.data[0][this.chunkIdx];
22
- let chunkBufsLen = chunkBuf0.length;
23
- let currBufSkippable = chunkBufsLen - this.chunkFramePos;
24
- if (n >= currBufSkippable) {
25
- this._framePos += currBufSkippable;
26
- toSkip -= currBufSkippable;
27
- this.chunkIdx++;
28
- this.chunkFramePos = 0;
29
- if (this.chunkIdx < this.arrayAudioBuffer.chunkCount) {
30
- this.skipFrames(toSkip);
31
- }
32
- else {
33
- if (toSkip > 0) {
34
- throw Error('Skip out of bounds: Cannot skip ' + toSkip + ' frames.');
35
- }
36
- }
37
- }
38
- else {
39
- toSkip -= n;
40
- this.chunkFramePos += n;
41
- }
42
- }
43
- }
44
- read(buffers) {
45
- let read = 0;
46
- let toRead = buffers[0].length;
47
- while (read < toRead && !this.eod) {
48
- //console.debug("Chunk "+this.chunkIdx+" of "+this.arrayAudioBuffer.chunkCount+" chunks.")
49
- if (this.chunkIdx >= this.arrayAudioBuffer.chunkCount) {
50
- this.eod = true;
51
- //console.debug("Array audio input stream end of data read frames: "+this.framePos);
52
- }
53
- else {
54
- let chunkBuf0 = this.arrayAudioBuffer.data[0][this.chunkIdx];
55
- let chunkBufsLen = chunkBuf0.length;
56
- const chunkBufAvail = chunkBufsLen - this.chunkFramePos;
57
- let r = chunkBufAvail;
58
- if (r > toRead - read) {
59
- r = toRead - read;
60
- }
61
- for (let ch = 0; ch < buffers.length; ch++) {
62
- let chChunkBuf = this.arrayAudioBuffer.data[ch][this.chunkIdx];
63
- for (let bi = 0; bi < r; bi++) {
64
- buffers[ch][read + bi] = chChunkBuf[this.chunkFramePos + bi];
65
- }
66
- }
67
- read += r;
68
- this.chunkFramePos += r;
69
- if (this.chunkFramePos >= chunkBufsLen) {
70
- this.chunkIdx++;
71
- this.chunkFramePos = 0;
72
- }
73
- }
74
- }
75
- this._framePos += read;
76
- //console.debug("Read: "+read+", frame pos: "+this.framePos)
77
- if (this._framePos > this.arrayAudioBuffer.frameLen) {
78
- console.error("Array audio input stream frame pos: " + this._framePos + " greater then frame length: " + this.arrayAudioBuffer.frameLen);
79
- }
80
- return read;
81
- }
82
- get framePos() {
83
- return this._framePos;
84
- }
85
- }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlfYXVkaW9fYnVmZmVyX2lucHV0X3N0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NwZWVjaHJlY29yZGVybmcvc3JjL2xpYi9hdWRpby9hcnJheV9hdWRpb19idWZmZXJfaW5wdXRfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7SUFNdEMsWUFBb0IsZ0JBQWlDO1FBQWpDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFKN0MsY0FBUyxHQUFDLENBQUMsQ0FBQztRQUNaLGtCQUFhLEdBQUMsQ0FBQyxDQUFDO1FBQ2hCLGFBQVEsR0FBQyxDQUFDLENBQUM7UUFDWCxRQUFHLEdBQUMsS0FBSyxDQUFDO1FBRWhCLGtHQUFrRztJQUNwRyxDQUFDO0lBRUQsS0FBSztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBUTtRQUNqQixJQUFJLE1BQU0sR0FBQyxDQUFDLENBQUM7UUFDYixJQUFHLElBQUksQ0FBQyxRQUFRLElBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNmLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxHQUFHLE1BQU0sR0FBRyxVQUFVLENBQUMsQ0FBQTtZQUN2RSxDQUFDO1FBQ0gsQ0FBQzthQUFLLENBQUM7WUFDTCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RCxJQUFJLFlBQVksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksZ0JBQWdCLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekQsSUFBSSxDQUFD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O1FBQzlELElBQUcsSUFBSSxDQUFDLFNBQVMsR0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFDLENBQUM7WUFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsR0FBQyxJQUFJLENBQUMsU0FBUyxHQUFDLDhCQUE4QixHQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNySSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBSUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RmxvYXQzMkFycmF5SW5wdXRTdHJlYW19IGZyb20gXCIuLi9pby9zdHJlYW1cIjtcclxuaW1wb3J0IHtBcnJheUF1ZGlvQnVmZmVyfSBmcm9tIFwiLi9hcnJheV9hdWRpb19idWZmZXJcIjtcclxuZXhwb3J0IGNsYXNzIEFycmF5QXVkaW9CdWZmZXJJbnB1dFN0cmVhbSBpbXBsZW1lbnRzIEZsb2F0MzJBcnJheUlucHV0U3RyZWFte1xyXG5cclxuICBwcml2YXRlIF9mcmFtZVBvcz0wO1xyXG4gIHByaXZhdGUgY2h1bmtGcmFtZVBvcz0wO1xyXG4gIHByaXZhdGUgY2h1bmtJZHg9MDtcclxuICBwcml2YXRlIGVvZD1mYWxzZTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFycmF5QXVkaW9CdWZmZXI6QXJyYXlBdWRpb0J1ZmZlcikge1xyXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiQXJyYXkgYXVkaW8gaW5wdXQgc3RyZWFtIGFycmF5IGF1ZGlvIGJ1ZmZlciBmcmFtZXM6IFwiK2FycmF5QXVkaW9CdWZmZXIuZnJhbWVMZW4pO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBza2lwRnJhbWVzKG46bnVtYmVyKXtcclxuICAgIGxldCB0b1NraXA9bjtcclxuICAgIGlmKHRoaXMuY2h1bmtJZHg+PXRoaXMuYXJyYXlBdWRpb0J1ZmZlci5jaHVua0NvdW50KSB7XHJcbiAgICAgIHRoaXMuZW9kID0gdHJ1ZTtcclxuICAgICAgaWYgKHRvU2tpcCA+IDApIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignU2tpcCBvdXQgb2YgYm91bmRzOiBDYW5ub3Qgc2tpcCAnICsgdG9Ta2lwICsgJyBmcmFtZXMuJylcclxuICAgICAgfVxyXG4gICAgfWVsc2Uge1xyXG4gICAgICBsZXQgY2h1bmtCdWYwID0gdGhpcy5hcnJheUF1ZGlvQnVmZmVyLmRhdGFbMF1bdGhpcy5jaHVua0lkeF07XHJcbiAgICAgIGxldCBjaHVua0J1ZnNMZW4gPSBjaHVua0J1ZjAubGVuZ3RoO1xyXG4gICAgICBsZXQgY3VyckJ1ZlNraXBwYWJsZSA9IGNodW5rQnVmc0xlbiAtIHRoaXMuY2h1bmtGcmFtZVBvcztcclxuICAgICAgaWYgKG4gPj0gY3VyckJ1ZlNraXBwYWJsZSkge1xyXG4gICAgICAgIHRoaXMuX2ZyYW1lUG9zICs9IGN1cnJCdWZTa2lwcGFibGU7XHJcbiAgICAgICAgdG9Ta2lwIC09IGN1cnJCdWZTa2lwcGFibGU7XHJcbiAgICAgICAgdGhpcy5jaHVua0lkeCsrXHJcbiAgICAgICAgdGhpcy5jaHVua0ZyYW1lUG9zID0gMDtcclxuICAgICAgICBpZiAodGhpcy5jaHVua0lkeCA8IHRoaXMuYXJyYXlBdWRpb0J1ZmZlci5jaHVua0NvdW50KSB7XHJcbiAgICAgICAgICB0aGlzLnNraXBGcmFtZXModG9Ta2lwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRvU2tpcCA+IDApIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1NraXAgb3V0IG9mIGJvdW5kczogQ2Fubm90IHNraXAgJyArIHRvU2tpcCArICcgZnJhbWVzLicpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvU2tpcCAtPSBuO1xyXG4gICAgICAgIHRoaXMuY2h1bmtGcmFtZVBvcyArPSBuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWFkKGJ1ZmZlcnM6IEFycmF5PEZsb2F0MzJBcnJheT4pOiBudW1iZXIge1xyXG4gICAgbGV0IHJlYWQ9MDtcclxuXHJcbiAgICBsZXQgdG9SZWFkPWJ1ZmZlcnNbMF0ubGVuZ3RoO1xyXG5cclxuICAgICAgd2hpbGUocmVhZDx0b1JlYWQgJiYgIXRoaXMuZW9kKXtcclxuICAgICAgICAvL2NvbnNvbGUuZGVidWcoXCJDaHVuayBcIit0aGlzLmNodW5rSWR4K1wiIG9mIFwiK3RoaXMuYXJyYXlBdWRpb0J1ZmZlci5jaHVua0NvdW50K1wiIGNodW5rcy5cIilcclxuICAgICAgICBpZih0aGlzLmNodW5rSWR4Pj10aGlzLmFycmF5QXVkaW9CdWZmZXIuY2h1bmtDb3VudCkge1xyXG4gICAgICAgICAgdGhpcy5lb2QgPSB0cnVlO1xyXG4gICAgICAgICAgLy9jb25zb2xlLmRlYnVnKFwiQXJyYXkgYXVkaW8gaW5wdXQgc3RyZWFtIGVuZCBvZiBkYXRhIHJlYWQgZnJhbWVzOiBcIit0aGlzLmZyYW1lUG9zKTtcclxuICAgICAgICB9ZWxzZSB7XHJcbiAgICAgICAgICBsZXQgY2h1bmtCdWYwID0gdGhpcy5hcnJheUF1ZGlvQnVmZmVyLmRhdGFbMF1bdGhpcy5jaHVua0lkeF07XHJcbiAgICAgICAgICBsZXQgY2h1bmtCdWZzTGVuID0gY2h1bmtCdWYwLmxlbmd0aDtcclxuICAgICAgICAgIGNvbnN0IGNodW5rQnVmQXZhaWwgPSBjaHVua0J1ZnNMZW4gLSB0aGlzLmNodW5rRnJhbWVQb3M7XHJcbiAgICAgICAgICBsZXQgciA9IGNodW5rQnVmQXZhaWw7XHJcbiAgICAgICAgICBpZiAociA+IHRvUmVhZCAtIHJlYWQpIHtcclxuICAgICAgICAgICAgciA9IHRvUmVhZCAtIHJlYWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBmb3IgKGxldCBjaCA9IDA7IGNoIDwgYnVmZmVycy5sZW5ndGg7IGNoKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoQ2h1bmtCdWY9dGhpcy5hcnJheUF1ZGlvQnVmZmVyLmRhdGFbY2hdW3RoaXMuY2h1bmtJZHhdO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBiaSA9IDA7IGJpIDwgcjsgYmkrKykge1xyXG4gICAgICAgICAgICAgIGJ1ZmZlcnNbY2hdW3JlYWQgKyBiaV0gPSBjaENodW5rQnVmW3RoaXMuY2h1bmtGcmFtZVBvcyArIGJpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmVhZCArPSByO1xyXG5cclxuICAgICAgICAgIHRoaXMuY2h1bmtGcmFtZVBvcyArPSByO1xyXG4gICAgICAgICAgaWYgKHRoaXMuY2h1bmtGcmFtZVBvcyA+PSBjaHVua0J1ZnNMZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5jaHVua0lkeCsrO1xyXG4gICAgICAgICAgICB0aGlzLmNodW5rRnJhbWVQb3MgPSAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgdGhpcy5fZnJhbWVQb3MrPXJlYWQ7XHJcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIlJlYWQ6IFwiK3JlYWQrXCIsIGZyYW1lIHBvczogXCIrdGhpcy5mcmFtZVBvcylcclxuICAgIGlmKHRoaXMuX2ZyYW1lUG9zPnRoaXMuYXJyYXlBdWRpb0J1ZmZlci5mcmFtZUxlbil7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJBcnJheSBhdWRpbyBpbnB1dCBzdHJlYW0gZnJhbWUgcG9zOiBcIit0aGlzLl9mcmFtZVBvcytcIiBncmVhdGVyIHRoZW4gZnJhbWUgbGVuZ3RoOiBcIit0aGlzLmFycmF5QXVkaW9CdWZmZXIuZnJhbWVMZW4pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlYWQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIGdldCBmcmFtZVBvcygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZyYW1lUG9zO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1,16 +0,0 @@
1
- import { Observable } from "rxjs";
2
- export class ArrayAudioBufferRandomAccessStream {
3
- constructor(_arrayBuffer) {
4
- this._arrayBuffer = _arrayBuffer;
5
- }
6
- close() {
7
- }
8
- framesObs(framePos, frameLen, bufs) {
9
- return new Observable(subscriber => {
10
- let read = this._arrayBuffer.frames(framePos, frameLen, bufs);
11
- subscriber.next(read);
12
- subscriber.complete();
13
- });
14
- }
15
- }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXlfYXVkaW9fYnVmZmVyX3JhbmRvbV9hY2Nlc3Nfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BlZWNocmVjb3JkZXJuZy9zcmMvbGliL2F1ZGlvL2FycmF5X2F1ZGlvX2J1ZmZlcl9yYW5kb21fYWNjZXNzX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE1BQU0sT0FBTyxrQ0FBa0M7SUFFN0MsWUFBb0IsWUFBNkI7UUFBN0IsaUJBQVksR0FBWixZQUFZLENBQWlCO0lBQ2pELENBQUM7SUFFRCxLQUFLO0lBQ0wsQ0FBQztJQUVELFNBQVMsQ0FBQyxRQUFnQixFQUFFLFFBQWdCLEVBQUUsSUFBb0I7UUFDaEUsT0FBTyxJQUFJLFVBQVUsQ0FBUyxVQUFVLENBQUMsRUFBRTtZQUN6QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlELFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcnJheUF1ZGlvQnVmZmVyfSBmcm9tIFwiLi9hcnJheV9hdWRpb19idWZmZXJcIjtcclxuaW1wb3J0IHtSYW5kb21BY2Nlc3NBdWRpb1N0cmVhbX0gZnJvbSBcIi4vYXVkaW9fZGF0YV9ob2xkZXJcIjtcclxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xyXG5leHBvcnQgY2xhc3MgQXJyYXlBdWRpb0J1ZmZlclJhbmRvbUFjY2Vzc1N0cmVhbSBpbXBsZW1lbnRzIFJhbmRvbUFjY2Vzc0F1ZGlvU3RyZWFte1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcnJheUJ1ZmZlcjpBcnJheUF1ZGlvQnVmZmVyKSB7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIGZyYW1lc09icyhmcmFtZVBvczogbnVtYmVyLCBmcmFtZUxlbjogbnVtYmVyLCBidWZzOiBGbG9hdDMyQXJyYXlbXSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8bnVtYmVyPihzdWJzY3JpYmVyID0+IHtcclxuICAgICAgbGV0IHJlYWQgPSB0aGlzLl9hcnJheUJ1ZmZlci5mcmFtZXMoZnJhbWVQb3MsIGZyYW1lTGVuLCBidWZzKTtcclxuICAgICAgc3Vic2NyaWJlci5uZXh0KHJlYWQpO1xyXG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19