@blockcast/mmt-wasm 0.4.1 → 0.5.0-main.6f3380bce0c1

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/package.json CHANGED
@@ -1,40 +1,40 @@
1
1
  {
2
- "name": "@blockcast/mmt-wasm",
3
- "version": "0.4.1",
4
- "description": "wasm-bindgen builds of the libmmt Rust core (RaptorQ FEC, MMTP MFU reassembly): `pkg` for ESM bundlers and `pkg-no-modules` as a global script for Closure-compiled pages",
5
- "main": "pkg/mmt_wasm.js",
6
- "types": "pkg/mmt_wasm.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./pkg/mmt_wasm.d.ts",
10
- "import": "./pkg/mmt_wasm.js"
11
- },
12
- "./mmt_wasm_bg.wasm": "./pkg/mmt_wasm_bg.wasm",
13
- "./no-modules": {
14
- "types": "./pkg-no-modules/mmt_wasm.d.ts",
15
- "default": "./pkg-no-modules/mmt_wasm.js"
16
- },
17
- "./no-modules/mmt_wasm_bg.wasm": "./pkg-no-modules/mmt_wasm_bg.wasm",
18
- "./package.json": "./package.json"
19
- },
20
- "files": [
21
- "pkg",
22
- "pkg-no-modules"
23
- ],
24
- "scripts": {
25
- "build": "make -C ../.. mmt-wasm",
26
- "test": "node build-contract.test.mjs"
27
- },
28
- "keywords": [
29
- "mmt",
30
- "mmtp",
31
- "raptorq",
32
- "wasm"
33
- ],
34
- "license": "Apache-2.0",
35
- "repository": {
36
- "type": "git",
37
- "url": "https://github.com/Blockcast/libmmt.git",
38
- "directory": "packages/mmt-wasm"
39
- }
2
+ "name": "@blockcast/mmt-wasm",
3
+ "version": "0.5.0-main.6f3380bce0c1",
4
+ "description": "wasm-bindgen builds of the libmmt Rust core (RaptorQ FEC, MMTP MFU reassembly): `pkg` for ESM bundlers and `pkg-no-modules` as a global script for Closure-compiled pages",
5
+ "main": "pkg/mmt_wasm.js",
6
+ "types": "pkg/mmt_wasm.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./pkg/mmt_wasm.d.ts",
10
+ "import": "./pkg/mmt_wasm.js"
11
+ },
12
+ "./mmt_wasm_bg.wasm": "./pkg/mmt_wasm_bg.wasm",
13
+ "./no-modules": {
14
+ "types": "./pkg-no-modules/mmt_wasm.d.ts",
15
+ "default": "./pkg-no-modules/mmt_wasm.js"
16
+ },
17
+ "./no-modules/mmt_wasm_bg.wasm": "./pkg-no-modules/mmt_wasm_bg.wasm",
18
+ "./package.json": "./package.json"
19
+ },
20
+ "files": [
21
+ "pkg",
22
+ "pkg-no-modules"
23
+ ],
24
+ "scripts": {
25
+ "build": "make -C ../.. mmt-wasm",
26
+ "test": "node build-contract.test.mjs"
27
+ },
28
+ "keywords": [
29
+ "mmt",
30
+ "mmtp",
31
+ "raptorq",
32
+ "wasm"
33
+ ],
34
+ "license": "Apache-2.0",
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/Blockcast/libmmt.git",
38
+ "directory": "packages/mmt-wasm"
39
+ }
40
40
  }
