movi-player 0.3.3 → 0.3.4
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.
- package/README.md +23 -12
- package/dist/core/MoviPlayer.d.ts +65 -1
- package/dist/core/MoviPlayer.d.ts.map +1 -1
- package/dist/core/MoviPlayer.js +239 -10
- package/dist/core/MoviPlayer.js.map +1 -1
- package/dist/decode/AudioDecoder.d.ts +4 -0
- package/dist/decode/AudioDecoder.d.ts.map +1 -1
- package/dist/decode/AudioDecoder.js +14 -0
- package/dist/decode/AudioDecoder.js.map +1 -1
- package/dist/decode/SoftwareAudioDecoder.d.ts +12 -0
- package/dist/decode/SoftwareAudioDecoder.d.ts.map +1 -1
- package/dist/decode/SoftwareAudioDecoder.js +91 -2
- package/dist/decode/SoftwareAudioDecoder.js.map +1 -1
- package/dist/decode/VideoDecoder.d.ts.map +1 -1
- package/dist/decode/VideoDecoder.js +7 -0
- package/dist/decode/VideoDecoder.js.map +1 -1
- package/dist/demuxer.cjs +1863 -1788
- package/dist/demuxer.js +1722 -1649
- package/dist/element.cjs +2904 -1867
- package/dist/element.d.ts +48 -0
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +7935 -6894
- package/dist/element.js.map +1 -1
- package/dist/index.cjs +2904 -1867
- package/dist/index.js +7935 -6894
- package/dist/player.cjs +3060 -2930
- package/dist/player.js +1763 -1633
- package/dist/render/AudioRenderer.d.ts +30 -0
- package/dist/render/AudioRenderer.d.ts.map +1 -1
- package/dist/render/AudioRenderer.js +127 -44
- package/dist/render/AudioRenderer.js.map +1 -1
- package/dist/render/CanvasRenderer.d.ts +31 -0
- package/dist/render/CanvasRenderer.d.ts.map +1 -1
- package/dist/render/CanvasRenderer.js +31 -0
- package/dist/render/CanvasRenderer.js.map +1 -1
- package/dist/render/DASHPlayerWrapper.d.ts.map +1 -1
- package/dist/render/DASHPlayerWrapper.js +3 -1
- package/dist/render/DASHPlayerWrapper.js.map +1 -1
- package/dist/render/HLSPlayerWrapper.d.ts.map +1 -1
- package/dist/render/HLSPlayerWrapper.js +3 -1
- package/dist/render/HLSPlayerWrapper.js.map +1 -1
- package/dist/render/MoviElement.d.ts +223 -0
- package/dist/render/MoviElement.d.ts.map +1 -1
- package/dist/render/MoviElement.js +2072 -209
- package/dist/render/MoviElement.js.map +1 -1
- package/dist/render/ShakaPlayerWrapper.d.ts.map +1 -1
- package/dist/render/ShakaPlayerWrapper.js +3 -1
- package/dist/render/ShakaPlayerWrapper.js.map +1 -1
- package/dist/source/HttpSource.d.ts +3 -0
- package/dist/source/HttpSource.d.ts.map +1 -1
- package/dist/source/HttpSource.js +81 -22
- package/dist/source/HttpSource.js.map +1 -1
- package/dist/utils/QoE.d.ts +126 -0
- package/dist/utils/QoE.d.ts.map +1 -0
- package/dist/utils/QoE.js +192 -0
- package/dist/utils/QoE.js.map +1 -0
- package/dist/utils/ThumbnailRenderer.d.ts +25 -0
- package/dist/utils/ThumbnailRenderer.d.ts.map +1 -1
- package/dist/utils/ThumbnailRenderer.js +195 -2
- package/dist/utils/ThumbnailRenderer.js.map +1 -1
- package/dist/wasm/bindings.d.ts +8 -0
- package/dist/wasm/bindings.d.ts.map +1 -1
- package/dist/wasm/bindings.js +31 -7
- package/dist/wasm/bindings.js.map +1 -1
- package/dist/wasm/movi.js +0 -0
- package/package.json +3 -2
|
@@ -15,6 +15,21 @@ export class ThumbnailRenderer {
|
|
|
15
15
|
texture = null;
|
|
16
16
|
vao = null;
|
|
17
17
|
rotation = 0;
|
|
18
|
+
// 360° preview reprojection. When _vrView is set, draw() reprojects the
|
|
19
|
+
// equirectangular texture to the current viewing angle (mirrors
|
|
20
|
+
// CanvasRenderer's VR shader) instead of the flat passthrough. Its own
|
|
21
|
+
// program + unrotated fullscreen quad; compiled lazily on first 360 preview.
|
|
22
|
+
vrProgram = null;
|
|
23
|
+
vrVao = null;
|
|
24
|
+
vrLocs = null;
|
|
25
|
+
vrView = null;
|
|
26
|
+
// The flat (source-sized) canvas dimensions from initialize(), restored when
|
|
27
|
+
// a preview flips back to the flat path after a 360 draw resized the canvas.
|
|
28
|
+
flatWidth = 0;
|
|
29
|
+
flatHeight = 0;
|
|
30
|
+
static VR_PREVIEW_HEIGHT = 256;
|
|
31
|
+
static VR_FISHEYE_FOV = Math.PI;
|
|
32
|
+
static VR_PLANET_SCALE = 0.5;
|
|
18
33
|
// WebCodecs support
|
|
19
34
|
decoder = null;
|
|
20
35
|
pendingDecodeResolve = null;
|
|
@@ -81,6 +96,10 @@ export class ThumbnailRenderer {
|
|
|
81
96
|
const isRotated = rotation % 180 !== 0;
|
|
82
97
|
this.canvas.width = isRotated ? height : width;
|
|
83
98
|
this.canvas.height = isRotated ? width : height;
|
|
99
|
+
// Remember the flat render size so the VR path can resize the shared canvas
|
|
100
|
+
// for a preview-shaped view and the flat path can restore it afterwards.
|
|
101
|
+
this.flatWidth = this.canvas.width;
|
|
102
|
+
this.flatHeight = this.canvas.height;
|
|
84
103
|
// Detect if source is HDR
|
|
85
104
|
const primaries = (colorPrimaries || "").toLowerCase();
|
|
86
105
|
const transfer = (colorTransfer || "").toLowerCase();
|
|
@@ -641,11 +660,177 @@ export class ThumbnailRenderer {
|
|
|
641
660
|
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, frame);
|
|
642
661
|
this.draw();
|
|
643
662
|
}
|
|
663
|
+
/**
|
|
664
|
+
* Set (or clear) the 360° reprojection view. When non-null, the next draw()
|
|
665
|
+
* reprojects the equirectangular texture to this camera angle; null restores
|
|
666
|
+
* the flat passthrough. Must be set BEFORE render()/decodeAndRender(), since
|
|
667
|
+
* draw() runs synchronously inside those.
|
|
668
|
+
*/
|
|
669
|
+
setProjection(view) {
|
|
670
|
+
this.vrView = view;
|
|
671
|
+
}
|
|
672
|
+
/**
|
|
673
|
+
* Lazily compile the equirect/fisheye/stereographic raycast program (ported
|
|
674
|
+
* verbatim from CanvasRenderer.initVRProgram) plus its own unrotated
|
|
675
|
+
* fullscreen quad feeding v_ndc. Returns true when ready.
|
|
676
|
+
*/
|
|
677
|
+
initVRProgram() {
|
|
678
|
+
if (this.vrProgram && this.vrVao)
|
|
679
|
+
return true;
|
|
680
|
+
if (!this.gl)
|
|
681
|
+
return false;
|
|
682
|
+
const gl = this.gl;
|
|
683
|
+
const vsSource = `#version 300 es
|
|
684
|
+
layout(location = 0) in vec2 a_position;
|
|
685
|
+
out vec2 v_ndc;
|
|
686
|
+
void main() {
|
|
687
|
+
v_ndc = a_position;
|
|
688
|
+
gl_Position = vec4(a_position, 0.0, 1.0);
|
|
689
|
+
}`;
|
|
690
|
+
const fsSource = `#version 300 es
|
|
691
|
+
precision highp float;
|
|
692
|
+
uniform sampler2D u_image;
|
|
693
|
+
uniform float u_yaw;
|
|
694
|
+
uniform float u_pitch;
|
|
695
|
+
uniform float u_fov;
|
|
696
|
+
uniform float u_aspect;
|
|
697
|
+
uniform float u_lonDiv;
|
|
698
|
+
uniform float u_latDiv;
|
|
699
|
+
uniform float u_proj;
|
|
700
|
+
uniform float u_fishFov;
|
|
701
|
+
uniform float u_uScale;
|
|
702
|
+
uniform float u_uOffset;
|
|
703
|
+
uniform float u_planetScale;
|
|
704
|
+
uniform float u_srcAspect;
|
|
705
|
+
in vec2 v_ndc;
|
|
706
|
+
out vec4 outColor;
|
|
707
|
+
const float PI = 3.14159265358979323846;
|
|
708
|
+
void main() {
|
|
709
|
+
float t = tan(u_fov * 0.5);
|
|
710
|
+
vec3 dir = normalize(vec3(v_ndc.x * t * u_aspect, v_ndc.y * t, -1.0));
|
|
711
|
+
float cp = cos(u_pitch), sp = sin(u_pitch);
|
|
712
|
+
dir = vec3(dir.x, cp * dir.y - sp * dir.z, sp * dir.y + cp * dir.z);
|
|
713
|
+
float cy = cos(u_yaw), sy = sin(u_yaw);
|
|
714
|
+
dir = vec3(cy * dir.x + sy * dir.z, dir.y, -sy * dir.x + cy * dir.z);
|
|
715
|
+
vec2 eye;
|
|
716
|
+
if (u_proj < 0.5) {
|
|
717
|
+
float lon = atan(dir.x, -dir.z);
|
|
718
|
+
float lat = asin(clamp(dir.y, -1.0, 1.0));
|
|
719
|
+
eye = vec2(lon / u_lonDiv + 0.5, 0.5 - lat / u_latDiv);
|
|
720
|
+
} else if (u_proj < 1.5) {
|
|
721
|
+
float theta = acos(clamp(-dir.z, -1.0, 1.0));
|
|
722
|
+
float phi = atan(dir.y, dir.x);
|
|
723
|
+
float r = theta / (u_fishFov * 0.5);
|
|
724
|
+
eye = vec2(0.5 + 0.5 * r * cos(phi), 0.5 - 0.5 * r * sin(phi));
|
|
725
|
+
} else {
|
|
726
|
+
float a = acos(clamp(-dir.y, -1.0, 1.0));
|
|
727
|
+
float az = atan(dir.z, dir.x);
|
|
728
|
+
float r = tan(a * 0.5) * u_planetScale;
|
|
729
|
+
eye = vec2(0.5 + r * cos(az) / u_srcAspect, 0.5 + r * sin(az));
|
|
730
|
+
}
|
|
731
|
+
vec2 uv = vec2(eye.x * u_uScale + u_uOffset, eye.y);
|
|
732
|
+
outColor = texture(u_image, uv);
|
|
733
|
+
}`;
|
|
734
|
+
const program = this.createProgram(vsSource, fsSource);
|
|
735
|
+
if (!program) {
|
|
736
|
+
Logger.warn(TAG, "Failed to compile VR preview program");
|
|
737
|
+
return false;
|
|
738
|
+
}
|
|
739
|
+
this.vrProgram = program;
|
|
740
|
+
this.vrLocs = {
|
|
741
|
+
image: gl.getUniformLocation(program, "u_image"),
|
|
742
|
+
yaw: gl.getUniformLocation(program, "u_yaw"),
|
|
743
|
+
pitch: gl.getUniformLocation(program, "u_pitch"),
|
|
744
|
+
fov: gl.getUniformLocation(program, "u_fov"),
|
|
745
|
+
aspect: gl.getUniformLocation(program, "u_aspect"),
|
|
746
|
+
lonDiv: gl.getUniformLocation(program, "u_lonDiv"),
|
|
747
|
+
latDiv: gl.getUniformLocation(program, "u_latDiv"),
|
|
748
|
+
proj: gl.getUniformLocation(program, "u_proj"),
|
|
749
|
+
fishFov: gl.getUniformLocation(program, "u_fishFov"),
|
|
750
|
+
uScale: gl.getUniformLocation(program, "u_uScale"),
|
|
751
|
+
uOffset: gl.getUniformLocation(program, "u_uOffset"),
|
|
752
|
+
planetScale: gl.getUniformLocation(program, "u_planetScale"),
|
|
753
|
+
srcAspect: gl.getUniformLocation(program, "u_srcAspect"),
|
|
754
|
+
};
|
|
755
|
+
gl.useProgram(program);
|
|
756
|
+
if (this.vrLocs.image)
|
|
757
|
+
gl.uniform1i(this.vrLocs.image, 0);
|
|
758
|
+
// Unrotated fullscreen quad (position only at location 0) → v_ndc.
|
|
759
|
+
this.vrVao = gl.createVertexArray();
|
|
760
|
+
gl.bindVertexArray(this.vrVao);
|
|
761
|
+
const vbo = gl.createBuffer();
|
|
762
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
|
|
763
|
+
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), gl.STATIC_DRAW);
|
|
764
|
+
gl.enableVertexAttribArray(0);
|
|
765
|
+
gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
|
|
766
|
+
gl.bindVertexArray(null);
|
|
767
|
+
return true;
|
|
768
|
+
}
|
|
769
|
+
/** Reproject the bound equirect texture to the current 360 view. */
|
|
770
|
+
drawVR(gl, view) {
|
|
771
|
+
// Size the preview to the player's aspect so the framing matches on-screen.
|
|
772
|
+
const aspect = view.aspect > 0 ? view.aspect : 16 / 9;
|
|
773
|
+
const H = ThumbnailRenderer.VR_PREVIEW_HEIGHT;
|
|
774
|
+
const W = Math.max(64, Math.min(768, Math.round(H * aspect)));
|
|
775
|
+
if (this.canvas.width !== W || this.canvas.height !== H) {
|
|
776
|
+
this.canvas.width = W;
|
|
777
|
+
this.canvas.height = H;
|
|
778
|
+
}
|
|
779
|
+
// Full 360° equirect wraps horizontally; VR180 / little-planet clamp.
|
|
780
|
+
gl.bindTexture(gl.TEXTURE_2D, this.texture);
|
|
781
|
+
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, view.half || view.stereographic ? gl.CLAMP_TO_EDGE : gl.REPEAT);
|
|
782
|
+
gl.viewport(0, 0, W, H);
|
|
783
|
+
gl.clearColor(0, 0, 0, 1);
|
|
784
|
+
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
785
|
+
gl.useProgram(this.vrProgram);
|
|
786
|
+
gl.bindVertexArray(this.vrVao);
|
|
787
|
+
const locs = this.vrLocs;
|
|
788
|
+
const eyeAspect = view.sbs ? view.texAspect / 2 : view.texAspect;
|
|
789
|
+
const lonDiv = view.half ? Math.PI : 2 * Math.PI;
|
|
790
|
+
const latDiv = Math.min(Math.PI, lonDiv / (eyeAspect || 2));
|
|
791
|
+
const projMode = view.stereographic ? 2 : view.fisheye ? 1 : 0;
|
|
792
|
+
if (locs.yaw)
|
|
793
|
+
gl.uniform1f(locs.yaw, view.yaw);
|
|
794
|
+
if (locs.pitch)
|
|
795
|
+
gl.uniform1f(locs.pitch, view.pitch);
|
|
796
|
+
if (locs.fov)
|
|
797
|
+
gl.uniform1f(locs.fov, view.fov);
|
|
798
|
+
if (locs.aspect)
|
|
799
|
+
gl.uniform1f(locs.aspect, W / H);
|
|
800
|
+
if (locs.lonDiv)
|
|
801
|
+
gl.uniform1f(locs.lonDiv, lonDiv);
|
|
802
|
+
if (locs.latDiv)
|
|
803
|
+
gl.uniform1f(locs.latDiv, latDiv);
|
|
804
|
+
if (locs.proj)
|
|
805
|
+
gl.uniform1f(locs.proj, projMode);
|
|
806
|
+
if (locs.fishFov)
|
|
807
|
+
gl.uniform1f(locs.fishFov, ThumbnailRenderer.VR_FISHEYE_FOV);
|
|
808
|
+
if (locs.uScale)
|
|
809
|
+
gl.uniform1f(locs.uScale, view.sbs ? 0.5 : 1);
|
|
810
|
+
if (locs.uOffset)
|
|
811
|
+
gl.uniform1f(locs.uOffset, 0);
|
|
812
|
+
if (locs.planetScale)
|
|
813
|
+
gl.uniform1f(locs.planetScale, ThumbnailRenderer.VR_PLANET_SCALE);
|
|
814
|
+
if (locs.srcAspect)
|
|
815
|
+
gl.uniform1f(locs.srcAspect, view.texAspect || 1);
|
|
816
|
+
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
|
|
817
|
+
}
|
|
644
818
|
draw() {
|
|
645
|
-
if (!this.gl || !this.
|
|
819
|
+
if (!this.gl || !this.vao)
|
|
646
820
|
return;
|
|
647
821
|
const gl = this.gl;
|
|
648
|
-
//
|
|
822
|
+
// 360° preview: reproject the equirect texture to the current view.
|
|
823
|
+
if (this.vrView && this.initVRProgram()) {
|
|
824
|
+
this.drawVR(gl, this.vrView);
|
|
825
|
+
return;
|
|
826
|
+
}
|
|
827
|
+
if (!this.program)
|
|
828
|
+
return;
|
|
829
|
+
// Restore the flat (source-sized) canvas if a prior 360 draw resized it.
|
|
830
|
+
if (this.flatWidth && this.canvas.width !== this.flatWidth) {
|
|
831
|
+
this.canvas.width = this.flatWidth;
|
|
832
|
+
this.canvas.height = this.flatHeight;
|
|
833
|
+
}
|
|
649
834
|
gl.viewport(0, 0, this.canvas.width, this.canvas.height);
|
|
650
835
|
gl.clearColor(0, 0, 0, 1);
|
|
651
836
|
gl.clear(gl.COLOR_BUFFER_BIT);
|
|
@@ -727,6 +912,14 @@ export class ThumbnailRenderer {
|
|
|
727
912
|
this.gl.deleteProgram(this.program);
|
|
728
913
|
this.program = null;
|
|
729
914
|
}
|
|
915
|
+
if (this.vrVao) {
|
|
916
|
+
this.gl.deleteVertexArray(this.vrVao);
|
|
917
|
+
this.vrVao = null;
|
|
918
|
+
}
|
|
919
|
+
if (this.vrProgram) {
|
|
920
|
+
this.gl.deleteProgram(this.vrProgram);
|
|
921
|
+
this.vrProgram = null;
|
|
922
|
+
}
|
|
730
923
|
}
|
|
731
924
|
this.gl = null;
|
|
732
925
|
if (this.decoder) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThumbnailRenderer.js","sourceRoot":"","sources":["../../src/utils/ThumbnailRenderer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThumbnailRenderer.js","sourceRoot":"","sources":["../../src/utils/ThumbnailRenderer.ts"],"names":[],"mappings":"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"}
|
package/dist/wasm/bindings.d.ts
CHANGED
|
@@ -138,6 +138,14 @@ export declare class WasmBindings {
|
|
|
138
138
|
*/
|
|
139
139
|
setLogLevelFromMovi(level: LogLevel): void;
|
|
140
140
|
enableDecoder(streamIndex: number, extradata?: Uint8Array): number;
|
|
141
|
+
/**
|
|
142
|
+
* Persistently discard (or re-enable) a stream at the demuxer level. With
|
|
143
|
+
* discard=true, av_read_frame skips that stream's packets internally and never
|
|
144
|
+
* returns them — used to drop unused audio/subtitle tracks from the read path
|
|
145
|
+
* so the JS demux loop isn't flooded with packets it throws away (issue #11:
|
|
146
|
+
* a 2nd unused TrueHD track doubled the read load and starved audio on Safari).
|
|
147
|
+
*/
|
|
148
|
+
setStreamDiscard(streamIndex: number, discard: boolean): void;
|
|
141
149
|
sendPacket(streamIndex: number, data: Uint8Array, pts: number, dts: number, keyframe: boolean): number;
|
|
142
150
|
receiveFrame(streamIndex: number): number;
|
|
143
151
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOtE,OAAO,EAAU,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AA0CnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACzD;
|
|
1
|
+
{"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/wasm/bindings.ts"],"names":[],"mappings":"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"}
|
package/dist/wasm/bindings.js
CHANGED
|
@@ -48,13 +48,19 @@ function parseStreamInfo(module, ptr) {
|
|
|
48
48
|
const view = new DataView(module.HEAPU8.buffer, ptr, STREAM_INFO_SIZE);
|
|
49
49
|
// Read codec name (32 bytes starting at offset 12)
|
|
50
50
|
const codecNameBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.codecName, ptr + STREAM_INFO_OFFSETS.codecName + 32);
|
|
51
|
-
|
|
51
|
+
// .slice() (a copy), not .subarray() (a view): module.HEAPU8 is backed by a
|
|
52
|
+
// resizable ArrayBuffer under -sALLOW_MEMORY_GROWTH, and TextDecoder.decode()
|
|
53
|
+
// throws "The provided ArrayBuffer value must not be resizable" on a view of
|
|
54
|
+
// one. Copying into a fresh, fixed-size buffer sidesteps it. Applies to every
|
|
55
|
+
// TextDecoder.decode() of a heap view below. (Newer Emscripten toolchains hit
|
|
56
|
+
// this; reported as issue #11.)
|
|
57
|
+
const codecName = new TextDecoder().decode(codecNameBytes.slice(0, codecNameBytes.indexOf(0)));
|
|
52
58
|
// Read language (8 bytes starting at offset 100)
|
|
53
59
|
const languageBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.language, ptr + STREAM_INFO_OFFSETS.language + 8);
|
|
54
|
-
const language = new TextDecoder().decode(languageBytes.
|
|
60
|
+
const language = new TextDecoder().decode(languageBytes.slice(0, languageBytes.indexOf(0)));
|
|
55
61
|
// Read label (64 bytes starting at offset 112)
|
|
56
62
|
const labelBytes = module.HEAPU8.subarray(ptr + STREAM_INFO_OFFSETS.label, ptr + STREAM_INFO_OFFSETS.label + 64);
|
|
57
|
-
const label = new TextDecoder().decode(labelBytes.
|
|
63
|
+
const label = new TextDecoder().decode(labelBytes.slice(0, labelBytes.indexOf(0)));
|
|
58
64
|
return {
|
|
59
65
|
index: view.getInt32(STREAM_INFO_OFFSETS.index, true),
|
|
60
66
|
type: view.getInt32(STREAM_INFO_OFFSETS.type, true),
|
|
@@ -88,7 +94,9 @@ function parseStreamInfo(module, ptr) {
|
|
|
88
94
|
function readString(module, ptr, maxLength) {
|
|
89
95
|
const bytes = module.HEAPU8.subarray(ptr, ptr + maxLength);
|
|
90
96
|
const nullIndex = bytes.indexOf(0);
|
|
91
|
-
|
|
97
|
+
// .slice() copies out of the resizable HEAP buffer — TextDecoder rejects a
|
|
98
|
+
// view of a resizable ArrayBuffer (see parseStreamInfo note).
|
|
99
|
+
return new TextDecoder().decode(bytes.slice(0, nullIndex >= 0 ? nullIndex : maxLength));
|
|
92
100
|
}
|
|
93
101
|
/**
|
|
94
102
|
* Parse PacketInfo from WASM memory
|
|
@@ -534,7 +542,7 @@ export class WasmBindings {
|
|
|
534
542
|
this.module._movi_get_chapter_title(this.contextPtr, i, titleBufPtr, 256);
|
|
535
543
|
const titleBytes = this.module.HEAPU8.subarray(titleBufPtr, titleBufPtr + 256);
|
|
536
544
|
const nullIdx = titleBytes.indexOf(0);
|
|
537
|
-
const title = new TextDecoder().decode(titleBytes.
|
|
545
|
+
const title = new TextDecoder().decode(titleBytes.slice(0, nullIdx > 0 ? nullIdx : 256));
|
|
538
546
|
chapters.push({
|
|
539
547
|
title: title || `Chapter ${i + 1}`,
|
|
540
548
|
start: start >= 0 ? start : 0,
|
|
@@ -631,6 +639,21 @@ export class WasmBindings {
|
|
|
631
639
|
this.module._free(ptr);
|
|
632
640
|
}
|
|
633
641
|
}
|
|
642
|
+
/**
|
|
643
|
+
* Persistently discard (or re-enable) a stream at the demuxer level. With
|
|
644
|
+
* discard=true, av_read_frame skips that stream's packets internally and never
|
|
645
|
+
* returns them — used to drop unused audio/subtitle tracks from the read path
|
|
646
|
+
* so the JS demux loop isn't flooded with packets it throws away (issue #11:
|
|
647
|
+
* a 2nd unused TrueHD track doubled the read load and starved audio on Safari).
|
|
648
|
+
*/
|
|
649
|
+
setStreamDiscard(streamIndex, discard) {
|
|
650
|
+
if (!this.contextPtr)
|
|
651
|
+
return;
|
|
652
|
+
const fn = this.module._movi_set_stream_discard;
|
|
653
|
+
if (typeof fn !== "function")
|
|
654
|
+
return; // older WASM without the export
|
|
655
|
+
fn(this.contextPtr, streamIndex, discard ? 1 : 0);
|
|
656
|
+
}
|
|
634
657
|
sendPacket(streamIndex, data, pts, dts, keyframe) {
|
|
635
658
|
if (!this.contextPtr)
|
|
636
659
|
return -1;
|
|
@@ -719,7 +742,8 @@ export class WasmBindings {
|
|
|
719
742
|
}
|
|
720
743
|
// Read text from WASM memory
|
|
721
744
|
const textBytes = this.module.HEAPU8.subarray(bufferPtr, bufferPtr + result);
|
|
722
|
-
|
|
745
|
+
// .slice() — TextDecoder rejects a view of the resizable HEAP buffer.
|
|
746
|
+
const text = new TextDecoder().decode(textBytes.slice());
|
|
723
747
|
// Trim whitespace and check if empty
|
|
724
748
|
const trimmedText = text?.trim();
|
|
725
749
|
if (!trimmedText || trimmedText.length === 0) {
|
|
@@ -799,7 +823,7 @@ export class WasmBindings {
|
|
|
799
823
|
const start = new DataView(this.module.HEAPU8.buffer, startPtr, 8).getFloat64(0, true);
|
|
800
824
|
const end = new DataView(this.module.HEAPU8.buffer, endPtr, 8).getFloat64(0, true);
|
|
801
825
|
const textBytes = this.module.HEAPU8.subarray(textPtr, textPtr + len);
|
|
802
|
-
const text = new TextDecoder().decode(textBytes).trim();
|
|
826
|
+
const text = new TextDecoder().decode(textBytes.slice()).trim();
|
|
803
827
|
if (text)
|
|
804
828
|
cues.push({ start, end, text });
|
|
805
829
|
}
|