ref: ec6e42ba3d82ffaca24c2debd010111a60628408
parent: c708e68bc69fbe65f3d2e2afd204b1caa12bb677
author: Jean-Marc Valin <jmvalin@amazon.com>
date: Wed May 31 11:57:37 EDT 2023
misc fixes
--- a/dnn/lpcnet_demo.c
+++ b/dnn/lpcnet_demo.c
@@ -225,6 +225,9 @@
LPCNetPLCState *net;
if ((plc_flags&0x3) == LPCNET_PLC_NONCAUSAL) skip=extra=80;
net = lpcnet_plc_create(plc_flags);
+#ifdef USE_WEIGHTS_FILE
+ lpcnet_plc_load_model(net, data, len);
+#endif
while (1) {
size_t ret;
ret = fread(pcm, sizeof(pcm[0]), FRAME_SIZE, fin);
@@ -260,6 +263,7 @@
}
fclose(fin);
fclose(fout);
+ if (plc_file) fclose(plc_file);
#ifdef USE_WEIGHTS_FILE
free_blob(data, len);
#endif
--- a/dnn/lpcnet_plc.c
+++ b/dnn/lpcnet_plc.c
@@ -83,7 +83,9 @@
parse_weights(&list, data, len);
ret = init_plc_model(&st->model, list);
free(list);
- if (ret == 0) return 0;
+ if (ret == 0) {
+ return lpcnet_load_model(&st->lpcnet, data, len);
+ }
else return -1;
}
--- a/dnn/parse_lpcnet_weights.c
+++ b/dnn/parse_lpcnet_weights.c
@@ -66,6 +66,10 @@
*list = realloc(*list, capacity*sizeof(WeightArray));
}
(*list)[nb_arrays++] = array;
+ } else {
+ free(*list);
+ *list = NULL;
+ return -1;
}
}
(*list)[nb_arrays].name=NULL;
--
⑨