package/pkg/mmt_wasm.d.ts CHANGED
@@ -734,6 +734,12 @@ export class ShredReassembler {
734
734
  */
735
735
  export function annexb_access_unit_is_keyframe(codec: string, access_unit: Uint8Array): boolean;
736
736
 
737
+ /**
738
+ * bc-provenance v2 datagram digest D (multicast-01 7.2.2, hash_alg 1): SHA-256
739
+ * over the AMBI pseudoheader and the whole UDP payload, trailer included.
740
+ */
741
+ export function bc_provenance_v2_datagram_digest(source: string, group: string, port: number, stream_id: number, payload: Uint8Array): Uint8Array;
742
+
737
743
  /**
738
744
  * The RFC 6381 codec string of an HEVC stream derived from its SPS NAL unit
739
745
  * (ISO/IEC 14496-15 Annex E.3), using the sample entry (`hev1`/`hvc1`) of
@@ -767,11 +773,6 @@ export function is_keyframe_nal(codec: string, nal: Uint8Array): boolean;
767
773
  */
768
774
  export function moq_fec_contract_version(): string;
769
775
 
770
- /**
771
- * Hash one authenticated object on the browser main thread.
772
- */
773
- export function source_auth_blake3(object: Uint8Array): Uint8Array;
774
-
775
776
  /**
776
777
  * Build one `iso-ssbg1-v1` source symbol (ISO/IEC 23008-1 C.3.3
777
778
  * ssbg_mode1): `u16be(len) || packet || zero padding` to `symbol_size` bytes.
@@ -824,6 +825,7 @@ export interface InitOutput {
824
825
  readonly __wbg_shredfecbuffer_free: (a: number, b: number) => void;
825
826
  readonly __wbg_shredreassembler_free: (a: number, b: number) => void;
826
827
  readonly annexb_access_unit_is_keyframe: (a: number, b: number, c: number, d: number) => [number, number, number];
828
+ readonly bc_provenance_v2_datagram_digest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
827
829
  readonly combinedsamplejs_attribution: (a: number) => number;
828
830
  readonly combinedsamplejs_data: (a: number) => [number, number];
829
831
  readonly combinedsamplejs_movie_fragment_sequence_number: (a: number) => number;
@@ -957,7 +959,6 @@ export interface InitOutput {
957
959
  readonly shredfecbuffer_try_recover_all_with_identity: (a: number, b: number) => number;
958
960
  readonly shredreassembler_add_shred: (a: number, b: bigint, c: number, d: number, e: number, f: number, g: number) => [number, number];
959
961
  readonly shredreassembler_new: (a: bigint, b: number) => number;
960
- readonly source_auth_blake3: (a: number, b: number) => [number, number];
961
962
  readonly ssbg1_source_symbol: (a: number, b: number, c: number) => [number, number, number, number];
962
963
  readonly video_sample_entry_from_codec_string: (a: number, b: number) => [number, number, number, number];
963
964
  readonly moqencodedblock_p: (a: number) => number;
package/pkg/mmt_wasm.js CHANGED
@@ -2651,6 +2651,32 @@ export function annexb_access_unit_is_keyframe(codec, access_unit) {
2651
2651
  return ret[0] !== 0;
2652
2652
  }
2653
2653
 
2654
+ /**
2655
+ * bc-provenance v2 datagram digest D (multicast-01 7.2.2, hash_alg 1): SHA-256
2656
+ * over the AMBI pseudoheader and the whole UDP payload, trailer included.
2657
+ * @param {string} source
2658
+ * @param {string} group
2659
+ * @param {number} port
2660
+ * @param {number} stream_id
2661
+ * @param {Uint8Array} payload
2662
+ * @returns {Uint8Array}
2663
+ */
2664
+ export function bc_provenance_v2_datagram_digest(source, group, port, stream_id, payload) {
2665
+ const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2666
+ const len0 = WASM_VECTOR_LEN;
2667
+ const ptr1 = passStringToWasm0(group, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2668
+ const len1 = WASM_VECTOR_LEN;
2669
+ const ptr2 = passArray8ToWasm0(payload, wasm.__wbindgen_malloc);
2670
+ const len2 = WASM_VECTOR_LEN;
2671
+ const ret = wasm.bc_provenance_v2_datagram_digest(ptr0, len0, ptr1, len1, port, stream_id, ptr2, len2);
2672
+ if (ret[3]) {
2673
+ throw takeFromExternrefTable0(ret[2]);
2674
+ }
2675
+ var v4 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
2676
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
2677
+ return v4;
2678
+ }
2679
+
2654
2680
  /**
2655
2681
  * The RFC 6381 codec string of an HEVC stream derived from its SPS NAL unit
2656
2682
  * (ISO/IEC 14496-15 Annex E.3), using the sample entry (`hev1`/`hvc1`) of
@@ -2750,20 +2776,6 @@ export function moq_fec_contract_version() {
2750
2776
  }
2751
2777
  }
2752
2778
 
2753
- /**
2754
- * Hash one authenticated object on the browser main thread.
2755
- * @param {Uint8Array} object
2756
- * @returns {Uint8Array}
2757
- */
2758
- export function source_auth_blake3(object) {
2759
- const ptr0 = passArray8ToWasm0(object, wasm.__wbindgen_malloc);
2760
- const len0 = WASM_VECTOR_LEN;
2761
- const ret = wasm.source_auth_blake3(ptr0, len0);
2762
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
2763
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
2764
- return v2;
2765
- }
2766
-
2767
2779
  /**
2768
2780
  * Build one `iso-ssbg1-v1` source symbol (ISO/IEC 23008-1 C.3.3
2769
2781
  * ssbg_mode1): `u16be(len) || packet || zero padding` to `symbol_size` bytes.
@@ -2880,7 +2892,7 @@ function __wbg_get_imports() {
2880
2892
  const ret = Reflect.get(arg0, arg1);
2881
2893
  return ret;
2882
2894
  }, arguments) };
2883
- imports.wbg.__wbg_log_443cb9527570529b = function(arg0, arg1) {
2895
+ imports.wbg.__wbg_log_7563548dc7f9a87c = function(arg0, arg1) {
2884
2896
  console.log(getStringFromWasm0(arg0, arg1));
2885
2897
  };
2886
2898
  imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {
@@ -2926,7 +2938,7 @@ function __wbg_get_imports() {
2926
2938
  const ret = typeof window === 'undefined' ? null : window;
2927
2939
  return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
2928
2940
  };
2929
- imports.wbg.__wbg_warn_620e34c9218c1711 = function(arg0, arg1) {
2941
+ imports.wbg.__wbg_warn_512c4eda6739f9af = function(arg0, arg1) {
2930
2942
  console.warn(getStringFromWasm0(arg0, arg1));
2931
2943
  };
2932
2944
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
Binary file
@@ -35,6 +35,7 @@ export const __wbg_set_fecstats_unplaced_evicted: (a: number, b: bigint) => void
35
35
  export const __wbg_shredfecbuffer_free: (a: number, b: number) => void;
36
36
  export const __wbg_shredreassembler_free: (a: number, b: number) => void;
37
37
  export const annexb_access_unit_is_keyframe: (a: number, b: number, c: number, d: number) => [number, number, number];
38
+ export const bc_provenance_v2_datagram_digest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
38
39
  export const combinedsamplejs_attribution: (a: number) => number;
39
40
  export const combinedsamplejs_data: (a: number) => [number, number];
40
41
  export const combinedsamplejs_movie_fragment_sequence_number: (a: number) => number;
@@ -168,7 +169,6 @@ export const shredfecbuffer_try_recover_all: (a: number, b: number) => [number,
168
169
  export const shredfecbuffer_try_recover_all_with_identity: (a: number, b: number) => number;
169
170
  export const shredreassembler_add_shred: (a: number, b: bigint, c: number, d: number, e: number, f: number, g: number) => [number, number];
170
171
  export const shredreassembler_new: (a: bigint, b: number) => number;
171
- export const source_auth_blake3: (a: number, b: number) => [number, number];
172
172
  export const ssbg1_source_symbol: (a: number, b: number, c: number) => [number, number, number, number];
173
173
  export const video_sample_entry_from_codec_string: (a: number, b: number) => [number, number, number, number];
174
174
  export const moqencodedblock_p: (a: number) => number;
package/pkg/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "Blockcast Team"
6
6
  ],
7
7
  "description": "WebAssembly bindings for libmmt FEC and MFU processing",
8
- "version": "0.1.0",
8
+ "version": "0.2.0",
9
9
  "license": "MIT OR Apache-2.0",
10
10
  "files": [
11
11
  "mmt_wasm_bg.wasm",
@@ -735,6 +735,12 @@ declare namespace wasm_bindgen {
735
735
  */
736
736
  export function annexb_access_unit_is_keyframe(codec: string, access_unit: Uint8Array): boolean;
737
737
 
738
+ /**
739
+ * bc-provenance v2 datagram digest D (multicast-01 7.2.2, hash_alg 1): SHA-256
740
+ * over the AMBI pseudoheader and the whole UDP payload, trailer included.
741
+ */
742
+ export function bc_provenance_v2_datagram_digest(source: string, group: string, port: number, stream_id: number, payload: Uint8Array): Uint8Array;
743
+
738
744
  /**
739
745
  * The RFC 6381 codec string of an HEVC stream derived from its SPS NAL unit
740
746
  * (ISO/IEC 14496-15 Annex E.3), using the sample entry (`hev1`/`hvc1`) of
@@ -768,11 +774,6 @@ declare namespace wasm_bindgen {
768
774
  */
769
775
  export function moq_fec_contract_version(): string;
770
776
 
771
- /**
772
- * Hash one authenticated object on the browser main thread.
773
- */
774
- export function source_auth_blake3(object: Uint8Array): Uint8Array;
775
-
776
777
  /**
777
778
  * Build one `iso-ssbg1-v1` source symbol (ISO/IEC 23008-1 C.3.3
778
779
  * ssbg_mode1): `u16be(len) || packet || zero padding` to `symbol_size` bytes.
@@ -827,6 +828,7 @@ declare interface InitOutput {
827
828
  readonly __wbg_shredfecbuffer_free: (a: number, b: number) => void;
828
829
  readonly __wbg_shredreassembler_free: (a: number, b: number) => void;
829
830
  readonly annexb_access_unit_is_keyframe: (a: number, b: number, c: number, d: number) => [number, number, number];
831
+ readonly bc_provenance_v2_datagram_digest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
830
832
  readonly combinedsamplejs_attribution: (a: number) => number;
831
833
  readonly combinedsamplejs_data: (a: number) => [number, number];
832
834
  readonly combinedsamplejs_movie_fragment_sequence_number: (a: number) => number;
@@ -960,7 +962,6 @@ declare interface InitOutput {
960
962
  readonly shredfecbuffer_try_recover_all_with_identity: (a: number, b: number) => number;
961
963
  readonly shredreassembler_add_shred: (a: number, b: bigint, c: number, d: number, e: number, f: number, g: number) => [number, number];
962
964
  readonly shredreassembler_new: (a: bigint, b: number) => number;
963
- readonly source_auth_blake3: (a: number, b: number) => [number, number];
964
965
  readonly ssbg1_source_symbol: (a: number, b: number, c: number) => [number, number, number, number];
965
966
  readonly video_sample_entry_from_codec_string: (a: number, b: number) => [number, number, number, number];
966
967
  readonly moqencodedblock_p: (a: number) => number;
@@ -2671,6 +2671,33 @@ let wasm_bindgen;
2671
2671
  }
2672
2672
  __exports.annexb_access_unit_is_keyframe = annexb_access_unit_is_keyframe;
2673
2673
 
2674
+ /**
2675
+ * bc-provenance v2 datagram digest D (multicast-01 7.2.2, hash_alg 1): SHA-256
2676
+ * over the AMBI pseudoheader and the whole UDP payload, trailer included.
2677
+ * @param {string} source
2678
+ * @param {string} group
2679
+ * @param {number} port
2680
+ * @param {number} stream_id
2681
+ * @param {Uint8Array} payload
2682
+ * @returns {Uint8Array}
2683
+ */
2684
+ function bc_provenance_v2_datagram_digest(source, group, port, stream_id, payload) {
2685
+ const ptr0 = passStringToWasm0(source, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2686
+ const len0 = WASM_VECTOR_LEN;
2687
+ const ptr1 = passStringToWasm0(group, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
2688
+ const len1 = WASM_VECTOR_LEN;
2689
+ const ptr2 = passArray8ToWasm0(payload, wasm.__wbindgen_malloc);
2690
+ const len2 = WASM_VECTOR_LEN;
2691
+ const ret = wasm.bc_provenance_v2_datagram_digest(ptr0, len0, ptr1, len1, port, stream_id, ptr2, len2);
2692
+ if (ret[3]) {
2693
+ throw takeFromExternrefTable0(ret[2]);
2694
+ }
2695
+ var v4 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
2696
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
2697
+ return v4;
2698
+ }
2699
+ __exports.bc_provenance_v2_datagram_digest = bc_provenance_v2_datagram_digest;
2700
+
2674
2701
  /**
2675
2702
  * The RFC 6381 codec string of an HEVC stream derived from its SPS NAL unit
2676
2703
  * (ISO/IEC 14496-15 Annex E.3), using the sample entry (`hev1`/`hvc1`) of
@@ -2775,21 +2802,6 @@ let wasm_bindgen;
2775
2802
  }
2776
2803
  __exports.moq_fec_contract_version = moq_fec_contract_version;
2777
2804
 
2778
- /**
2779
- * Hash one authenticated object on the browser main thread.
2780
- * @param {Uint8Array} object
2781
- * @returns {Uint8Array}
2782
- */
2783
- function source_auth_blake3(object) {
2784
- const ptr0 = passArray8ToWasm0(object, wasm.__wbindgen_malloc);
2785
- const len0 = WASM_VECTOR_LEN;
2786
- const ret = wasm.source_auth_blake3(ptr0, len0);
2787
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
2788
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
2789
- return v2;
2790
- }
2791
- __exports.source_auth_blake3 = source_auth_blake3;
2792
-
2793
2805
  /**
2794
2806
  * Build one `iso-ssbg1-v1` source symbol (ISO/IEC 23008-1 C.3.3
2795
2807
  * ssbg_mode1): `u16be(len) || packet || zero padding` to `symbol_size` bytes.
@@ -2908,7 +2920,7 @@ let wasm_bindgen;
2908
2920
  const ret = Reflect.get(arg0, arg1);
2909
2921
  return ret;
2910
2922
  }, arguments) };
2911
- imports.wbg.__wbg_log_443cb9527570529b = function(arg0, arg1) {
2923
+ imports.wbg.__wbg_log_7563548dc7f9a87c = function(arg0, arg1) {
2912
2924
  console.log(getStringFromWasm0(arg0, arg1));
2913
2925
  };
2914
2926
  imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {
@@ -2954,7 +2966,7 @@ let wasm_bindgen;
2954
2966
  const ret = typeof window === 'undefined' ? null : window;
2955
2967
  return isLikeNone(ret) ? 0 : addToExternrefTable0(ret);
2956
2968
  };
2957
- imports.wbg.__wbg_warn_620e34c9218c1711 = function(arg0, arg1) {
2969
+ imports.wbg.__wbg_warn_512c4eda6739f9af = function(arg0, arg1) {
2958
2970
  console.warn(getStringFromWasm0(arg0, arg1));
2959
2971
  };
2960
2972
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
Binary file
@@ -35,6 +35,7 @@ export const __wbg_set_fecstats_unplaced_evicted: (a: number, b: bigint) => void
35
35
  export const __wbg_shredfecbuffer_free: (a: number, b: number) => void;
36
36
  export const __wbg_shredreassembler_free: (a: number, b: number) => void;
37
37
  export const annexb_access_unit_is_keyframe: (a: number, b: number, c: number, d: number) => [number, number, number];
38
+ export const bc_provenance_v2_datagram_digest: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
38
39
  export const combinedsamplejs_attribution: (a: number) => number;
39
40
  export const combinedsamplejs_data: (a: number) => [number, number];
40
41
  export const combinedsamplejs_movie_fragment_sequence_number: (a: number) => number;
@@ -168,7 +169,6 @@ export const shredfecbuffer_try_recover_all: (a: number, b: number) => [number,
168
169
  export const shredfecbuffer_try_recover_all_with_identity: (a: number, b: number) => number;
169
170
  export const shredreassembler_add_shred: (a: number, b: bigint, c: number, d: number, e: number, f: number, g: number) => [number, number];
170
171
  export const shredreassembler_new: (a: bigint, b: number) => number;
171
- export const source_auth_blake3: (a: number, b: number) => [number, number];
172
172
  export const ssbg1_source_symbol: (a: number, b: number, c: number) => [number, number, number, number];
173
173
  export const video_sample_entry_from_codec_string: (a: number, b: number) => [number, number, number, number];
174
174
  export const moqencodedblock_p: (a: number) => number;
@@ -4,7 +4,7 @@
4
4
  "Blockcast Team"
5
5
  ],
6
6
  "description": "WebAssembly bindings for libmmt FEC and MFU processing",
7
- "version": "0.1.0",
7
+ "version": "0.2.0",
8
8
  "license": "MIT OR Apache-2.0",
9
9
  "files": [
10
10
  "mmt_wasm_bg.wasm",