@blockcast/mmt-wasm 0.3.0 → 0.4.0-main.1d3ea1cc8ff2
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 +38 -38
- package/pkg/mmt_wasm.d.ts +77 -83
- package/pkg/mmt_wasm.js +126 -107
- package/pkg/mmt_wasm_bg.wasm +0 -0
- package/pkg/mmt_wasm_bg.wasm.d.ts +10 -7
- package/pkg-no-modules/mmt_wasm.d.ts +77 -83
- package/pkg-no-modules/mmt_wasm.js +126 -107
- package/pkg-no-modules/mmt_wasm_bg.wasm +0 -0
- package/pkg-no-modules/mmt_wasm_bg.wasm.d.ts +10 -7
|
@@ -529,6 +529,25 @@ let wasm_bindgen;
|
|
|
529
529
|
set blocks_delivery_failed(arg0) {
|
|
530
530
|
wasm.__wbg_set_fecstats_blocks_delivery_failed(this.__wbg_ptr, arg0);
|
|
531
531
|
}
|
|
532
|
+
/**
|
|
533
|
+
* `iso-ssbg1-v1` held sources evicted, oldest arrival first, because the
|
|
534
|
+
* unplaced pool was at its `(interleave_depth + 1) * K` cap: no sweep
|
|
535
|
+
* (`cleanup_by_ss_start` / `retire_unplaced`) retired them first.
|
|
536
|
+
* @returns {bigint}
|
|
537
|
+
*/
|
|
538
|
+
get unplaced_evicted() {
|
|
539
|
+
const ret = wasm.__wbg_get_fecstats_unplaced_evicted(this.__wbg_ptr);
|
|
540
|
+
return BigInt.asUintN(64, ret);
|
|
541
|
+
}
|
|
542
|
+
/**
|
|
543
|
+
* `iso-ssbg1-v1` held sources evicted, oldest arrival first, because the
|
|
544
|
+
* unplaced pool was at its `(interleave_depth + 1) * K` cap: no sweep
|
|
545
|
+
* (`cleanup_by_ss_start` / `retire_unplaced`) retired them first.
|
|
546
|
+
* @param {bigint} arg0
|
|
547
|
+
*/
|
|
548
|
+
set unplaced_evicted(arg0) {
|
|
549
|
+
wasm.__wbg_set_fecstats_unplaced_evicted(this.__wbg_ptr, arg0);
|
|
550
|
+
}
|
|
532
551
|
/**
|
|
533
552
|
* Recovery rate as percentage (0-100)
|
|
534
553
|
* Counts all blocks: complete + recovered + FEC-failed + delivery-failed
|
|
@@ -672,27 +691,15 @@ let wasm_bindgen;
|
|
|
672
691
|
/**
|
|
673
692
|
* Add a repair symbol per ISO 23008-1 §C.5.3.
|
|
674
693
|
*
|
|
675
|
-
* Repair carries (SS_Start, SSB_length, RS_ID).
|
|
676
|
-
* SS_Start
|
|
677
|
-
*
|
|
678
|
-
*
|
|
679
|
-
*
|
|
680
|
-
*
|
|
681
|
-
*
|
|
682
|
-
*
|
|
683
|
-
*
|
|
684
|
-
* (fec-raptorq `InterleavedEncoder::force_complete`). The block records
|
|
685
|
-
* `SSB_length`, completes once that many source symbols arrived, and
|
|
686
|
-
* recovers from `SSB_length` received symbols by supplying the known
|
|
687
|
-
* padding itself. A conflicting `SSB_length` for one block is rejected
|
|
688
|
-
* without changing that block.
|
|
689
|
-
*
|
|
690
|
-
* Under `iso-ssbg1-v1` the block is `[SS_Start, SS_Start + SSB_length)`
|
|
691
|
-
* with `1 <= SSB_length <= K` (K is only the maximum), its RaptorQ geometry
|
|
692
|
-
* is K' = SSB_length with no padding, and repair ESI = SSB_length + RS_ID
|
|
693
|
-
* (C.5.3). The first repair defines the block and claims every held source
|
|
694
|
-
* in range. A conflicting SSB_length, or a range overlapping a different
|
|
695
|
-
* known block, is refused without changing any block. Output is the K'*T
|
|
694
|
+
* Repair carries (SS_Start, SSB_length, RS_ID). The block is
|
|
695
|
+
* `[SS_Start, SS_Start + SSB_length)` with `1 <= SSB_length <= K` (the
|
|
696
|
+
* configured K is only the maximum), its RaptorQ geometry is
|
|
697
|
+
* K' = SSB_length with no padding, and repair ESI = SSB_length + RS_ID.
|
|
698
|
+
* The first repair defines the block and claims every held source in
|
|
699
|
+
* range. A conflicting SSB_length, a range overlapping a different known
|
|
700
|
+
* block, or a start more than `interleave_depth` blocks behind the last
|
|
701
|
+
* `cleanup_by_ss_start`'s `current` (`iso_blocks_behind_lower_bound`), is
|
|
702
|
+
* refused without changing any block. Output is the K'*T
|
|
696
703
|
* concatenated ssbg_mode1 symbols: split by T and trim by the length field.
|
|
697
704
|
* @param {number} ss_start
|
|
698
705
|
* @param {number} ssb_length
|
|
@@ -721,13 +728,12 @@ let wasm_bindgen;
|
|
|
721
728
|
* SS_ID is a flat 32-bit counter. An unconfigured decoder rejects the
|
|
722
729
|
* packet.
|
|
723
730
|
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
729
|
-
*
|
|
730
|
-
* whose block no repair has defined yet is held by SS_ID until one does.
|
|
731
|
+
* Builds the C.3.3 ssbg_mode1 symbol `u16be(len) || data || zero padding`
|
|
732
|
+
* (refusing `len + 2 > T`) and places it at ESI = serial distance from the
|
|
733
|
+
* start of the known block whose `[SS_Start, SS_Start + SSB_length)`
|
|
734
|
+
* contains SS_ID. A source whose block no repair has defined yet is held
|
|
735
|
+
* by SS_ID until one does; at most `(interleave_depth + 1) * K` are held, and
|
|
736
|
+
* the oldest arrival is evicted first (`FecStats::unplaced_evicted`).
|
|
731
737
|
*
|
|
732
738
|
* # Arguments
|
|
733
739
|
* * `ss_id` - Source symbol ID (32-bit monotonic counter)
|
|
@@ -758,6 +764,22 @@ let wasm_bindgen;
|
|
|
758
764
|
reset_stats() {
|
|
759
765
|
wasm.mmtfecdecoder_reset_stats(this.__wbg_ptr);
|
|
760
766
|
}
|
|
767
|
+
/**
|
|
768
|
+
* The `fec.algorithm` token this decoder was built for.
|
|
769
|
+
* @returns {string}
|
|
770
|
+
*/
|
|
771
|
+
get_algorithm() {
|
|
772
|
+
let deferred1_0;
|
|
773
|
+
let deferred1_1;
|
|
774
|
+
try {
|
|
775
|
+
const ret = wasm.mmtfecdecoder_get_algorithm(this.__wbg_ptr);
|
|
776
|
+
deferred1_0 = ret[0];
|
|
777
|
+
deferred1_1 = ret[1];
|
|
778
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
779
|
+
} finally {
|
|
780
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
781
|
+
}
|
|
782
|
+
}
|
|
761
783
|
/**
|
|
762
784
|
* Get alignment (Al) parameter from OTI
|
|
763
785
|
* @returns {number}
|
|
@@ -769,28 +791,6 @@ let wasm_bindgen;
|
|
|
769
791
|
}
|
|
770
792
|
return ret[0];
|
|
771
793
|
}
|
|
772
|
-
/**
|
|
773
|
-
* `k-padded-v1` only: cleanup blocks more than `interleave_depth` blocks
|
|
774
|
-
* behind `current_sbn`. Refused under `iso-ssbg1-v1`, which has no SBN
|
|
775
|
-
* (use `cleanup_by_ss_start`).
|
|
776
|
-
*
|
|
777
|
-
* Blocks are ordered by RFC 1982 serial comparison of their first SS_ID
|
|
778
|
-
* (`sbn * K mod 2^32`, ISO/IEC 23008-1 C.5.2; BLO-35597 iso:5). For a
|
|
779
|
-
* stream that has not wrapped SS_ID that is exactly the old
|
|
780
|
-
* `sbn < current_sbn - interleave_depth`; after the wrap it still retires
|
|
781
|
-
* the pre-wrap blocks instead of keeping them forever.
|
|
782
|
-
* @param {number} current_sbn
|
|
783
|
-
* @returns {Uint32Array}
|
|
784
|
-
*/
|
|
785
|
-
cleanup_by_sbn(current_sbn) {
|
|
786
|
-
const ret = wasm.mmtfecdecoder_cleanup_by_sbn(this.__wbg_ptr, current_sbn);
|
|
787
|
-
if (ret[3]) {
|
|
788
|
-
throw takeFromExternrefTable0(ret[2]);
|
|
789
|
-
}
|
|
790
|
-
var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
|
|
791
|
-
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
792
|
-
return v1;
|
|
793
|
-
}
|
|
794
794
|
/**
|
|
795
795
|
* Get sub-blocks (N) parameter from OTI
|
|
796
796
|
* @returns {number}
|
|
@@ -822,11 +822,11 @@ let wasm_bindgen;
|
|
|
822
822
|
return ret[0];
|
|
823
823
|
}
|
|
824
824
|
/**
|
|
825
|
-
*
|
|
826
|
-
*
|
|
827
|
-
*
|
|
828
|
-
*
|
|
829
|
-
*
|
|
825
|
+
* Retire the held source symbols that no repair can place any more, by
|
|
826
|
+
* the same rule as `cleanup_by_ss_start`, without retiring any block. For
|
|
827
|
+
* a caller that retires blocks itself, by their deadlines
|
|
828
|
+
* (`cleanup_blocks_detailed`), and needs only this half. Returns how many
|
|
829
|
+
* it retired.
|
|
830
830
|
* @param {number} current
|
|
831
831
|
* @returns {number}
|
|
832
832
|
*/
|
|
@@ -880,11 +880,11 @@ let wasm_bindgen;
|
|
|
880
880
|
return ret[0];
|
|
881
881
|
}
|
|
882
882
|
/**
|
|
883
|
-
*
|
|
884
|
-
*
|
|
885
|
-
*
|
|
886
|
-
*
|
|
887
|
-
*
|
|
883
|
+
* Retire every block, and every held source symbol, lying more than
|
|
884
|
+
* `interleave_depth` blocks behind SS_ID `current`, the newest SS_ID the
|
|
885
|
+
* caller has seen (no block start or held source follows it). A block
|
|
886
|
+
* start or held source that `current` has moved at least half the SS_ID
|
|
887
|
+
* space past no longer precedes it and is retired too
|
|
888
888
|
* (`iso_past_horizon`).
|
|
889
889
|
*
|
|
890
890
|
* Blocks have no SBN under ssbg_mode1, so distance is measured on the
|
|
@@ -914,16 +914,16 @@ let wasm_bindgen;
|
|
|
914
914
|
return ret >>> 0;
|
|
915
915
|
}
|
|
916
916
|
/**
|
|
917
|
-
* Finalize only the source blocks whose host-owned deadlines fired
|
|
918
|
-
*
|
|
917
|
+
* Finalize only the source blocks whose host-owned deadlines fired,
|
|
918
|
+
* named by their SS_Starts.
|
|
919
919
|
*
|
|
920
920
|
* The JavaScript FEC manager owns per-block repair grace. A timeout for one
|
|
921
921
|
* block must therefore not run the decoder's global age scan and evict a
|
|
922
922
|
* peer block that is still waiting for fetched repair.
|
|
923
|
-
* @param {Uint32Array}
|
|
923
|
+
* @param {Uint32Array} ss_starts
|
|
924
924
|
*/
|
|
925
|
-
cleanup_blocks_detailed(
|
|
926
|
-
const ptr0 = passArray32ToWasm0(
|
|
925
|
+
cleanup_blocks_detailed(ss_starts) {
|
|
926
|
+
const ptr0 = passArray32ToWasm0(ss_starts, wasm.__wbindgen_malloc);
|
|
927
927
|
const len0 = WASM_VECTOR_LEN;
|
|
928
928
|
wasm.mmtfecdecoder_cleanup_blocks_detailed(this.__wbg_ptr, ptr0, len0);
|
|
929
929
|
}
|
|
@@ -932,15 +932,20 @@ let wasm_bindgen;
|
|
|
932
932
|
*
|
|
933
933
|
* # Arguments
|
|
934
934
|
* * `interleave_depth` - Explicit positive number of interleaved blocks.
|
|
935
|
-
* * `block_profile` - Catalog `fec.blockProfile`: `"
|
|
936
|
-
*
|
|
935
|
+
* * `block_profile` - Catalog `fec.blockProfile`: `"iso-ssbg1-v1"`.
|
|
936
|
+
* Required; any other value is refused.
|
|
937
|
+
* * `algorithm` - Catalog `fec.algorithm`: `"raptorq"` (the default when
|
|
938
|
+
* omitted) or `"reed-solomon"`; any other value is refused.
|
|
937
939
|
* @param {number} interleave_depth
|
|
938
940
|
* @param {string} block_profile
|
|
941
|
+
* @param {string | null} [algorithm]
|
|
939
942
|
*/
|
|
940
|
-
constructor(interleave_depth, block_profile) {
|
|
943
|
+
constructor(interleave_depth, block_profile, algorithm) {
|
|
941
944
|
const ptr0 = passStringToWasm0(block_profile, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
942
945
|
const len0 = WASM_VECTOR_LEN;
|
|
943
|
-
|
|
946
|
+
var ptr1 = isLikeNone(algorithm) ? 0 : passStringToWasm0(algorithm, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
947
|
+
var len1 = WASM_VECTOR_LEN;
|
|
948
|
+
const ret = wasm.mmtfecdecoder_new(interleave_depth, ptr0, len0, ptr1, len1);
|
|
944
949
|
if (ret[2]) {
|
|
945
950
|
throw takeFromExternrefTable0(ret[1]);
|
|
946
951
|
}
|
|
@@ -969,7 +974,8 @@ let wasm_bindgen;
|
|
|
969
974
|
* Configure FEC from 12-byte OTI
|
|
970
975
|
*
|
|
971
976
|
* # Arguments
|
|
972
|
-
* * `oti` - 12-byte
|
|
977
|
+
* * `oti` - 12-byte RFC 6330 Common FEC OTI: decoder geometry per
|
|
978
|
+
* draft-fec-01 Section 4.2 (Z = 1, N = 1, Al = 8)
|
|
973
979
|
* @param {Uint8Array} oti
|
|
974
980
|
*/
|
|
975
981
|
configure(oti) {
|
|
@@ -1014,21 +1020,16 @@ let wasm_bindgen;
|
|
|
1014
1020
|
* [SS_Start:4][RSB_length:3][RS_ID:3][SSB_length:3][repair symbol: T]
|
|
1015
1021
|
* ```
|
|
1016
1022
|
*
|
|
1017
|
-
* with, for
|
|
1018
|
-
*
|
|
1019
|
-
*
|
|
1023
|
+
* with, for an `iso-ssbg1-v1` block of K' ssbg_mode1 source symbols
|
|
1024
|
+
* (ISO/IEC 23008-1 C.3.3, C.5.2, C.5.3):
|
|
1025
|
+
* - `SS_Start = ` the block's first SS_ID (SS_IDs are consecutive, 32-bit)
|
|
1020
1026
|
* - `RSB_length = P` (repair count for this block)
|
|
1021
|
-
* - `RS_ID = i` (0-based repair index) ⇒ RaptorQ ESI = `K + i`
|
|
1022
|
-
* - `SSB_length
|
|
1023
|
-
*
|
|
1024
|
-
* OTI (Z=1, N=1, Al=8) is delivered out-of-band via the catalog / AL-FEC
|
|
1025
|
-
* signaling message — see [`MmtFecEncoder::oti`] — never per-packet.
|
|
1027
|
+
* - `RS_ID = i` (0-based repair index) ⇒ RaptorQ ESI = `K' + i`
|
|
1028
|
+
* - `SSB_length = K'` (`1..=K`; the configured K is only the maximum)
|
|
1026
1029
|
*
|
|
1027
|
-
*
|
|
1028
|
-
*
|
|
1029
|
-
*
|
|
1030
|
-
* block is K' symbols with no padding (F = K'*T), and RS_ID `i` is ESI
|
|
1031
|
-
* `K' + i`.
|
|
1030
|
+
* The RaptorQ block is K' symbols with no padding (F = K'*T). The configured
|
|
1031
|
+
* OTI (F = K*T, Z=1, N=1, Al=8) is delivered out-of-band via the catalog /
|
|
1032
|
+
* AL-FEC signaling message — see [`MmtFecEncoder::oti`] — never per-packet.
|
|
1032
1033
|
*/
|
|
1033
1034
|
class MmtFecEncoder {
|
|
1034
1035
|
__destroy_into_raw() {
|
|
@@ -1073,29 +1074,24 @@ let wasm_bindgen;
|
|
|
1073
1074
|
* `[SS_Start:4][RSB_length:3][RS_ID:3][SSB_length:3][symbol: T]`.
|
|
1074
1075
|
* Callers split on that stride; `entry i` is at `i * (13 + T)`.
|
|
1075
1076
|
*
|
|
1076
|
-
* `
|
|
1077
|
-
*
|
|
1078
|
-
*
|
|
1079
|
-
*
|
|
1080
|
-
*
|
|
1081
|
-
* `iso-ssbg1-v1`: `block` is the SS_Start (the block's first SS_ID) and
|
|
1082
|
-
* `source_block` is the block's K' ssbg_mode1 symbols (`1 <= K' <= K`,
|
|
1083
|
-
* `len % T == 0`, each a well-formed C.3.3 symbol). RaptorQ runs over K'
|
|
1084
|
-
* symbols (F = K'*T) and `SSB_length = K'`.
|
|
1077
|
+
* `ss_start` is the block's first SS_ID and `source_block` is the
|
|
1078
|
+
* block's K' ssbg_mode1 symbols (`1 <= K' <= K`, `len % T == 0`, each a
|
|
1079
|
+
* well-formed C.3.3 symbol). RaptorQ runs over K' symbols (F = K'*T) and
|
|
1080
|
+
* `SSB_length = K'`.
|
|
1085
1081
|
*
|
|
1086
1082
|
* # Arguments
|
|
1087
|
-
* * `
|
|
1083
|
+
* * `ss_start` - SS_Start: the block's first SS_ID.
|
|
1088
1084
|
* * `source_block` - The block's source symbols, as described above.
|
|
1089
1085
|
* * `repair_count` - Number of repair symbols (P) to generate.
|
|
1090
|
-
* @param {number}
|
|
1086
|
+
* @param {number} ss_start
|
|
1091
1087
|
* @param {Uint8Array} source_block
|
|
1092
1088
|
* @param {number} repair_count
|
|
1093
1089
|
* @returns {Uint8Array}
|
|
1094
1090
|
*/
|
|
1095
|
-
encode_repair(
|
|
1091
|
+
encode_repair(ss_start, source_block, repair_count) {
|
|
1096
1092
|
const ptr0 = passArray8ToWasm0(source_block, wasm.__wbindgen_malloc);
|
|
1097
1093
|
const len0 = WASM_VECTOR_LEN;
|
|
1098
|
-
const ret = wasm.mmtfecencoder_encode_repair(this.__wbg_ptr,
|
|
1094
|
+
const ret = wasm.mmtfecencoder_encode_repair(this.__wbg_ptr, ss_start, ptr0, len0, repair_count);
|
|
1099
1095
|
if (ret[3]) {
|
|
1100
1096
|
throw takeFromExternrefTable0(ret[2]);
|
|
1101
1097
|
}
|
|
@@ -1115,21 +1111,27 @@ let wasm_bindgen;
|
|
|
1115
1111
|
* Create an encoder for a fixed `(K, symbol_size)` block geometry.
|
|
1116
1112
|
*
|
|
1117
1113
|
* Builds the OTI as `ObjectTransmissionInformation::new(K*T, T, 1, 1, 8)`
|
|
1118
|
-
* (single source block, single sub-block, byte alignment) —
|
|
1119
|
-
*
|
|
1120
|
-
*
|
|
1114
|
+
* (single source block, single sub-block, byte alignment) — the geometry
|
|
1115
|
+
* [`MmtFecDecoder::configure`] reads back. K is the maximum SSB_length;
|
|
1116
|
+
* each block is encoded over its own K' symbols (see
|
|
1117
|
+
* [`MmtFecEncoder::encode_repair`]).
|
|
1118
|
+
*
|
|
1119
|
+
* `block_profile` is the catalog `fec.blockProfile` (`"iso-ssbg1-v1"`);
|
|
1120
|
+
* any other value is refused.
|
|
1121
1121
|
*
|
|
1122
|
-
* `
|
|
1123
|
-
* `"
|
|
1124
|
-
* is the maximum SSB_length.
|
|
1122
|
+
* `algorithm` is the catalog `fec.algorithm`: `"raptorq"` (the default
|
|
1123
|
+
* when omitted) or `"reed-solomon"` (K + P <= 255 per block).
|
|
1125
1124
|
* @param {number} k
|
|
1126
1125
|
* @param {number} symbol_size
|
|
1127
1126
|
* @param {string} block_profile
|
|
1127
|
+
* @param {string | null} [algorithm]
|
|
1128
1128
|
*/
|
|
1129
|
-
constructor(k, symbol_size, block_profile) {
|
|
1129
|
+
constructor(k, symbol_size, block_profile, algorithm) {
|
|
1130
1130
|
const ptr0 = passStringToWasm0(block_profile, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1131
1131
|
const len0 = WASM_VECTOR_LEN;
|
|
1132
|
-
|
|
1132
|
+
var ptr1 = isLikeNone(algorithm) ? 0 : passStringToWasm0(algorithm, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
1133
|
+
var len1 = WASM_VECTOR_LEN;
|
|
1134
|
+
const ret = wasm.mmtfecencoder_new(k, symbol_size, ptr0, len0, ptr1, len1);
|
|
1133
1135
|
if (ret[2]) {
|
|
1134
1136
|
throw takeFromExternrefTable0(ret[1]);
|
|
1135
1137
|
}
|
|
@@ -1142,7 +1144,8 @@ let wasm_bindgen;
|
|
|
1142
1144
|
*
|
|
1143
1145
|
* Publishers (BLO-8975 / BLO-8990 catalog-gen) emit this so the player's
|
|
1144
1146
|
* [`MmtFecDecoder::configure`] reconstructs identical block geometry. The
|
|
1145
|
-
* bytes round-trip exactly through `OtiParams::from_bytes`.
|
|
1147
|
+
* bytes round-trip exactly through `OtiParams::from_bytes`. Empty under
|
|
1148
|
+
* `reed-solomon`, which has no OTI.
|
|
1146
1149
|
* @returns {Uint8Array}
|
|
1147
1150
|
*/
|
|
1148
1151
|
oti() {
|
|
@@ -1151,6 +1154,22 @@ let wasm_bindgen;
|
|
|
1151
1154
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
1152
1155
|
return v1;
|
|
1153
1156
|
}
|
|
1157
|
+
/**
|
|
1158
|
+
* The `fec.algorithm` token this encoder was built for.
|
|
1159
|
+
* @returns {string}
|
|
1160
|
+
*/
|
|
1161
|
+
get algorithm() {
|
|
1162
|
+
let deferred1_0;
|
|
1163
|
+
let deferred1_1;
|
|
1164
|
+
try {
|
|
1165
|
+
const ret = wasm.mmtfecencoder_algorithm(this.__wbg_ptr);
|
|
1166
|
+
deferred1_0 = ret[0];
|
|
1167
|
+
deferred1_1 = ret[1];
|
|
1168
|
+
return getStringFromWasm0(ret[0], ret[1]);
|
|
1169
|
+
} finally {
|
|
1170
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1154
1173
|
}
|
|
1155
1174
|
if (Symbol.dispose) MmtFecEncoder.prototype[Symbol.dispose] = MmtFecEncoder.prototype.free;
|
|
1156
1175
|
__exports.MmtFecEncoder = MmtFecEncoder;
|
|
@@ -2300,14 +2319,14 @@ let wasm_bindgen;
|
|
|
2300
2319
|
* @returns {bigint}
|
|
2301
2320
|
*/
|
|
2302
2321
|
get ambiguous_fallback_fragments() {
|
|
2303
|
-
const ret = wasm.
|
|
2322
|
+
const ret = wasm.__wbg_get_fecstats_unplaced_evicted(this.__wbg_ptr);
|
|
2304
2323
|
return BigInt.asUintN(64, ret);
|
|
2305
2324
|
}
|
|
2306
2325
|
/**
|
|
2307
2326
|
* @param {bigint} arg0
|
|
2308
2327
|
*/
|
|
2309
2328
|
set ambiguous_fallback_fragments(arg0) {
|
|
2310
|
-
wasm.
|
|
2329
|
+
wasm.__wbg_set_fecstats_unplaced_evicted(this.__wbg_ptr, arg0);
|
|
2311
2330
|
}
|
|
2312
2331
|
}
|
|
2313
2332
|
if (Symbol.dispose) ReassemblerStatsJs.prototype[Symbol.dispose] = ReassemblerStatsJs.prototype.free;
|
|
Binary file
|
|
@@ -10,7 +10,7 @@ export const __wbg_get_fecstats_blocks_recovered: (a: number) => bigint;
|
|
|
10
10
|
export const __wbg_get_fecstats_bytes_recovered: (a: number) => bigint;
|
|
11
11
|
export const __wbg_get_fecstats_repair_packets: (a: number) => bigint;
|
|
12
12
|
export const __wbg_get_fecstats_source_packets: (a: number) => bigint;
|
|
13
|
-
export const
|
|
13
|
+
export const __wbg_get_fecstats_unplaced_evicted: (a: number) => bigint;
|
|
14
14
|
export const __wbg_mfufragmentjs_free: (a: number, b: number) => void;
|
|
15
15
|
export const __wbg_mmtfecdecoder_free: (a: number, b: number) => void;
|
|
16
16
|
export const __wbg_mmtfecencoder_free: (a: number, b: number) => void;
|
|
@@ -23,9 +23,7 @@ export const __wbg_moqfecdecoder_free: (a: number, b: number) => void;
|
|
|
23
23
|
export const __wbg_moqfecencoder_free: (a: number, b: number) => void;
|
|
24
24
|
export const __wbg_moqfecstatsjs_free: (a: number, b: number) => void;
|
|
25
25
|
export const __wbg_reassembledmfujs_free: (a: number, b: number) => void;
|
|
26
|
-
export const __wbg_reassemblerstatsjs_free: (a: number, b: number) => void;
|
|
27
26
|
export const __wbg_recoveredset_free: (a: number, b: number) => void;
|
|
28
|
-
export const __wbg_samplecombinerstatsjs_free: (a: number, b: number) => void;
|
|
29
27
|
export const __wbg_set_fecstats_blocks_complete: (a: number, b: bigint) => void;
|
|
30
28
|
export const __wbg_set_fecstats_blocks_delivery_failed: (a: number, b: bigint) => void;
|
|
31
29
|
export const __wbg_set_fecstats_blocks_failed: (a: number, b: bigint) => void;
|
|
@@ -33,7 +31,7 @@ export const __wbg_set_fecstats_blocks_recovered: (a: number, b: bigint) => void
|
|
|
33
31
|
export const __wbg_set_fecstats_bytes_recovered: (a: number, b: bigint) => void;
|
|
34
32
|
export const __wbg_set_fecstats_repair_packets: (a: number, b: bigint) => void;
|
|
35
33
|
export const __wbg_set_fecstats_source_packets: (a: number, b: bigint) => void;
|
|
36
|
-
export const
|
|
34
|
+
export const __wbg_set_fecstats_unplaced_evicted: (a: number, b: bigint) => void;
|
|
37
35
|
export const __wbg_shredfecbuffer_free: (a: number, b: number) => void;
|
|
38
36
|
export const __wbg_shredreassembler_free: (a: number, b: number) => void;
|
|
39
37
|
export const annexb_access_unit_is_keyframe: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
@@ -64,11 +62,11 @@ export const mfufragmentjs_with_sample_identity: (a: number, b: number, c: numbe
|
|
|
64
62
|
export const mmtfecdecoder_add_repair: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
65
63
|
export const mmtfecdecoder_add_source: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
66
64
|
export const mmtfecdecoder_cleanup_blocks_detailed: (a: number, b: number, c: number) => void;
|
|
67
|
-
export const mmtfecdecoder_cleanup_by_sbn: (a: number, b: number) => [number, number, number, number];
|
|
68
65
|
export const mmtfecdecoder_cleanup_by_ss_start: (a: number, b: number) => [number, number, number, number];
|
|
69
66
|
export const mmtfecdecoder_configure: (a: number, b: number, c: number) => [number, number];
|
|
70
67
|
export const mmtfecdecoder_configure_params: (a: number, b: number, c: number) => [number, number];
|
|
71
68
|
export const mmtfecdecoder_flush: (a: number) => void;
|
|
69
|
+
export const mmtfecdecoder_get_algorithm: (a: number) => [number, number];
|
|
72
70
|
export const mmtfecdecoder_get_alignment: (a: number) => [number, number, number];
|
|
73
71
|
export const mmtfecdecoder_get_block_profile: (a: number) => [number, number];
|
|
74
72
|
export const mmtfecdecoder_get_interleave_depth: (a: number) => number;
|
|
@@ -77,14 +75,15 @@ export const mmtfecdecoder_get_source_blocks: (a: number) => [number, number, nu
|
|
|
77
75
|
export const mmtfecdecoder_get_stats: (a: number) => number;
|
|
78
76
|
export const mmtfecdecoder_get_sub_blocks: (a: number) => [number, number, number];
|
|
79
77
|
export const mmtfecdecoder_get_symbol_size: (a: number) => [number, number, number];
|
|
80
|
-
export const mmtfecdecoder_new: (a: number, b: number, c: number) => [number, number, number];
|
|
78
|
+
export const mmtfecdecoder_new: (a: number, b: number, c: number, d: number, e: number) => [number, number, number];
|
|
81
79
|
export const mmtfecdecoder_pending_blocks: (a: number) => number;
|
|
82
80
|
export const mmtfecdecoder_reset_stats: (a: number) => void;
|
|
83
81
|
export const mmtfecdecoder_retire_unplaced: (a: number, b: number) => [number, number, number];
|
|
82
|
+
export const mmtfecencoder_algorithm: (a: number) => [number, number];
|
|
84
83
|
export const mmtfecencoder_block_profile: (a: number) => [number, number];
|
|
85
84
|
export const mmtfecencoder_encode_repair: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
86
85
|
export const mmtfecencoder_k: (a: number) => number;
|
|
87
|
-
export const mmtfecencoder_new: (a: number, b: number, c: number, d: number) => [number, number, number];
|
|
86
|
+
export const mmtfecencoder_new: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number];
|
|
88
87
|
export const mmtfecencoder_oti: (a: number) => [number, number];
|
|
89
88
|
export const mmtfecencoder_symbol_size: (a: number) => number;
|
|
90
89
|
export const mmtpacketizer_build_mfu: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
@@ -177,6 +176,7 @@ export const moqfecstatsjs_blocksComplete: (a: number) => number;
|
|
|
177
176
|
export const moqfecstatsjs_blocksIncomplete: (a: number) => number;
|
|
178
177
|
export const moqfecstatsjs_totalSymbolsReceived: (a: number) => number;
|
|
179
178
|
export const shredreassembler_pending_fec_sets: (a: number) => number;
|
|
179
|
+
export const __wbg_get_reassemblerstatsjs_ambiguous_fallback_fragments: (a: number) => bigint;
|
|
180
180
|
export const __wbg_get_reassemblerstatsjs_duplicate_fragments: (a: number) => bigint;
|
|
181
181
|
export const __wbg_get_reassemblerstatsjs_evicted_data_units: (a: number) => bigint;
|
|
182
182
|
export const __wbg_get_reassemblerstatsjs_evicted_memory_limit: (a: number) => bigint;
|
|
@@ -188,6 +188,9 @@ export const __wbg_get_samplecombinerstatsjs_combined_samples: (a: number) => bi
|
|
|
188
188
|
export const __wbg_get_samplecombinerstatsjs_evicted_samples: (a: number) => bigint;
|
|
189
189
|
export const __wbg_get_samplecombinerstatsjs_passthrough_samples: (a: number) => bigint;
|
|
190
190
|
export const __wbg_get_samplecombinerstatsjs_timed_out_samples: (a: number) => bigint;
|
|
191
|
+
export const __wbg_reassemblerstatsjs_free: (a: number, b: number) => void;
|
|
192
|
+
export const __wbg_samplecombinerstatsjs_free: (a: number, b: number) => void;
|
|
193
|
+
export const __wbg_set_reassemblerstatsjs_ambiguous_fallback_fragments: (a: number, b: bigint) => void;
|
|
191
194
|
export const __wbg_set_reassemblerstatsjs_duplicate_fragments: (a: number, b: bigint) => void;
|
|
192
195
|
export const __wbg_set_reassemblerstatsjs_evicted_data_units: (a: number, b: bigint) => void;
|
|
193
196
|
export const __wbg_set_reassemblerstatsjs_evicted_memory_limit: (a: number, b: bigint) => void;
|